diff --git a/.gitignore b/.gitignore index ddc618f..8ae8fec 100644 --- a/.gitignore +++ b/.gitignore @@ -3,8 +3,16 @@ target/ # Generated Rust code from JSON schema rust/src/ditto/schema.rs +# Swift build artifacts and dependencies +swift/.build/ +swift/Package.resolved + +# Generated Swift code from JSON schema +swift/Sources/DittoCoTCore/Generated/ + .env rust/.env java/.env +swift/.env diff --git a/CLAUDE.md b/CLAUDE.md index 1780fd8..439bf03 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -55,6 +55,14 @@ Multi-language libraries (starting from a single managed JSON Schema) for transl - Follow C# and .NET coding conventions and idioms +### Swift/SwiftUI Specific + +- Follow Swift API Design Guidelines +- Use protocol-oriented design patterns +- Prefer value types where appropriate +- Use modern concurrency (async/await) patterns +- Follow SwiftUI best practices for state management + ### Documentation - Do not create documentation files unless explicitly requested @@ -78,6 +86,61 @@ https://docs.ditto.live For Rust SDK: https://software.ditto.live/rust/Ditto/4.11.0/x86_64-unknown-linux-gnu/docs/dittolive_ditto/index.html For Java SDK: https://software.ditto.live/java/ditto-java/4.11.0-preview.1/api-reference/ For C# SDK: https://software.ditto.live/dotnet/Ditto/4.11.0/api-reference/ +For Swift SDK: https://software.ditto.live/swift/Ditto/4.11.0/index.html + +## Swift/SwiftUI Integration Plan + +The Swift implementation for Ditto CoT library follows a 7-phase approach: + +### Phase 1: Foundation & Schema Integration (2-3 weeks) +- Swift Package Manager setup with proper module structure +- Schema code generation (JSON Schema โ†’ Swift Codable types) +- Build integration with existing Makefile system +- CI/CD pipeline extension for Swift builds and tests + +### Phase 2: Core CoT Event Handling (3-4 weeks) +- CoTEvent model with builder pattern (similar to Rust implementation) +- XML parsing/serialization using XMLCoder or custom parser +- Event validation against XSD schema +- Type-safe event builders for each CoT event type + +### Phase 3: Ditto SDK Integration (2-3 weeks) +- Document conversion following established CRDT optimization patterns +- Observer integration with Combine framework +- Async/await support for modern Swift concurrency +- R-field reconstruction handling + +### Phase 4: SwiftUI Integration Layer (2-3 weeks) +- ObservableObject wrappers for CoT event streams +- View models for common CoT event display patterns +- Data binding utilities for real-time updates +- SwiftUI-specific convenience APIs + +### Phase 5: Testing Infrastructure (3-4 weeks) +- Unit tests using XCTest framework +- Integration tests with mock Ditto instances +- Cross-language validation tests against Java/Rust implementations +- SwiftUI UI tests for interface components +- Performance benchmarks using XCTMetric + +### Phase 6: Documentation & Examples (1-2 weeks) +- Swift-specific documentation following existing patterns +- Example iOS/macOS app demonstrating full integration +- Migration guides from other Ditto SDK patterns +- API reference generation using Swift-DocC + +### Phase 7: Advanced Features & Optimization (2-3 weeks) +- CRDT optimization refinements for Swift-specific patterns +- Memory management optimization for iOS constraints +- Background processing support for iOS/macOS apps +- SwiftUI performance optimizations for large event lists + +### Implementation Principles +- Protocol-oriented design following Swift best practices +- Value types where appropriate for thread safety +- Reference types for stateful components (stores, converters) +- Modern concurrency with async/await and actors where beneficial +- Platform-specific considerations for iOS/macOS/watchOS/tvOS ### When in Doubt, Ask First diff --git a/Makefile b/Makefile index f60e1f8..5093956 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # Build all languages .PHONY: all -all: rust java csharp +all: rust java csharp swift # Rust targets .PHONY: rust @@ -75,9 +75,34 @@ clean-csharp: echo "C# build files not found. Skipping."; \ fi +# Swift targets +.PHONY: swift +swift: + @echo "Generating Swift types from schema..." + @if [ -f "swift/Package.swift" ]; then \ + cd swift && \ + swift build --product ditto-cot-codegen && \ + .build/debug/ditto-cot-codegen --schema-path ../schema --output-path Sources/DittoCoTCore/Generated; \ + echo "Building Swift library..."; \ + swift build; \ + echo "Building macOS example app..."; \ + ./build_macos_app.sh; \ + else \ + echo "Swift Package.swift not found. Skipping."; \ + fi + +.PHONY: clean-swift +clean-swift: + @echo "Cleaning Swift library..." + @if [ -f "swift/Package.swift" ]; then \ + cd swift && swift package clean && rm -rf Sources/DittoCoTCore/Generated/*.swift; \ + else \ + echo "Swift Package.swift not found. Skipping."; \ + fi + # Test targets .PHONY: test -test: test-rust test-java test-csharp +test: test-rust test-java test-csharp test-swift .PHONY: test-cross-lang test-cross-lang: java-test-client @@ -107,9 +132,18 @@ test-csharp: echo "C# build files not found. Skipping tests."; \ fi +.PHONY: test-swift +test-swift: + @echo "Testing Swift library..." + @if [ -f "swift/Package.swift" ]; then \ + cd swift && swift test; \ + else \ + echo "Swift Package.swift not found. Skipping tests."; \ + fi + # Clean all .PHONY: clean -clean: clean-rust clean-java clean-csharp +clean: clean-rust clean-java clean-csharp clean-swift @echo "All libraries cleaned." # Example targets @@ -123,6 +157,35 @@ example-java: @echo "Running Java example..." @cd java && ./gradlew :example:runIntegrationClient +.PHONY: example-swift +example-swift: + @echo "Running Swift GUI example..." + @if [ -f "swift/Package.swift" ]; then \ + cd swift && swift run CoTExampleApp & \ + echo "App started in background. GUI should appear shortly."; \ + echo "To stop: pkill -f CoTExampleApp"; \ + else \ + echo "Swift Package.swift not found. Skipping."; \ + fi + +.PHONY: build-macos-app +build-macos-app: + @echo "Building macOS CoTExampleApp.app bundle..." + @if [ -f "swift/Package.swift" ]; then \ + cd swift && ./build_macos_app.sh; \ + else \ + echo "Swift Package.swift not found. Skipping."; \ + fi + +.PHONY: launch-macos-app +launch-macos-app: + @echo "Building and launching macOS CoTExampleApp.app..." + @if [ -f "swift/Package.swift" ]; then \ + cd swift && ./build_macos_app.sh --launch; \ + else \ + echo "Swift Package.swift not found. Skipping."; \ + fi + # Integration test target .PHONY: test-integration test-integration: example-rust example-java @@ -139,17 +202,23 @@ help: @echo " rust - Build Rust library" @echo " java - Build Java library" @echo " csharp - Build C# library" + @echo " swift - Build Swift library" @echo " test - Run tests for all libraries" @echo " test-rust - Run tests for Rust library" @echo " test-java - Run tests for Java library" @echo " test-csharp - Run tests for C# library" + @echo " test-swift - Run tests for Swift library" @echo " test-cross-lang - Run cross-language multi-peer test" - @echo " example-rust - Run Rust example client" - @echo " example-java - Run Java example client" + @echo " example-rust - Run Rust example client" + @echo " example-java - Run Java example client" + @echo " example-swift - Run Swift GUI example app (terminal)" + @echo " build-macos-app - Build proper macOS app bundle" + @echo " launch-macos-app - Build and launch macOS app bundle" @echo " test-integration - Run cross-language integration test" @echo " clean - Clean all libraries" @echo " clean-rust - Clean Rust library" @echo " clean-java - Clean Java library" @echo " clean-csharp - Clean C# library" + @echo " clean-swift - Clean Swift library" @echo " java-test-client - Build Java test client for cross-language tests" @echo " help - Show this help message" diff --git a/README.md b/README.md index 0c08257..149507c 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,11 @@ ditto_cot = { git = "https://github.com/getditto-shared/ditto_cot" } ``` +**Swift**: +```swift +.package(url: "https://github.com/getditto-shared/ditto_cot", from: "1.0.0") +``` + **C#** (planned): ```xml @@ -54,6 +59,26 @@ CotEvent event = CotEvent.builder() DittoDocument doc = event.toDittoDocument(); ``` +**Swift**: +```swift +import DittoCoT + +let event = ApiDocument( + _id: "USER-123", + _c: 1, + _r: false, + a: "peer-123", + b: Date().timeIntervalSince1970 * 1000, + d: "USER-123", + e: "ALPHA-1", + contentType: "application/json", + data: "sample-data", + // ... other required fields +) + +let unionDoc = DittoCoTDocument.api(event) +``` + ## ๐Ÿ“ Repository Structure ``` @@ -65,7 +90,8 @@ ditto_cot/ โ”‚ โ””โ”€โ”€ reference/ # API reference, schemas โ”œโ”€โ”€ schema/ # Shared schema definitions โ”œโ”€โ”€ rust/ # Rust implementation -โ”œโ”€โ”€ java/ # Java implementation +โ”œโ”€โ”€ java/ # Java implementation +โ”œโ”€โ”€ swift/ # Swift implementation โ””โ”€โ”€ csharp/ # C# implementation (planned) ``` @@ -73,7 +99,7 @@ ditto_cot/ - **๐Ÿ”„ 100% Data Preservation**: All duplicate CoT XML elements maintained vs 46% in legacy systems - **โšก CRDT-Optimized**: 70% bandwidth savings through differential field sync -- **๐ŸŒ Cross-Language**: Identical behavior across Java, Rust, and C# +- **๐ŸŒ Cross-Language**: Identical behavior across Rust, Java, Swift, and C# - **๐Ÿ›ก๏ธ Type-Safe**: Schema-driven development with strong typing - **๐Ÿ“ฑ SDK Integration**: Observer document conversion with r-field reconstruction - **๐Ÿ”ง Builder Patterns**: Ergonomic APIs for creating CoT events @@ -97,6 +123,7 @@ For detailed information, see our comprehensive documentation: - **[Ditto SDK Integration](docs/integration/ditto-sdk.md)** - Observer patterns and DQL - **[Rust Examples](docs/integration/examples/rust.md)** - Rust-specific patterns - **[Java Examples](docs/integration/examples/java.md)** - Java-specific patterns +- **[Swift Examples](docs/integration/examples/swift.md)** - Swift/SwiftUI patterns - **[Migration Guide](docs/integration/migration.md)** - Version upgrades and legacy system migration ### ๐Ÿ“– Reference @@ -107,6 +134,7 @@ For detailed information, see our comprehensive documentation: ### ๐ŸŽฏ Language-Specific READMEs - **[Rust Implementation](rust/README.md)** - Rust-specific APIs and patterns - **[Java Implementation](java/README.md)** - Java-specific APIs and patterns +- **[Swift Implementation](swift/README.md)** - Swift/SwiftUI APIs and patterns ## ๐Ÿš€ Quick Start diff --git a/java/ditto_cot/src/test/java/com/ditto/cot/fuzz/CoTFuzzTest.java b/java/ditto_cot/src/test/java/com/ditto/cot/fuzz/CoTFuzzTest.java index b7046a3..6a188e4 100644 --- a/java/ditto_cot/src/test/java/com/ditto/cot/fuzz/CoTFuzzTest.java +++ b/java/ditto_cot/src/test/java/com/ditto/cot/fuzz/CoTFuzzTest.java @@ -28,7 +28,6 @@ void setUp() throws JAXBException { } @Property - @Report(Reporting.GENERATED) void fuzzValidCoTXmlShouldAlwaysParse( @ForAll @AlphaChars @StringLength(min = 1, max = 50) String uid, @ForAll @From("validCoTTypes") String type, @@ -49,7 +48,6 @@ void fuzzValidCoTXmlShouldAlwaysParse( } @Property - @Report(Reporting.GENERATED) void fuzzCoordinateEdgeCases( @ForAll @AlphaChars @StringLength(min = 1, max = 20) String uid, @ForAll @DoubleRange(min = -1000.0, max = 1000.0) double lat, @@ -82,7 +80,6 @@ void fuzzSpecialDoubleValues( } @Property - @Report(Reporting.GENERATED) void fuzzLargeStrings( @ForAll @StringLength(min = 1000, max = 10000) String largeString ) { diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..db6da9d --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "ditto_cot", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/package.json @@ -0,0 +1 @@ +{} diff --git a/rust/examples/sdk_document_conversion.rs b/rust/examples/sdk_document_conversion.rs index 4d6f57e..d8d1386 100644 --- a/rust/examples/sdk_document_conversion.rs +++ b/rust/examples/sdk_document_conversion.rs @@ -3,33 +3,34 @@ //! This example shows how to use the new observer document conversion utilities to extract //! full document content with proper r-field reconstruction in observer callbacks. -use ditto_cot::ditto::{observer_json_to_cot_document, observer_json_to_json_with_r_fields, CotDocument}; use ditto_cot::cot_events::CotEvent; use ditto_cot::ditto::cot_to_document; -use dittolive_ditto::prelude::*; +use ditto_cot::ditto::{ + observer_json_to_cot_document, observer_json_to_json_with_r_fields, CotDocument, +}; use dittolive_ditto::fs::PersistentRoot; -use std::sync::Arc; +use dittolive_ditto::prelude::*; use std::env; +use std::sync::Arc; use tokio::time::{sleep, Duration}; #[tokio::main] async fn main() -> anyhow::Result<()> { println!("๐Ÿš€ SDK Document Conversion Example"); - + // Load environment variables for Ditto credentials dotenv::dotenv().ok(); - + // Get Ditto credentials from environment - let app_id = AppId::from_env("DITTO_APP_ID") - .unwrap_or_else(|_| AppId::generate()); // Use generated ID if env not set - let playground_token = env::var("DITTO_PLAYGROUND_TOKEN") - .unwrap_or_else(|_| "demo-token".to_string()); // Use demo token if env not set - + let app_id = AppId::from_env("DITTO_APP_ID").unwrap_or_else(|_| AppId::generate()); // Use generated ID if env not set + let playground_token = + env::var("DITTO_PLAYGROUND_TOKEN").unwrap_or_else(|_| "demo-token".to_string()); // Use demo token if env not set + // Initialize Ditto with proper setup let temp_dir = tempfile::tempdir()?; let ditto_path = temp_dir.path().join("ditto_data"); let root = Arc::new(PersistentRoot::new(ditto_path)?); - + let ditto = Ditto::builder() .with_root(root.clone()) .with_minimum_log_level(LogLevel::Warning) @@ -38,7 +39,7 @@ async fn main() -> anyhow::Result<()> { ditto_root, app_id.clone(), playground_token, - false, // Use peer-to-peer sync for local example + false, // Use peer-to-peer sync for local example None::<&str>, // No custom auth URL ) })? @@ -49,80 +50,89 @@ async fn main() -> anyhow::Result<()> { // Set up an observer that demonstrates the new conversion utilities let _observer = store.register_observer_v2("SELECT * FROM map_items", move |result| { println!("๐Ÿ“„ Observer received {} documents", result.item_count()); - + for observer_doc in result.iter() { // Get JSON string from the document let json_str = observer_doc.json_string(); - + // Demonstrate document ID extraction if let Some(id) = ditto_cot::ditto::get_document_id_from_json(&json_str) { println!(" ๐Ÿ“‹ Document ID: {}", id); } - + // Demonstrate document type extraction if let Some(doc_type) = ditto_cot::ditto::get_document_type_from_json(&json_str) { println!(" ๐Ÿท๏ธ Document type: {}", doc_type); } - + // Convert observer document JSON to JSON with r-field reconstruction match observer_json_to_json_with_r_fields(&json_str) { Ok(json_value) => { println!(" ๐Ÿ“‹ Full JSON representation (with reconstructed r-field):"); - println!(" {}", serde_json::to_string_pretty(&json_value).unwrap_or_default()); + println!( + " {}", + serde_json::to_string_pretty(&json_value).unwrap_or_default() + ); } Err(e) => { println!(" โŒ Failed to convert to JSON: {}", e); } } - + // Convert observer document JSON to CotDocument match observer_json_to_cot_document(&json_str) { Ok(cot_doc) => { println!(" ๐ŸŽฏ Successfully converted to CotDocument:"); match &cot_doc { CotDocument::MapItem(item) => { - println!(" MapItem - ID: {}, Lat: {:?}, Lon: {:?}", - item.id, item.j, item.l); + println!( + " MapItem - ID: {}, Lat: {:?}, Lon: {:?}", + item.id, item.j, item.l + ); } CotDocument::Chat(chat) => { - println!(" Chat - Message: {:?}, Author: {:?}", - chat.message, chat.author_callsign); + println!( + " Chat - Message: {:?}, Author: {:?}", + chat.message, chat.author_callsign + ); } CotDocument::File(file) => { - println!(" File - Name: {:?}, MIME: {:?}", - file.file, file.mime); + println!(" File - Name: {:?}, MIME: {:?}", file.file, file.mime); } CotDocument::Api(api) => { println!(" API - Content Type: {:?}", api.content_type); } CotDocument::Generic(generic) => { - println!(" Generic - ID: {}, Type: {}", - generic.id, generic.w); + println!(" Generic - ID: {}, Type: {}", generic.id, generic.w); } } - + // Demonstrate round-trip conversion: CotDocument -> CotEvent let cot_event = cot_doc.to_cot_event(); - println!(" ๐Ÿ”„ Round-trip to CotEvent - UID: {}, Type: {}", - cot_event.uid, cot_event.event_type); + println!( + " ๐Ÿ”„ Round-trip to CotEvent - UID: {}, Type: {}", + cot_event.uid, cot_event.event_type + ); } Err(e) => { println!(" โŒ Failed to convert to CotDocument: {}", e); } } - + println!(); // Add spacing between documents } })?; // Set up a subscription for sync - let _subscription = ditto.sync().register_subscription_v2("SELECT * FROM map_items")?; + let _subscription = ditto + .sync() + .register_subscription_v2("SELECT * FROM map_items")?; println!("๐Ÿ”— Setting up observer and subscription..."); - + // Create some test documents to demonstrate the conversion println!("๐Ÿ“ Creating test documents..."); - + // Create a sample CoT XML for a location update let location_xml = r#" @@ -136,7 +146,7 @@ async fn main() -> anyhow::Result<()> { // Convert XML to CotEvent and then to CotDocument if let Ok(cot_event) = CotEvent::from_xml(location_xml) { let cot_doc = cot_to_document(&cot_event, "example-peer"); - + // Insert into Ditto store using the correct execute_v2 pattern if let Ok(flattened) = serde_json::to_value(&cot_doc) { let query = "INSERT INTO map_items DOCUMENTS (:doc) ON ID CONFLICT DO MERGE"; @@ -153,4 +163,4 @@ async fn main() -> anyhow::Result<()> { println!("๐Ÿ Example completed"); Ok(()) -} \ No newline at end of file +} diff --git a/rust/src/cot_events.rs b/rust/src/cot_events.rs index e0436aa..5f59e0f 100644 --- a/rust/src/cot_events.rs +++ b/rust/src/cot_events.rs @@ -508,7 +508,7 @@ impl CotEvent { how: "h-g-i-g-o".to_string(), point: Point::default(), detail: format!( - "chat from={} room={} roomId={} msg={}", + "", sender_callsign, chatroom, chat_group_uid, message ), } @@ -782,7 +782,7 @@ mod tests { assert_eq!(event.point.hae, 0.0); assert_eq!( event.detail, - "chat from=ALPHA-1 room=All Chat Rooms roomId=All Chat Rooms msg=Test message" + "" ); } diff --git a/rust/src/ditto/mod.rs b/rust/src/ditto/mod.rs index 4d45e26..3a5f83c 100644 --- a/rust/src/ditto/mod.rs +++ b/rust/src/ditto/mod.rs @@ -9,8 +9,8 @@ pub mod from_ditto_util; pub mod r_field_flattening; #[rustfmt::skip] pub mod schema; -pub mod to_ditto; pub mod sdk_conversion; +pub mod to_ditto; // Re-export the main types and functions from to_ditto pub use to_ditto::{ @@ -27,7 +27,7 @@ pub use schema::*; // Re-export observer document conversion utilities pub use sdk_conversion::{ - observer_json_to_cot_document, observer_json_to_json_with_r_fields, - get_document_id_from_value, get_document_id_from_json, - get_document_type_from_value, get_document_type_from_json + get_document_id_from_json, get_document_id_from_value, get_document_type_from_json, + get_document_type_from_value, observer_json_to_cot_document, + observer_json_to_json_with_r_fields, }; diff --git a/rust/src/ditto/sdk_conversion.rs b/rust/src/ditto/sdk_conversion.rs index 19629a7..0cdcea5 100644 --- a/rust/src/ditto/sdk_conversion.rs +++ b/rust/src/ditto/sdk_conversion.rs @@ -7,7 +7,7 @@ use anyhow::Result; use serde_json::Value; use std::collections::HashMap; -use crate::ditto::{CotDocument, r_field_flattening::unflatten_document_r_field}; +use crate::ditto::{r_field_flattening::unflatten_document_r_field, CotDocument}; /// Convert observer document JSON to a typed CotDocument /// @@ -24,7 +24,7 @@ use crate::ditto::{CotDocument, r_field_flattening::unflatten_document_r_field}; /// # Example /// ```no_run /// use ditto_cot::ditto::{observer_json_to_cot_document, CotDocument}; -/// +/// /// // Example with JSON string from observer /// let json_str = r#"{"_id": "test", "w": "a-u-r-loc-g", "j": 37.7749, "l": -122.4194}"#; /// match observer_json_to_cot_document(json_str) { @@ -50,7 +50,7 @@ pub fn observer_json_to_cot_document(observer_doc_json: &str) -> Result Result = obj.clone().into_iter().collect(); - + // Unflatten r_* fields back to nested r field let r_map = unflatten_document_r_field(&mut document_map); - + // Add the reconstructed r field if it has content if !r_map.is_empty() { document_map.insert("r".to_string(), Value::Object(r_map.into_iter().collect())); } - + Ok(Value::Object(document_map.into_iter().collect())) } else { // Return the document as-is if it's not an object @@ -123,7 +123,7 @@ pub fn observer_json_to_json_with_r_fields(observer_doc_json: &str) -> Result) -> Option { } None } - + // Search for callsign in the entire extras map for (key, value) in extras { // Check if the key itself is "callsign" or "from" @@ -146,7 +146,7 @@ pub fn transform_location_event(event: &CotEvent, peer_key: &str) -> MapItem { // Parse detail section to extract callsign and other fields let detail_map = parse_detail_section(&event.detail); let callsign = extract_callsign(&detail_map).unwrap_or_default(); - + // Map CotEvent and peer_key to MapItem fields MapItem { id: event.uid.clone(), // Ditto document ID @@ -279,42 +279,29 @@ pub fn transform_location_event_flattened(event: &CotEvent, peer_key: &str) -> V /// Transform a chat CoT event to a Ditto chat document pub fn transform_chat_event(event: &CotEvent, peer_key: &str) -> Option { - // Parse chat message details from the detail XML - // Expected format: chat from=SENDER room=ROOM msg=MESSAGE - - let mut message = None; - let mut room = None; - let mut room_id = None; - let mut author_callsign = None; - - // Simple regex-like extraction for chat details - if let Some(msg_start) = event.detail.find("msg=") { - let msg_part = &event.detail[msg_start + 4..]; - if let Some(msg_end) = msg_part.find("") { - message = Some(msg_part[..msg_end].trim().to_string()); - } - } - - if let Some(room_start) = event.detail.find("room=") { - let room_part = &event.detail[room_start + 5..]; - if let Some(room_end) = room_part.find(" roomId=") { - room = Some(room_part[..room_end].trim().to_string()); - } - } - - if let Some(room_id_start) = event.detail.find("roomId=") { - let room_id_part = &event.detail[room_id_start + 7..]; - if let Some(room_id_end) = room_id_part.find(" msg=") { - room_id = Some(room_id_part[..room_id_end].trim().to_string()); - } - } - - if let Some(from_start) = event.detail.find("from=") { - let from_part = &event.detail[from_start + 5..]; - if let Some(from_end) = from_part.find(" ") { - author_callsign = Some(from_part[..from_end].trim().to_string()); - } - } + // Parse chat message details from the detail XML using the proper XML parser + let detail_map = crate::detail_parser::parse_detail_section(&event.detail); + + // Extract chat details from parsed XML + let chat_data = detail_map.get("chat")?; + let chat_obj = chat_data.as_object()?; + + let message = chat_obj + .get("msg") + .and_then(|v| v.as_str()) + .map(|s| s.to_string()); + let room = chat_obj + .get("room") + .and_then(|v| v.as_str()) + .map(|s| s.to_string()); + let room_id = chat_obj + .get("roomId") + .and_then(|v| v.as_str()) + .map(|s| s.to_string()); + let author_callsign = chat_obj + .get("from") + .and_then(|v| v.as_str()) + .map(|s| s.to_string()); let author_uid = Some(event.uid.clone()); let author_type = Some("user".to_string()); @@ -1216,10 +1203,10 @@ impl CotDocument { // Track documents are characterized by: // 1. Having track data in the r field // 2. Being location/movement related types (PLI - Position Location Information) - + // Check if document contains track data let has_track_data = map_item.r.contains_key("track"); - + // Check if the CoT type indicates this is a moving entity (track/PLI) let is_track_type = map_item.w.contains("a-f-S") || // Friendly surface units (like USVs) map_item.w.contains("a-f-A") || // Friendly air units @@ -1232,7 +1219,7 @@ impl CotDocument { map_item.w.contains("a-h-G") || // Hostile ground units map_item.w.contains("a-n-") || // Neutral units map_item.w.contains("a-u-r-loc"); // Location reports - + // A document is a track if it has track data OR is a track-type entity has_track_data || is_track_type } diff --git a/rust/tests/chat_callsign_extraction_test.rs b/rust/tests/chat_callsign_extraction_test.rs index 31ac441..b094289 100644 --- a/rust/tests/chat_callsign_extraction_test.rs +++ b/rust/tests/chat_callsign_extraction_test.rs @@ -14,53 +14,75 @@ fn test_chat_callsign_extraction() { ); println!("Detail string: {}", chat_event.detail); - + // Parse the detail section let parsed_detail = parse_detail_section(&chat_event.detail); println!("Parsed detail: {:#?}", parsed_detail); - + // Verify that the detail was parsed correctly and has a 'chat' object - assert!(parsed_detail.contains_key("chat"), "Detail should contain 'chat' key"); - + assert!( + parsed_detail.contains_key("chat"), + "Detail should contain 'chat' key" + ); + let chat_obj = parsed_detail.get("chat").unwrap(); assert!(chat_obj.is_object(), "Chat value should be an object"); - + let chat_map = chat_obj.as_object().unwrap(); - assert!(chat_map.contains_key("from"), "Chat object should contain 'from' key"); - + assert!( + chat_map.contains_key("from"), + "Chat object should contain 'from' key" + ); + let from_value = chat_map.get("from").unwrap(); - assert_eq!(from_value.as_str().unwrap(), "DELTA-4", "From value should be 'DELTA-4'"); - + assert_eq!( + from_value.as_str().unwrap(), + "DELTA-4", + "From value should be 'DELTA-4'" + ); + // Test the conversion to Ditto document let ditto_doc = cot_to_document(&chat_event, "test-peer"); - + match ditto_doc { ditto_cot::ditto::to_ditto::CotDocument::Chat(chat_doc) => { // The callsign should be extracted correctly into the 'e' field - assert_eq!(chat_doc.e, "DELTA-4", "Chat document should have correct callsign in 'e' field"); + assert_eq!( + chat_doc.e, "DELTA-4", + "Chat document should have correct callsign in 'e' field" + ); println!("โœ“ Successfully extracted callsign: {}", chat_doc.e); } _ => panic!("Document should be converted to Chat type"), } } -#[test] +#[test] fn test_chat_detail_parsing_with_spaces() { // Test with a chat message that has spaces in the room name let chat_event = CotEvent::new_chat_message( - "CHAT-001", + "CHAT-001", "BRAVO-2", "Hello world", "Command Center Alpha", "cmd-center-001", ); - + let parsed_detail = parse_detail_section(&chat_event.detail); - + // Verify all fields are parsed correctly let chat_obj = parsed_detail.get("chat").unwrap().as_object().unwrap(); assert_eq!(chat_obj.get("from").unwrap().as_str().unwrap(), "BRAVO-2"); - assert_eq!(chat_obj.get("room").unwrap().as_str().unwrap(), "Command Center Alpha"); - assert_eq!(chat_obj.get("roomId").unwrap().as_str().unwrap(), "cmd-center-001"); - assert_eq!(chat_obj.get("msg").unwrap().as_str().unwrap(), "Hello world"); -} \ No newline at end of file + assert_eq!( + chat_obj.get("room").unwrap().as_str().unwrap(), + "Command Center Alpha" + ); + assert_eq!( + chat_obj.get("roomId").unwrap().as_str().unwrap(), + "cmd-center-001" + ); + assert_eq!( + chat_obj.get("msg").unwrap().as_str().unwrap(), + "Hello world" + ); +} diff --git a/rust/tests/e2e_cross_lang_multi_peer.rs b/rust/tests/e2e_cross_lang_multi_peer.rs index 98c4aa7..1b18b9f 100644 --- a/rust/tests/e2e_cross_lang_multi_peer.rs +++ b/rust/tests/e2e_cross_lang_multi_peer.rs @@ -97,13 +97,12 @@ async fn e2e_cross_lang_multi_peer_test() -> Result<()> { .sync() .register_subscription_v2("SELECT * FROM track")?; - let _observer_rust = - store_rust.register_observer_v2("SELECT * FROM track", move |result| { - println!( - "๐Ÿ”” Rust client observer: received {} documents", - result.item_count() - ); - })?; + let _observer_rust = store_rust.register_observer_v2("SELECT * FROM track", move |result| { + println!( + "๐Ÿ”” Rust client observer: received {} documents", + result.item_count() + ); + })?; println!("โœ… Rust client initialized and syncing"); diff --git a/rust/tests/sdk_conversion_test.rs b/rust/tests/sdk_conversion_test.rs index c90b0ff..0a8634a 100644 --- a/rust/tests/sdk_conversion_test.rs +++ b/rust/tests/sdk_conversion_test.rs @@ -1,6 +1,9 @@ //! Tests for SDK document conversion utilities -use ditto_cot::ditto::{CotDocument, observer_json_to_cot_document, observer_json_to_json_with_r_fields, get_document_id_from_json, get_document_type_from_json}; +use ditto_cot::ditto::{ + get_document_id_from_json, get_document_type_from_json, observer_json_to_cot_document, + observer_json_to_json_with_r_fields, CotDocument, +}; use serde_json::json; #[test] @@ -36,7 +39,7 @@ fn test_observer_json_to_cot_document() { let json_str = serde_json::to_string(&map_item_json).unwrap(); let result = observer_json_to_cot_document(&json_str); - + assert!(result.is_ok()); if let Ok(CotDocument::MapItem(item)) = result { assert_eq!(item.id, "test-map-001"); @@ -77,23 +80,23 @@ fn test_observer_json_to_json_with_r_fields() { let json_str = serde_json::to_string(&json_with_flattened_r).unwrap(); let result = observer_json_to_json_with_r_fields(&json_str); - + assert!(result.is_ok()); let reconstructed = result.unwrap(); - + // Verify r field was reconstructed let r_field = reconstructed.get("r").expect("r field should exist"); assert!(r_field.is_object()); - + let r_obj = r_field.as_object().unwrap(); assert!(r_obj.contains_key("contact")); assert!(r_obj.contains_key("track")); - + // Verify nested structure let contact = r_obj.get("contact").unwrap().as_object().unwrap(); assert_eq!(contact.get("callsign").unwrap().as_str(), Some("TestUnit")); - + let track = r_obj.get("track").unwrap().as_object().unwrap(); assert_eq!(track.get("speed").unwrap().as_str(), Some("15.0")); assert_eq!(track.get("course").unwrap().as_str(), Some("90.0")); -} \ No newline at end of file +} diff --git a/rust/tests/usv_track_test.rs b/rust/tests/usv_track_test.rs index 954799c..5d99a1e 100644 --- a/rust/tests/usv_track_test.rs +++ b/rust/tests/usv_track_test.rs @@ -1,6 +1,5 @@ use ditto_cot::cot_events::CotEvent; use ditto_cot::ditto::to_ditto::{cot_to_document, CotDocument}; -use ditto_cot::ditto::schema::ApiRValue; use std::fs; #[test] @@ -8,21 +7,20 @@ fn test_usv_track_processing() { // Read the USV track XML file let xml_content = fs::read_to_string("../schema/example_xml/usv_track.xml") .expect("Failed to read usv_track.xml"); - + println!("USV Track XML content:\n{}", xml_content); - + // Parse the XML into a CotEvent - let cot_event = CotEvent::from_xml(&xml_content) - .expect("Failed to parse USV track XML"); - + let cot_event = CotEvent::from_xml(&xml_content).expect("Failed to parse USV track XML"); + println!("Parsed CotEvent:"); println!(" UID: {}", cot_event.uid); println!(" Type: {}", cot_event.event_type); println!(" Detail: {}", cot_event.detail); - + // Convert to Ditto document let ditto_doc = cot_to_document(&cot_event, "test-peer-key"); - + match ditto_doc { CotDocument::MapItem(map_item) => { println!("Ditto MapItem document:"); @@ -33,21 +31,27 @@ fn test_usv_track_processing() { println!(" Document author (d): {}", map_item.d); println!(" Location: lat={:?}, lon={:?}", map_item.j, map_item.l); println!(" Detail fields (r): {:?}", map_item.r); - + // Verify the callsign is extracted correctly - assert_eq!(map_item.e, "USV-4", "Callsign should be extracted to 'e' field"); - + assert_eq!( + map_item.e, "USV-4", + "Callsign should be extracted to 'e' field" + ); + // Verify the UID is still used for 'a' and 'd' fields (not overridden by callsign) assert_eq!(map_item.a, "test-peer-key", "'a' field should be peer key"); - assert_eq!(map_item.d, "00000000-0000-0000-0000-333333333333", "'d' field should be UID"); - + assert_eq!( + map_item.d, "00000000-0000-0000-0000-333333333333", + "'d' field should be UID" + ); + // Verify basic fields assert_eq!(map_item.id, "00000000-0000-0000-0000-333333333333"); assert_eq!(map_item.w, "a-f-S-C-U"); - + // Check if callsign appears in detail fields - print all r field entries for debugging println!(" All r field entries: {:?}", map_item.r); - + println!("โœ“ USV track XML processed correctly by Rust library"); } _ => panic!("Expected MapItem document for USV track"), @@ -59,23 +63,22 @@ fn test_usv_track_round_trip() { // Read the USV track XML file let xml_content = fs::read_to_string("../schema/example_xml/usv_track.xml") .expect("Failed to read usv_track.xml"); - + // Parse XML -> CotEvent -> Ditto Document -> CotEvent - let original_event = CotEvent::from_xml(&xml_content) - .expect("Failed to parse USV track XML"); - + let original_event = CotEvent::from_xml(&xml_content).expect("Failed to parse USV track XML"); + let ditto_doc = cot_to_document(&original_event, "test-peer"); - + let recovered_event = ditto_cot::ditto::from_ditto::cot_event_from_ditto_document(&ditto_doc); - + // Verify round-trip preservation assert_eq!(original_event.uid, recovered_event.uid); assert_eq!(original_event.event_type, recovered_event.event_type); assert_eq!(original_event.version, recovered_event.version); - + // Check that callsign information is preserved in detail during round trip println!("Original detail: {}", original_event.detail); println!("Recovered detail: {}", recovered_event.detail); - + println!("โœ“ USV track round-trip conversion completed"); -} \ No newline at end of file +} diff --git a/swift/.env.example b/swift/.env.example new file mode 100644 index 0000000..4e37928 --- /dev/null +++ b/swift/.env.example @@ -0,0 +1,12 @@ +# Ditto Configuration +# Copy this file to .env and fill in your actual values +# Get these values from your Ditto portal at https://portal.ditto.live + +# Your Ditto App ID +DITTO_APP_ID=your-app-id-here + +# Your Ditto Shared Key (for development environments only - use certificates in production) +DITTO_SHARED_KEY=your-shared-key-here + +# Your Ditto License Token (required for offline activation) +DITTO_LICENSE_TOKEN=your-license-token-here \ No newline at end of file diff --git a/swift/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/swift/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/swift/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/swift/.swiftpm/xcode/package.xcworkspace/xcuserdata/kitplummer.xcuserdatad/UserInterfaceState.xcuserstate b/swift/.swiftpm/xcode/package.xcworkspace/xcuserdata/kitplummer.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..1b22fc5 Binary files /dev/null and b/swift/.swiftpm/xcode/package.xcworkspace/xcuserdata/kitplummer.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/swift/.swiftpm/xcode/xcuserdata/kitplummer.xcuserdatad/xcschemes/xcschememanagement.plist b/swift/.swiftpm/xcode/xcuserdata/kitplummer.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..308f23a --- /dev/null +++ b/swift/.swiftpm/xcode/xcuserdata/kitplummer.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,34 @@ + + + + + SchemeUserState + + CoTExampleApp.xcscheme_^#shared#^_ + + orderHint + 3 + + DittoCoT-Package.xcscheme_^#shared#^_ + + orderHint + 0 + + DittoCoT.xcscheme_^#shared#^_ + + orderHint + 1 + + DittoCoTCore.xcscheme_^#shared#^_ + + orderHint + 2 + + ditto-cot-codegen.xcscheme_^#shared#^_ + + orderHint + 4 + + + + diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/DittoObjC b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/DittoObjC new file mode 120000 index 0000000..1c881cd --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/DittoObjC @@ -0,0 +1 @@ +Versions/Current/DittoObjC \ No newline at end of file diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Headers b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Headers new file mode 120000 index 0000000..a177d2a --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Headers @@ -0,0 +1 @@ +Versions/Current/Headers \ No newline at end of file diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Modules b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Modules new file mode 120000 index 0000000..5736f31 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Modules @@ -0,0 +1 @@ +Versions/Current/Modules \ No newline at end of file diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/PrivateHeaders b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/PrivateHeaders new file mode 120000 index 0000000..d8e5645 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/PrivateHeaders @@ -0,0 +1 @@ +Versions/Current/PrivateHeaders \ No newline at end of file diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Resources b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Resources new file mode 120000 index 0000000..953ee36 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Resources @@ -0,0 +1 @@ +Versions/Current/Resources \ No newline at end of file diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/DittoObjC b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/DittoObjC new file mode 100755 index 0000000..49b7461 Binary files /dev/null and b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/DittoObjC differ diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAWDLConfig.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAWDLConfig.h new file mode 100644 index 0000000..e9991a5 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAWDLConfig.h @@ -0,0 +1,33 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class DITMutableAWDLConfig; + +@interface DITAWDLConfig : NSObject + ++ (instancetype)awdlConfig; + +@property (nonatomic, readonly, getter=isEnabled) BOOL enabled; + +- (instancetype)initWithDITAWDLConfig:(DITAWDLConfig *)config; +- (instancetype)initWithEnabled:(BOOL)enabled; + +- (BOOL)isEqualToDITAWDLConfig:(DITAWDLConfig *)config; + +@end + +// MARK: - + +@interface DITAWDLConfig (DITTypeCorrections) + +- (DITAWDLConfig *)copy; +- (DITMutableAWDLConfig *)mutableCopy; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAddress.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAddress.h new file mode 100644 index 0000000..33b03b3 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAddress.h @@ -0,0 +1,22 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + An address uniquely identifying another peer on the Ditto network. + */ +@interface DITAddress : NSObject + +- (instancetype)init NS_UNAVAILABLE; +- (BOOL)isEqualToAddress:(DITAddress *)address; + +- (DITAddress *)copy; +- (DITAddress *)copyWithZone:(nullable NSZone *)zone; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAttachment.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAttachment.h new file mode 100644 index 0000000..1830cbd --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAttachment.h @@ -0,0 +1,45 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Represents an attachment and can be used to insert the associated attachment into a document at a + specific key. + */ +@interface DITAttachment : NSObject + +/** + The attachment's metadata. + */ +@property (nonatomic, readonly) NSDictionary *metadata; + +/** + Returns the attachment's data. + + @param error On input, a pointer to an error object. If an error occurs, this pointer + is set to an actual error object containing the error information. You may specify nil for this + parameter if you do not want the error information. + + @return The attachment's data. + */ +- (nullable NSData *)getData:(NSError *_Nullable __autoreleasing *)error; + +/** + Copies the attachment to the specified file path. + + @param path The path that the attachment should be copied to. + @param error On input, a pointer to an error object. If an error occurs, this pointer is set to an + actual error object containing the error information. You may specify nil for this parameter if you + do not want the error information. + + @return A boolean indicating whether or not the attachment file was successfully copied. + */ +- (BOOL)copyToPath:(NSString *)path error:(NSError *_Nullable __autoreleasing *)error; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAttachmentFetchEvent.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAttachmentFetchEvent.h new file mode 100644 index 0000000..ec585fb --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAttachmentFetchEvent.h @@ -0,0 +1,108 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITAttachment; +@class DITAttachmentFetchEventCompleted; +@class DITAttachmentFetchEventProgress; +@class DITAttachmentFetchEventDeleted; + +/** + The types of attachment fetch events that can be delivered to an attachment fetcher's + `onFetchEvent` block. + */ +typedef NS_ENUM(NSUInteger, DITAttachmentFetchEventType) { + DITAttachmentFetchEventTypeCompleted = 0, + DITAttachmentFetchEventTypeProgress, + DITAttachmentFetchEventTypeDeleted, +}; + +NS_ASSUME_NONNULL_BEGIN + +/** + A representation of the events that can occur in relation to an attachment fetch. + + There are three different attachment fetch events: `Completed`, `Progress`, or `Deleted`. + + There will be at most one `Completed` or `Deleted` event per attachment fetch. There can be many + `Progress` events delivered for each attachment fetch. + + Updates relating to an attachment fetch are delivered by registering a `DITAttachmentFetcher` + through a call to `fetchAttachment` on a `DITCollection` instance. + */ +@interface DITAttachmentFetchEvent : NSObject + +- (instancetype)init NS_UNAVAILABLE; + +/** + The attachment fetch event's type. + + Check this value before using one of `asCompleted`, `asProgress`, or `asDeleted` to ensure that you + get a richer attachment fetch event object of the correct type. + */ +@property (nonatomic, readonly) DITAttachmentFetchEventType type; + +/** + Return the attachment fetch event object as a `DITAttachmentFetchEventCompleted` object. + + @return A `DITAttachmentFetchEventCompleted` object or `nil` if the attachment's fetch event is not + completed. + */ +- (nullable DITAttachmentFetchEventCompleted *)asCompleted; + +/** + Return the attachment fetch event object as a `DITAttachmentFetchEventProgress` object. + + @return A `DITAttachmentFetchEventProgress` object or `nil` if the attachment's fetch event is not + progress. + */ +- (nullable DITAttachmentFetchEventProgress *)asProgress; + +/** + Return the attachment fetch event object as a `DITAttachmentFetchEventDeleted` object. + + @return A `DITAttachmentFetchEventDeleted` object or `nil` if the attachment's fetch event is not + deleted. + */ +- (nullable DITAttachmentFetchEventDeleted *)asDeleted; + +@end + +/** + An attachment fetch event used when the attachment's download has completed. + */ +@interface DITAttachmentFetchEventCompleted : DITAttachmentFetchEvent + +/** + The complete attachment. + */ +@property (nonatomic, readonly) DITAttachment *attachment; + +@end + +/** + An attachment fetch event used when the attachment's download progressed but is not yet complete. + */ +@interface DITAttachmentFetchEventProgress : DITAttachmentFetchEvent + +/** + The size of the attachment that was successfully downloaded, in bytes. + */ +@property (nonatomic, readonly) NSUInteger downloadedBytes; + +/** + The full size of the attachment, if it were complete. + */ +@property (nonatomic, readonly) NSUInteger totalBytes; + +@end + +/** + An attachment fetch event used when the attachment is deleted. + */ +@interface DITAttachmentFetchEventDeleted : DITAttachmentFetchEvent +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAttachmentFetcher.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAttachmentFetcher.h new file mode 100644 index 0000000..6736bd8 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAttachmentFetcher.h @@ -0,0 +1,29 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + These objects are returned by calls to `fetchAttachment` on `DITCollection`s. They must be kept + alive for as long as you wish to observe updates about the associated attachment. + */ +@interface DITAttachmentFetcher : NSObject + +/** + Stops fetching the fetcher's associated attachment and cleans up any associated resources. + + Note that you are not required to call `stop` once your attachment fetch operation has finished. + The method primarily exists to allow you to cancel an attachment fetch request while it is ongoing + if you no longer wish for the attachment to be made available locally to the device. + + Niling out any reference(s) you have to the attachment fetcher will also lead to the attachment + fetch operation being stopped. + */ +- (void)stop; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAttachmentToken.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAttachmentToken.h new file mode 100644 index 0000000..929fc4e --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAttachmentToken.h @@ -0,0 +1,17 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Serves as a token for a specific attachment that you can pass to a call to `fetchAttachment` on a + `DITCollection`. + */ +@interface DITAttachmentToken : NSObject + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAuthenticationDelegate.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAuthenticationDelegate.h new file mode 100644 index 0000000..87825cf --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAuthenticationDelegate.h @@ -0,0 +1,51 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITAuthenticator; + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides feedback to the developer about Ditto authentication status. + */ +@protocol DITAuthenticationDelegate + +/** + There is no Ditto authentication token or it has expired. Sync will not work + until there is a successful login using one of the login methods on + `DITAuthenticator`. + */ +- (void)authenticationRequired:(DITAuthenticator *)authenticator; + +/** + Warns that the Ditto authentication token is getting old. + + Ditto will attempt to refresh tokens periodically, starting from halfway + through the token's validity period. This reduces the risk of authentication + expiring while the user is offline. + + The refresh will happen automatically if Ditto has a suitable refresh token. If + new credentials are required, such as a third-party token or a + username/password, then Ditto does not cache that information and you must + submit it again using one of the `login` methods on `DITAuthenticator`. + */ +- (void)authenticationExpiringSoon:(DITAuthenticator *)authenticator + secondsRemaining:(int64_t)secondsRemaining; + +@optional + +/** + * Notifies the authentication delegate that the authentication status did + * change. Use the `authenticator`s property `status` to query for the current + * authentication status. + * + * This method is **optional**. + */ +- (void)authenticationStatusDidChange:(DITAuthenticator *)authenticator; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAuthenticationRequest.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAuthenticationRequest.h new file mode 100644 index 0000000..b2e7184 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAuthenticationRequest.h @@ -0,0 +1,25 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITAuthenticationRequest : NSObject + +@property (nonatomic, nullable, readonly) NSString *appId; +@property (nonatomic, nullable, readonly) NSNumber *siteID; +@property (nonatomic, nullable, readonly) NSString *thirdPartyToken; +@property (nonatomic, nullable, readonly) NSString *tokenSource; +@property (nonatomic, nullable, readonly) NSString *username; +@property (nonatomic, nullable, readonly) NSString *password; + +- (void)allow:(DITAuthenticationSuccess *)success; +- (void)deny; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAuthenticationStatus.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAuthenticationStatus.h new file mode 100644 index 0000000..ef6dbb0 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAuthenticationStatus.h @@ -0,0 +1,50 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** Provides info about the authentication status. */ +@interface DITAuthenticationStatus : NSObject + +/** Returns `YES` if authenticated, otherwise returns `NO`. */ +@property (nonatomic, readonly, getter=isAuthenticated) BOOL authenticated; + +/** + If authenticated, returns the user ID if one was provided by the + authentication service. Otherwise returns `nil`. + */ +@property (nonatomic, readonly, nullable, copy) NSString *userID; + +/** Convenience initializer, same as `[... initAuthenticated:NO userID:nil]`. */ +- (instancetype)init; + +/** Initializes an authentication status object with the given parameters. */ +- (instancetype)initAuthenticated:(BOOL)isAuthenticated + userID:(nullable NSString *)userID NS_DESIGNATED_INITIALIZER; + +/** + Returns `YES` if passed object is an instance of DITAuthenticationStatus + and equal to the receiver. Otherwise returns `NO`. + */ +- (BOOL)isEqual:(nullable id)object; + +/** + Returns `YES` if passed `authenticationStatus` is equal to the receiver. + Otherwise returns `NO`. This is a faster variant of `isEqual:`, use this if + you know for sure `authenticationStatus` to be a kind of + `DITAuthenticationStatus`. + */ +- (BOOL)isEqualToAuthenticationStatus:(DITAuthenticationStatus *)authenticationStatus; + +/** Returns the hash for the receiver. */ +- (NSUInteger)hash; + +/** Returns a string representation of the receiver. */ +- (NSString *)description; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAuthenticationSuccess.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAuthenticationSuccess.h new file mode 100644 index 0000000..d3810f7 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAuthenticationSuccess.h @@ -0,0 +1,29 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITAuthenticationSuccess : NSObject + +@property (nonatomic, nullable, readwrite) NSString *userID; +@property (nonatomic, readwrite) NSMutableDictionary *userInfo; +@property (nonatomic, readwrite) NSDate *accessExpires; +@property (nonatomic, nullable, readwrite) NSDate *offerRefreshUntil; +@property (nonatomic, readwrite) NSMutableArray *audiences; +@property (nonatomic, readwrite) BOOL readEverythingPermission; +@property (nonatomic, readwrite) BOOL writeEverythingPermission; + +@property (nonatomic, nullable, readwrite) + NSMutableDictionary *> *readPermissions; +@property (nonatomic, nullable, readwrite) + NSMutableDictionary *> *writePermissions; + +- (void)addReadPermissionForCollection:(NSString *)coll queryString:(NSString *)query; +- (void)addWritePermissionForCollection:(NSString *)coll queryString:(NSString *)query; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAuthenticator.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAuthenticator.h new file mode 100644 index 0000000..0cbe2df --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITAuthenticator.h @@ -0,0 +1,95 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +#import +#import + +@class DITAuthenticationFeedback; +@class DITDitto; + +NS_ASSUME_NONNULL_BEGIN + +/** + Posted whenever the authentication status for a specific authenticator did + change. You can use `authenticator` property `status` to query for the new + authentication status. + */ +extern NSNotificationName const DITAuthenticationStatusDidChangeNotification; + +/** + Provides access to authentication information and methods for logging on to + Ditto Cloud. Relevant when using an `OnlineWithAuthentication` or an `Online` + identity. + */ +@interface DITAuthenticator : NSObject + +/** + Returns the current authentication status. + */ +@property (nonatomic, readonly) DITAuthenticationStatus *status; + +/** + Log in to Ditto with a third-party token. + + @param token the authentication token required to log in. + @param provider the name of the authentication provider. + @param completion a block that will get called when the login attempt has + completed. + */ +- (void)loginWithToken:(NSString *)token + provider:(nullable NSString *)provider + completion:(void (^)(NSError *__nullable))completion; + +/** + Log in to Ditto with a username and password. + + @param username the username component of the credentials used for log in. + @param password the password component of the credentials used for log in. + @param provider the name of the authentication provider. + @param completion a block that will get called when the login attempt has + completed. + */ +- (void)loginWithUsername:(NSString *)username + password:(NSString *)password + provider:(nullable NSString *)provider + completion:(void (^)(NSError *__nullable))completion; + +/** + Log out of Ditto. + + This will stop sync, shut down all replication sessions, and remove any cached + authentication credentials. Note that this does not remove any data from the + store. If you wish to delete data from the store then use + `logout(cleanupBlock:)` instead. + + */ +- (void)logout; + +/** + Log out of Ditto. + + This will stop sync, shut down all replication sessions, and remove any cached + authentication credentials. Note that this does not remove any data from the + store. If you wish to delete data from the store then use the optional + `cleanupBlock` argument to perform any required cleanup. + + @param cleanupBlock an optional action that will be called with the relevant + `Ditto` instance as the sole argument that allows you to perform any required + cleanup of the store as part of the logout process. + */ +- (void)logout:(nullable void (^)(DITDitto *))cleanupBlock; + +/** + * Registers a block that will be called whenever authentication `status` + * changes. Returns a `DITObserver` that needs to be retained as long as + * you want to receive the updates. + */ +- (id)observeStatus:(void (^)(DITAuthenticationStatus *))handler; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITBluetoothLEConfig.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITBluetoothLEConfig.h new file mode 100644 index 0000000..86fcc54 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITBluetoothLEConfig.h @@ -0,0 +1,33 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class DITMutableBluetoothLEConfig; + +@interface DITBluetoothLEConfig : NSObject + ++ (instancetype)bluetoothLEConfig; + +@property (nonatomic, readonly, getter=isEnabled) BOOL enabled; + +- (instancetype)initWithDITBluetoothLEConfig:(DITBluetoothLEConfig *)config; +- (instancetype)initWithEnabled:(BOOL)enabled; + +- (BOOL)isEqualToDITBluetoothLEConfig:(DITBluetoothLEConfig *)config; + +@end + +// MARK: - + +@interface DITBluetoothLEConfig (DITTypeCorrections) + +- (DITBluetoothLEConfig *)copy; +- (DITMutableBluetoothLEConfig *)mutableCopy; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITCollection.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITCollection.h new file mode 100644 index 0000000..92e9c63 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITCollection.h @@ -0,0 +1,230 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +@class DITAttachment; +@class DITAttachmentFetcher; +@class DITAttachmentFetchEvent; +@class DITAttachmentToken; +@class DITDocumentID; +@class DITPendingCursorOperation; +@class DITPendingIDSpecificOperation; + +NS_ASSUME_NONNULL_BEGIN + +/** + Represents collection names. + */ +typedef NSString *DITCollectionName NS_TYPED_EXTENSIBLE_ENUM; + +/** + The name of the history collection. + + @warning History Tracking is **experimental** and shouldn't be used in production. + */ +extern DITCollectionName const DITCollectionNameHistory; + +/** + A reference to a collection in a `DITStore`. + + This is the entrypoint for inserting documents into a collection, as well as + querying a collection. + */ +@interface DITCollection : NSObject + +/** + The name of the collection. + */ +@property (nonatomic, readonly) NSString *name; + +/** + Convenience method, same as `upsert:writeStrategy:error:` where + `DITWriteStrategyMerge` is passed for `writeStrategy`. + */ +- (nullable DITDocumentID *)upsert:(NSDictionary *)content + error:(NSError *_Nullable *)error; + +/** + Inserts a new document into the collection and returns its ID. If the + document already exists, the behavior is determined by the given + `writeStrategy`. + + @param content The new document to insert. + @param writeStrategy Specifies the desired strategy for inserting a document. + @param error On input, a pointer to an error object. If an error occurs, this pointer + is set to an actual error object containing the error information. You may specify nil for this + parameter if you do not want the error information. + + @return The ID of the upserted document, or `nil` if upsertion failed. + */ +- (nullable DITDocumentID *)upsert:(NSDictionary *)content + writeStrategy:(DITWriteStrategy)writeStrategy + error:(NSError *_Nullable *)error + NS_SWIFT_NAME(upsert(_:writeStrategy:)); + +/** + Generates a `DITPendingIDSpecificOperation` with the provided document ID. + + The returned object can be used to find and return the document or you can + chain a call to `observeLocal` or `subscribe` if you want to get + updates about the document over time. It can also be used to update, remove + or evict the document. + + @param docID The ID of the document. + + @return A `DITPendingIDSpecificOperation` that you can chain function calls to either get the + document immediately or get updates about it over time. + */ +- (DITPendingIDSpecificOperation *)findByID:(DITDocumentID *)docID NS_SWIFT_NAME(findByID(_:)); + +/** + Generates a `DITPendingCursorOperation` using the provided query. + + The returned object can be used to find and return the documents or you can + chain a call to `observeLocal` or `subscribe` if you want to get + updates about the list of matching documents over time. It can also be used + to update, remove or evict the matching documents. + + @param query The query to run against the collection. + + @return A `DITPendingCursorOperation` that you can chain function calls to chain further + query-related function calls. + */ +- (DITPendingCursorOperation *)find:(NSString *)query; + +/** + Generates a `DITPendingCursorOperation` using the provided query and query arguments. + + The returned object can be used to find and return the documents or you can + chain a call to `observeLocal` or `subscribe` if you want to get + updates about the list of matching documents over time. It can also be used + to update, remove or evict the matching documents. + + This is the recommended method to use when performing queries on a collection if you have any + dynamic data included in the query string. It allows you to provide a query string with + placeholders, in the form of `$args.my_arg_name`, along with an accompanying dictionary of + arguments, in the form of `{ "my_arg_name": "some value" }`, and the placeholders will be + appropriately replaced by the matching provided arguments from the dictionary. This includes + handling things like wrapping strings in quotation marks and arrays in square brackets, for + example. + + @param query The query to run against the collection. + @param queryArgs The arguments to use to replace placeholders in the provided query. + + @return A `DITPendingCursorOperation` that you can chain function calls to chain further + query-related function calls. + */ +- (DITPendingCursorOperation *)find:(NSString *)query + withArgs:(NSDictionary *)queryArgs; + +/** + Generates a `DITPendingCursorOperation` that relates to all documents in the + collection. + + The returned object can be used to find and return all of the documents in + the collection or you can chain a call to `observeLocal` or `subscribe` if you want to get updates + about the documents over time. It can also be used to update, remove or evict the documents. + + @return A `DITPendingCursorOperation` that you can chain function calls to chain further + query-related function calls. + */ +- (DITPendingCursorOperation *)findAll; + +/** + Creates a new attachment, which can then be inserted into a document. + + The file residing at the provided path will be copied into Ditto's store. The `DITAttachment` + object that is returned is what you can then use to insert an attachment into a document. + + You can provide metadata about the attachment, which will be replicated to + other peers alongside the file attachment. + + Below is a snippet to show how you can use the `newAttachment` functionality to insert an + attachment into a document. + + ``` + DITAttachment *attachment = [collection newAttachment:@"/path/to/my/file.pdf"]; + DITDocumentID docID = [collection insert:@{@"attachment": attachment, @"other": @"string"}]; + } + ``` + + @param path The path to the file that you want to create an attachment with. + @param metadata Metadata relating to the attachment. + + @return A `DITAttachment` object, which can be used to insert the attachment into a document. + */ +- (nullable DITAttachment *)newAttachment:(NSString *)path + metadata:(nullable NSDictionary *)metadata; + +/** + Trigger an attachment to be downloaded locally to the device and observe its + progress as it does so. + + When you encounter a document that contains an attachment the attachment + will not automatically be downloaded along with the document. You trigger an + attachment to be downloaded locally to a device by calling this method. It + will report events relating to the attachment fetch attempt as it tries to + download it. The `onFetchEvent` block may be called multiple times with + progress events. It will then be called with either a + `DITAttachmentFetchEventCompleted` event or a + `DITAttachmentFetchEventDeleted` event. If downloading the attachment + succeeds then the `DITAttachmentFetchEventCompleted` event that the + `onFetchEvent` block will be called with will hold a reference to the + downloaded attachment. + + @param token The `DITAttachmentToken` relevant to the attachment that you + wish to download and observe. + @param onFetchEvent A block that will be called when there is a update to the status of the + attachment fetch attempt. + + @return A `DITAttachmentFetcher` object, which must be kept alive for the fetch request to proceed + and for you to be notified about the attachment's fetch status changes. If the attachment fetcher + could not be created then `nil` will be returned. This can happen if, for example, an invalid + attachment token was provided. + */ +- (nullable DITAttachmentFetcher *)fetchAttachment:(DITAttachmentToken *)token + onFetchEvent: + (void (^)(DITAttachmentFetchEvent *))onFetchEvent; + +/** + Trigger an attachment to be downloaded locally to the device and observe its + progress as it does so. + + When you encounter a document that contains an attachment the attachment + will not automatically be downloaded along with the document. You trigger an + attachment to be downloaded locally to a device by calling this method. It + will report events relating to the attachment fetch attempt as it tries to + download it. The `onFetchEvent` block may be called multiple times with + progress events. It will then be called with either a + `DITAttachmentFetchEventCompleted` event or a + `DITAttachmentFetchEventDeleted` event. If downloading the attachment + succeeds then the `DITAttachmentFetchEventCompleted` event that the + `onFetchEvent` block will be called with will hold a reference to the + downloaded attachment. + + @param token The `DITAttachmentToken` relevant to the attachment that you + wish to download and observe. + @param dispatchQueue The dispatch queue that will be used when calling + the provided block to deliver fetch events. You can use the version of this + method that does not take a `dispatch_queue_t` argument if you want the main + queue to be used. + @param onFetchEvent A block that will be called when there is a update to the status of the + attachment fetch attempt. + + @return A `DITAttachmentFetcher` object, which must be kept alive for the fetch request to proceed + and for you to be notified about the attachment's fetch status changes. If the attachment fetcher + could not be created then `nil` will be returned. This can happen if, for example, an invalid + attachment token was provided. + */ +- (nullable DITAttachmentFetcher *)fetchAttachment:(DITAttachmentToken *)token + deliveryQueue:(dispatch_queue_t)dispatchQueue + onFetchEvent: + (void (^)(DITAttachmentFetchEvent *))onFetchEvent; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITCollectionsEvent.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITCollectionsEvent.h new file mode 100644 index 0000000..bf313c0 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITCollectionsEvent.h @@ -0,0 +1,62 @@ +// +// Copyright ยฉ 2021 Ditto. All rights reserved. +// + +#import + +@class DITCollection; +@class DITLiveQueryMove; + +NS_ASSUME_NONNULL_BEGIN + +/** + Describes events delivered when observing collections in the store. + + Only the first event will have the `isInitial` `BOOL` set to `true`. The first event will return + empty arrays for all values because there can't be any modifications to the set of collections if + it's the first time event handler is being called. + */ +@interface DITCollectionsEvent : NSObject + +/** + Whether or not this is the initial event being delivered. + */ +@property (nonatomic, readonly) BOOL isInitial; + +/** + The collections that are known about by the store. + */ +@property (nonatomic, readonly) NSArray *collections; + +/** + The collections that were previously known about by the store. + */ +@property (nonatomic, readonly) NSArray *oldCollections; + +/** + The indexes in the `collections` array that relate to a collection that was not in the previous + list of collections, but is now. + */ +@property (nonatomic, readonly) NSArray *insertions; + +/** + The indexes in the `oldCollections` array that relate to collections that were previously known + about by the store but that are now no longer being tracked. + */ +@property (nonatomic, readonly) NSArray *deletions; + +/** + The indexes in the `collections` array that relate to collections that have been updated since the + previous event. + */ +@property (nonatomic, readonly) NSArray *updates; + +/** + Objects that describe how collections' positions in the `collections` array have changed since the + previous event. + */ +@property (nonatomic, readonly) NSArray *moves; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITConnect.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITConnect.h new file mode 100644 index 0000000..f5f15f5 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITConnect.h @@ -0,0 +1,43 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class DITMutableConnect; + +/** + Specific servers that Ditto should attempt to connect to. + + TCP servers are specified as "host:port". Websocket URLs take the form "wss://hydra.ditto.live". + + Please refer to the documentation on Ditto's website for configuring cloud or client/server + scenarios. + */ +@interface DITConnect : NSObject + ++ (instancetype)connect; + +@property (nonatomic, readonly) NSSet *tcpServers; +@property (nonatomic, readonly) NSSet *websocketURLs; +@property (nonatomic, readonly) NSTimeInterval retryInterval; + +- (instancetype)initWithDITConnect:(DITConnect *)connect; +- (instancetype)initWithTCPServers:(NSSet *)tcpServers + websocketURLs:(NSSet *)websocketUrls + retryInterval:(NSTimeInterval)retryInterval; + +@end + +// MARK: - + +@interface DITConnect (DITTypeCorrections) + +- (DITConnect *)copy; +- (DITMutableConnect *)mutableCopy; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITConnection.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITConnection.h new file mode 100644 index 0000000..196f22d --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITConnection.h @@ -0,0 +1,59 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +@class DITAddress; + +NS_ASSUME_NONNULL_BEGIN + +/** Represents a connection between two peers on the Ditto mesh network. */ +@interface DITConnection : NSObject + +/** Unique identifier for the connection. */ +@property (nonatomic, readonly, copy) NSString *id; + +/** Type of transport enabling this connection. */ +@property (nonatomic, readonly) DITConnectionType type; + +/** The peer key of the peer at one end of the connection. */ +@property (nonatomic, readonly, copy) NSData *peer1; + +/** The peer key of the peer at one end of the connection. */ +@property (nonatomic, readonly, copy) NSData *peer2; + +/* + Gets an estimate of distance to the remote peer. This value is inaccurate. + The environment, hardware, and several other factors can greatly affect + this value. It is currently derived from RSSI. + */ +@property (nonatomic, readonly, nullable, copy) NSNumber *approximateDistanceInMeters; + +- (instancetype)init NS_UNAVAILABLE; + +/** Initializes the connection with a dictionary representation. */ +- (instancetype)initWithDictionaryRepresentation:(NSDictionary *)dictionaryRepresentation; + +/** Initializes the connection with all possible parameters. */ +- (instancetype)initWithID:(NSString *)ID + type:(DITConnectionType)type + peer1:(NSData *)peer1 + peer2:(NSData *)peer2 + approximateDistanceInMeters:(nullable NSNumber *)approximateDistanceInMeters + NS_DESIGNATED_INITIALIZER; + +- (NSUInteger)hash; + +- (BOOL)isEqual:(nullable id)object; +- (BOOL)isEqualToConnection:(DITConnection *)connection; + +- (DITConnection *)copy; +- (DITConnection *)copyWithZone:(nullable NSZone *)zone; + +- (NSString *)description; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITConnectionPriority.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITConnectionPriority.h new file mode 100644 index 0000000..12ae83f --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITConnectionPriority.h @@ -0,0 +1,43 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#ifndef DITConnectionPriority_h +#define DITConnectionPriority_h + +#import + +/** + The priority with which the local device should reach out to + particular remote peers in the Ditto mesh. + + For most use-cases, this API is not required as Ditto will automatically + create an optimal P2P mesh. Certain use-cases, however, might require + more manual control over how the mesh is formed. + */ +typedef NS_ENUM(NSUInteger, DITConnectionPriority) { + /** + Do not attempt to connect. Note that connections can be established + by either peer, so the remote peer might still connect to this Ditto + unless they are similarly configured. + */ + DITConnectionPriorityDontConnect = 0, + + /** + Connect with normal priority. This is also the default case unless + specified otherwise. + */ + DITConnectionPriorityNormal = 1, + + /** + Connect with high priority. Remote peers which are assigned this + connection priority will be preferred over normal priority peers. + + This priority will only have a meaningful effect once there are more + nearby peers than the local Ditto instance is able to simultaneously + connect to. + */ + DITConnectionPriorityHigh = 2, +}; + +#endif /* DITConnectionPriority_h */ diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITConnectionType.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITConnectionType.h new file mode 100644 index 0000000..bb6f7f3 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITConnectionType.h @@ -0,0 +1,53 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +// Disabling clang format for the num because the NS_SWIFT_NAME() +// annotation bemuses clang-format. +// clang-format off + +/** + The type of `DITConnection` between two `DITPeer`s signaling what + transport is being used for it. + */ +typedef NS_ENUM(NSUInteger, DITConnectionType) { + DITConnectionTypeBluetooth = 1, + DITConnectionTypeAccessPoint, + DITConnectionTypeP2PWiFi NS_SWIFT_NAME(p2pWiFi), + DITConnectionTypeWebSocket +}; + +// clang-format on + +/** Returns a dictionary of all types by their names. */ +NSDictionary *DITConnectionTypeAllCasesByName(void); + +/** Returns a dictionary of all names by their types. */ +NSDictionary *DITConnectionTypeAllNamesByCase(void); + +/** + Returns an array containing all possible cases of the `DITConnectionType` + enum. + */ +NSArray *DITConnectionTypeAllCases(void); + +/** + Returns an array containing the names for all possible cases of the + `DITConnectionType` enum. + */ +NSArray *DITConnectionTypeAllCaseNames(void); + +/** Returns the name for a particular case of the `DITConnectionType` enum. */ +NSString *DITConnectionTypeName(DITConnectionType connectionType); + +/** + Returns the case for the name of a particular case of the + `DITConnectionType` enum. + */ +DITConnectionType DITConnectionTypeForName(NSString *name); + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITCounter.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITCounter.h new file mode 100644 index 0000000..a6cc699 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITCounter.h @@ -0,0 +1,33 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * Represents a CRDT counter that can be upserted as part of a document or + * assigned to a property during an update of a document. + */ +@interface DITCounter : NSObject + +/** + The value of the counter. + */ +@property (nonatomic, readonly) double value; + +/** + Initializes a new counter that can be used as part of a document's content. + */ +- (instancetype)init; + +/** + Returns `YES` if passed in counter has the same value, otherwise returns + `NO`. + */ +- (BOOL)isEqualToCounter:(DITCounter *)counter; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDiskUsage.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDiskUsage.h new file mode 100644 index 0000000..31df23f --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDiskUsage.h @@ -0,0 +1,35 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITDitto; +@class DITDiskUsageItem; +@class DITDiskUsageObserverHandle; + +NS_ASSUME_NONNULL_BEGIN + +/// Entrypoint for accessing information about the amount of disk storage used by Ditto. +/// This class can't be instantiated. You can access an instance through the `ditto.diskUsage` API. +@interface DITDiskUsage : NSObject + +- (instancetype)init NS_UNAVAILABLE; + +/// Returns a single `DiskUsageItem` representing a tree of directories with file size +/// information. Use the `observe()` method to access the same information with callbacks as +/// the size of files change over time. +/// - Returns: DiskUsageItem +@property (nonatomic, readonly, copy) DITDiskUsageItem *exec; + +/// Starts filesystem observation. Disk usage details will be passed to the given closure as +/// files in the Ditto directory change size over time. +/// - Parameter eventHandler: A closure that will be invoked regularly with `DiskUsageItem` +/// instances. +/// - Returns: A `DiskUsageObserverHandle` which should be held in scope to continue observation. +/// Invoke the `stop()` method on the handle to terminate callbacks. +- (DITDiskUsageObserverHandle *)observe:(void (^)(DITDiskUsageItem *DiskUsageItem))eventHandler; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDiskUsageItem.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDiskUsageItem.h new file mode 100644 index 0000000..2ec7bc5 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDiskUsageItem.h @@ -0,0 +1,38 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +/// A directory or file in the Ditto working directory. Directories can be traversed by accessing +/// the `childItems` property. Files won't have any children. +@interface DITDiskUsageItem : NSObject + +/// Type of file. +@property (assign, readonly) DITFileSystemType type; + +/// Path to the file relative to the Ditto working directory. +@property (nonatomic, readonly) NSString *path; + +/// Size of the file. In the case of a directory, this is the sum of all file sizes beneath it. +@property (nonatomic, readonly) NSInteger sizeInBytes; + +/// An array of child items. Empty for regular files. Only directories may contain children. +@property (nonatomic, readonly, nullable) NSArray *childItems; + +- (instancetype)initWithDictionary:(NSDictionary *)dictionary; + +- (NSUInteger)hash; + +- (BOOL)isEqual:(nullable id)object; +- (BOOL)isEqualToDiskUsageItem:(DITDiskUsageItem *)diskUsageItem; + +- (DITDiskUsageItem *)copy; +- (DITDiskUsageItem *)copyWithZone:(nullable NSZone *)zone; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDiskUsageObserverHandle.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDiskUsageObserverHandle.h new file mode 100644 index 0000000..dcd89fa --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDiskUsageObserverHandle.h @@ -0,0 +1,17 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/// A handle used to control disk usage observation. +@interface DITDiskUsageObserverHandle : NSObject + +/// Use to terminate callbacks. +- (void)stop; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDitto.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDitto.h new file mode 100644 index 0000000..08ab0a5 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDitto.h @@ -0,0 +1,305 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import +#import +#import +#import + +#import + +@class DITAuthenticator; +@class DITIdentity; +@class DITPeersObserver; +@class DITPeersObserverV2; +@class DITDiskUsage; +@class DITPresence; +@class DITRemotePeer; +@class DITStore; +@class DITTransportDiagnostics; +@class DITPresenceGraph; + +NS_ASSUME_NONNULL_BEGIN + +/** + The entrypoint to the Ditto SDK. + + For a `DITDitto` instance to continue to connect to other devices it must be kept in scope. + */ +@interface DITDitto : NSObject + +/** + Configure a custom identifier for the current device. + + When using `presence`, each remote peer is represented by a short UTF-8 "device name". + By default this will be a truncated version of the device's hostname. It does not need to be unique + among peers. + + Configure the device name before calling `startSync:`. If it is too long it may be truncated. + */ +@property (nonatomic) NSString *deviceName; + +/** + Persistence directory used to persist Ditto data. + */ +@property (nonatomic) NSURL *persistenceDirectory; + +/** + The Ditto application ID. + */ +@property (nonatomic, readonly) NSString *appID; + +/** + Provides access to the SDK's store functionality. + */ +@property (atomic, readonly) DITStore *store; + +/** + Provides visibility into the local disk usage for Ditto. + */ +@property (atomic, readonly) DITDiskUsage *diskUsage; + +/** + Provides access to authentication information and methods for logging on to + Ditto Cloud. + */ +@property (nonatomic, nullable, readonly) DITAuthenticator *auth; + +/** + Provides access to the SDK's presence functionality. + */ +@property (nonatomic, readonly) DITPresence *presence; + +/** + Provides access to the instance's identity information. + */ +@property (nonatomic, readonly) DITIdentity *identity; + +/** + A flag indicating whether or not the SDK has been activated with a valid + license token. + */ +@property (nonatomic, readonly, getter=isActivated) BOOL activated; + +/** + A flag indicating whether or not sync is active. Use `startSync:` to activate + sync and `stopSync` to deactivate sync. + */ +@property (nonatomic, readonly, getter=isSyncActive) BOOL syncActive; + +/** + A flag indicating whether or not the receiver is encrypted. + */ +@property (nonatomic, readonly, getter=isEncrypted) BOOL encrypted; + +/** + Assign a new transports configuration. By default peer-to-peer transports (Bluetooth, WiFi and + AWDL) are enabled. + + You may use this method to alter the configuration at any time. Sync will not begin until + `startSync` is called. + */ +@property (nonatomic, copy) DITTransportConfig *transportConfig; + +/** + The site ID that the instance of `DITDitto` is using as part of its identity. + */ +@property (nonatomic, readonly) uint64_t siteID; + +/** + An optional delegate that will be called with SDK lifecycle information if defined. + */ +@property (nonatomic, weak) id delegate; + +/** + The dispatch queue that will be used to deliver delegate events. Defaults to the main queue. + */ +@property (nonatomic) dispatch_queue_t delegateEventQueue; + +/** +Indicates whether history tracking is enabled or not. + +@warning History Tracking is **experimental** and shouldn't be used in production. +*/ +@property (nonatomic, readonly, getter=isHistoryTrackingEnabled) BOOL historyTrackingEnabled; + +/** + Initializes a new `DITDitto`. + This will initialize an instance of `DITDitto` with the default configuration. + */ +- (instancetype)init; + +/** + Initializes a new `DITDitto`. + + @param identity Provide the identity of the entity that is interacting with Ditto. + */ +- (instancetype)initWithIdentity:(DITIdentity *)identity; + +/** + Initializes a new `DITDitto`. + + @param identity Provide the identity of the entity that is interacting with Ditto. + @param historyTrackingEnabled Whether or not you want history tracking enabled. + + @warning History Tracking is **experimental** and shouldn't be used in production. + */ +- (instancetype)initWithIdentity:(DITIdentity *)identity + historyTrackingEnabled:(BOOL)historyTrackingEnabled; + +/** + Initializes a new `DITDitto`. + + @param identity Provide the identity of the entity that is interacting with Ditto. + @param directory The directory that will be used to persist Ditto data. + */ +- (instancetype)initWithIdentity:(DITIdentity *)identity + persistenceDirectory:(nullable NSURL *)directory; + +/** + Initializes a new `DITDitto`. + + @param identity Provide the identity of the entity that is interacting with Ditto. + @param historyTrackingEnabled Whether or not you want history tracking enabled. + @param directory The directory that will be used to persist Ditto data. + + @warning History Tracking is **experimental** and shouldn't be used in production. + */ +- (instancetype)initWithIdentity:(DITIdentity *)identity + historyTrackingEnabled:(BOOL)historyTrackingEnabled + persistenceDirectory:(nullable NSURL *)directory; + +/** + Starts the network transports. Ditto will connect to other devices and sync with them where + appropriate. + + By default Ditto will enable all peer-to-peer transport types. On iOS this means Bluetooth, + WiFi and AWDL. The network configuration can be customized using the `setTransportConfig` + method. + + You must have activated Ditto with a successful call to `setLicenseToken` before starting sync. + + @param error On input, a pointer to an error object. If an error occurs, this pointer + is set to an actual error object containing the error information. You may specify nil for this + parameter if you do not want the error information. + + @return `YES` if sync was successfully started. `NO` otherwise. + */ +- (BOOL)startSync:(NSError *_Nullable __autoreleasing *)error; + +/** + Stops all network transports. + + You may continue to use the database locally but no data will sync to or from other devices. + */ +- (void)stopSync; + +/** + Convenience method to update the current transport config of the receiver. + + Invokes the block with a mutable copy of the current transport config which you + can alter to your liking. The updated transport config is then set on the + receiver. + + You may use this method to alter the configuration at any time. Sync + will not begin until `startSync` is invoked. + */ +- (void)updateTransportConfig:(void (^)(DITMutableTransportConfig *transportConfig))block; + +/** + Activate an offline `DITDitto` instance by setting a license token. You cannot sync data across + instances using an offline (Development, OfflinePlayground, Manual or SharedKey) `DITDitto` + instance before you have activated it. + + @param licenseToken The license token to activate the `DITDitto` instance with, which you can find + on the Ditto portal (https://portal.ditto.live). + @param error On input, a pointer to an error object. If an error occurs, this pointer + is set to an actual error object containing the error information. You may specify nil for this + parameter if you do not want the error information. + + @return `YES` if the license token was successfully set and the `DITDitto` instance is now + activated for sync. `NO` otherwise. + */ +- (BOOL)setOfflineOnlyLicenseToken:(NSString *)licenseToken + error:(NSError *_Nullable __autoreleasing *)error; + +/** + Request bulk status information about the transports. + + This is mostly intended for statistical or debugging purposes. + + @param error On input, a pointer to an error object. If an error occurs, this pointer + is set to an actual error object containing the error information. You may specify nil for this + parameter if you do not want the error information. + + @return An instance of `DITTransportDiagnostics` or `nil` if there was an error. + */ +- (nullable DITTransportDiagnostics *)transportDiagnostics:(NSError **)error; + +/** + Request information about Ditto peers in range of this device. + + This method returns an observer which should be held as long as updates are required. A newly + registered observer will have a peers update delivered to it immediately. From then on it will be + invoked repeatedly when Ditto devices come and go, or the active connections to them change. + + @deprecated use `[self.presence observe:]` instead. + */ +- (id)observePeers:(void (^)(NSArray *))callback + __deprecated_msg("Use `[self.presence observe:]` instead."); + +/** + Request information about Ditto peers in range of this device. + + This method returns an observer which should be held as long as updates are required. A newly + registered observer will have a peers update delivered to it immediately. From then on it will be + invoked repeatedly when Ditto devices come and go, or the active connections to them change. + + @deprecated use `[self.presence observe:]` instead. + */ +- (id)observePeersV2:(void (^)(NSString *))callback + __deprecated_msg("Use `[self.presence observe:]` instead."); + +/** + Returns a string identifying the version of the Ditto SDK. + */ +- (NSString *)sdkVersion; + +/** + The default location of Ditto data files when no persistence directory is specified. + */ ++ (NSURL *)defaultDittoDirectory:(NSFileManager *)fileManager; + +/** + Removes all sync metadata for any remote peers which aren't currently connected. This + method shouldn't usually be called. Manually running garbage collection often will + result in slower sync times. Ditto automatically runs a garbage a collection process + in the background at optimal times. + + Manually running garbage collection is typically only useful during testing if large + amounts of data are being generated. Alternatively, if an entire data set is to be + evicted and it's clear that maintaining this metadata isn't necessary, then garbage + collection could be run after evicting the old data. + */ +- (void)runGarbageCollection; + +/** + Explicitly opt-in to disabling the ability to sync with Ditto peers running + any version of the SDK in the v3 (or lower) series of releases. + + Assuming this succeeds then this peer will only be able to sync with other + peers using SDKs in the v4 (or higher) series of releases. Note that this + disabling of sync spreads to peers that sync with a peer that has disabled, or + has (transitively) had disabled, syncing with v3 SDK peers. + + @param error On input, a pointer to an error object. If an error occurs, this + pointer is set to an actual error object containing the error information. You + may specify nil for this parameter if you do not want the error information. + @return `YES` if the operation was successful. `NO` otherwise. + */ +- (BOOL)disableSyncWithV3:(NSError *_Nullable __autoreleasing *)error; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDittoDelegate.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDittoDelegate.h new file mode 100644 index 0000000..1dfff30 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDittoDelegate.h @@ -0,0 +1,35 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +@class DITDitto; +@class DITAuthenticationRequest; + +/** + An optional delegate object that can be used to get updates about events occurring that relate to + the `DITDitto` object that the delegate was tied to. + */ +@protocol DITDittoDelegate +@optional + +/** + Called when the condition of one of the underlying transports that DITDitto uses changes. + + @param condition The new condition of the transport. + @param source The transport source. + */ +- (void)ditto:(DITDitto *)ditto + transportConditionChanged:(enum DITTransportCondition)condition + forSubsystem:(enum DITConditionSource)source; + +- (void)ditto:(DITDitto *)ditto + identityProviderAuthenticationRequest:(DITAuthenticationRequest *)request; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDocument.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDocument.h new file mode 100644 index 0000000..ad0f550 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDocument.h @@ -0,0 +1,40 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITDocumentID; +@class DITDocumentPath; + +NS_ASSUME_NONNULL_BEGIN + +/** + A document belonging to a `DITCollection` with an inner value. + */ +@interface DITDocument : NSObject + +/** + The ID of the document. + */ +@property (nonatomic, readonly) DITDocumentID *id; + +/** + The document's inner value. + */ +@property (nonatomic, readonly) NSDictionary *value; + +/** + Used to specify a path to a key in the document that you can subscript further to access a + nested key in the document. + + @param key The initial part of the path needed to get to the key in the document you wish to get + the value of. + + @return A `DITDocumentPath` object with the provided key incorporated into the document path. + */ +- (DITDocumentPath *)objectForKeyedSubscript:(NSString *)key; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDocumentID.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDocumentID.h new file mode 100644 index 0000000..348ee8f --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDocumentID.h @@ -0,0 +1,162 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITDocumentIDPath; + +NS_ASSUME_NONNULL_BEGIN + +/** + An identifier for a `DITDocument`. + + Each `DITDocumentID` represents a unique identifier for a document. + */ +@interface DITDocumentID : NSObject + +/** + Initializes a new `DITDocumentID`. + + A document ID can be created from any of the following: + + * string + * integer + * boolean + * null + * byte array + * array (containing any of the items in this list) + * map (where the keys must be strings and the values can be made up of any of + the items in this list) + + Note that you cannot use floats or other custom types to create a document ID. + + Document IDs are also limited in size, based on their serialized + representation, to 256 bytes. You will receive an error if you try to create a + document ID that exceeds the size limit. + + @param idValue The value that represents the document identifier. + */ +- (instancetype)initWithValue:(id)idValue; + +/** + The underlying value of the document identifier as a native type. + */ +@property (nonatomic, readonly) id value; + +/** + Returns a stringified representation of a document identifier. + + The returned string can be used directly in queries that you use with other + Ditto functions. For example you could create a query that was like this: + + ``` + [myCollection find:[NSString stringWithFormat:@"_id == %@", [docID toString]]; + ``` + + @return An `NSString` representation of the document identifier. + */ +- (NSString *)toString; + +/** + Compares two documents and determines whether or not they are equal. + + @param documentID The other document identifier that you want to test equality + with. + + @return A `BOOL` representing whether or not the document identifiers are + equal. + */ +- (BOOL)isEqualToDITDocumentID:(DITDocumentID *)documentID; + +/** + Compares two documents and determines their relative ordering. + + @param documentID The other document identifier that you want to comapre + against. + + @return An `NSComparisonResult` representing the ordering of the document + identifiers when compared. + */ +- (NSComparisonResult)compare:(DITDocumentID *)documentID; + +/** + Used to specify a path to a key in the document ID that you can subscript further to access a + nested key in the document ID, if necessary. + + @param key The initial part of the path needed to get to the key in the document ID you wish to get + the value of. + + @return A `DITDocumentIDPath` object with the provided key incorporated into the document ID path. + */ +- (DITDocumentIDPath *)objectForKeyedSubscript:(NSString *)key; + +/** + Used to specify an index in the array that represents the document ID. You can subscript the return + value further to access a further nested key in the document ID, if necessary. + + @param index The index of the array representing the document ID that you wish to access. + + @return A `DITDocumentIDPath` object with the provided index incorporated into the document ID + path. + */ +- (DITDocumentIDPath *)objectAtIndexedSubscript:(NSUInteger)index; + +/** + Returns the document ID as an `NSString` if possible, otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) NSString *string; + +/** + Returns the document ID as an `NSString`. If the document ID is not represented by a string the + return value will be an empty string. + */ +@property (nonatomic, readonly) NSString *stringValue; + +/** + Returns the document ID as a `BOOL`. If the document ID is not represented by a boolean the + return value will be `false`. + */ +@property (nonatomic, readonly) BOOL booleanValue; + +/** + Returns the document ID as an `NSInteger` if possible, otherwise the return value will be 0. + */ +@property (nonatomic, readonly) NSInteger integerValue; + +/** + Returns the document ID as an `NSNumber` if possible, otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) NSNumber *number; + +/** + Returns the document ID as an `NSNumber`. If the document ID is not represented by a number + the return value will be an `NSNumber` with a value of 0. + */ +@property (nonatomic, readonly) NSNumber *numberValue; + +/** + Returns the document ID as an `NSArray` if possible, otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) NSArray *array; + +/** + Returns the document ID as an `NSArray`. If the document ID is not represented by an array the + return value will be an empty array. + */ +@property (nonatomic, readonly) NSArray *arrayValue; + +/** + Returns the document ID as an `NSDictionary` if possible, otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) NSDictionary *dictionary; + +/** + Returns the document ID as an `NSDictionary`. If the document ID is not represented by a + dictionary the return value will be an empty dictionary. + */ +@property (nonatomic, readonly) NSDictionary *dictionaryValue; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDocumentIDPath.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDocumentIDPath.h new file mode 100644 index 0000000..b97b567 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDocumentIDPath.h @@ -0,0 +1,111 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides an interface to specify a path to a key in a document ID that you can then call a function + on to get the value at the specified key as a specific type. You obtain a `DITDocumentIDPath` by + subscripting a `DITDocumentID` and you can then further subscript a `DITDocumentIDPath` to further + specify the key of the document ID that you want to get the value of. This is only really useful if + you're working with a document ID whose underlying value is a dictionary or an array. + */ +@interface DITDocumentIDPath : NSObject + +/** + Used to specify a path to a key in the document ID that you can subscript further to access a + nested key in the document ID. + + @param key The next part of the path needed to get to the key in the document ID you wish to get + the value of. + + @return The same `DITDocumentIDPath` object with the provided key incorporated into the document ID + path. + */ +- (DITDocumentIDPath *)objectForKeyedSubscript:(NSString *)key; + +/** + Used to specify an index in the array at the preceding key-path specified through the + subscripting defined previously. You can subscript the return value further to access a further + nested key in the document ID. + + @param index The index of the array that you wish to access in the key previously specified with + the preceding subscripting. + + @return The same `DITDocumentIDPath` object with the provided index incorporated into the document + ID path. + */ +- (DITDocumentIDPath *)objectAtIndexedSubscript:(NSUInteger)index; + +/** + Returns the value at the previously specified key in the document ID as an `NSObject` if possible, + otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) id value; + +/** + Returns the value at the previously specified key in the document ID as an `NSString` if possible, + otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) NSString *string; + +/** + Returns the value at the previously specified key in the document ID as an `NSString`. If the key + was invalid the return value will be an empty string. + */ +@property (nonatomic, readonly) NSString *stringValue; + +/** + Returns the value at the previously specified key in the document ID as a `BOOL`. If the key was + invalid the return value will be `false`. + */ +@property (nonatomic, readonly) BOOL booleanValue; + +/** + Returns the value at the previously specified key in the document ID as an `NSInteger` if possible, + otherwise the return value will be 0. + */ +@property (nonatomic, readonly) NSInteger integerValue; + +/** + Returns the value at the previously specified key in the document ID as an `NSNumber` if possible, + otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) NSNumber *number; + +/** + Returns the value at the previously specified key in the document ID as an `NSNumber`. If the key + was invalid the return value will be an `NSNumber` with a value of 0. + */ +@property (nonatomic, readonly) NSNumber *numberValue; + +/** + Returns the value at the previously specified key in the document ID as an `NSArray` if possible, + otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) NSArray *array; + +/** + Returns the value at the previously specified key in the document ID as an `NSArray`. If the key + was invalid the return value will be an empty array. + */ +@property (nonatomic, readonly) NSArray *arrayValue; + +/** + Returns the value at the previously specified key in the document ID as an `NSDictionary` if + possible, otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) NSDictionary *dictionary; + +/** + Returns the value at the previously specified key in the document ID as an `NSDictionary`. If the + key was invalid the return value will be an empty dictionary. + */ +@property (nonatomic, readonly) NSDictionary *dictionaryValue; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDocumentPath.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDocumentPath.h new file mode 100644 index 0000000..8ebcedd --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITDocumentPath.h @@ -0,0 +1,134 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITAttachmentToken; +@class DITCounter; +@class DITRegister; + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides an interface to specify a path to a key in a document that you can then call a function + on to get the value at the specified key as a specific type. You obtain a `DITDocumentPath` by + subscripting a `DITDocument` and you can then further subscript a `DITDocumentPath` to further + specify the key of the document that you want to get the value of. + */ +@interface DITDocumentPath : NSObject + +/** + Used to specify a path to a key in the document that you can subscript further to access a + nested key in the document. + + @param key The next part of the path needed to get to the key in the document you wish to get + the value of. + + @return The same `DITDocumentPath` object with the provided key incorporated into the document + path. + */ +- (DITDocumentPath *)objectForKeyedSubscript:(NSString *)key; + +/** + Used to specify an index in the array at the preceding key-path specified through the + subscripting defined previously. You can subscript the return value further to access a further + nested key in the document. + + @param index The index of the array that you wish to access in the key previously specified with + the preceding subscripting. + + @return The same `DITDocumentPath` object with the provided index incorporated into the document + path. + */ +- (DITDocumentPath *)objectAtIndexedSubscript:(NSUInteger)index; + +/** + Returns the value at the previously specified key in the document as an `NSObject` if possible, + otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) id value; + +/** + Returns the value at the previously specified key in the document as an `NSString` if possible, + otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) NSString *string; + +/** + Returns the value at the previously specified key in the document as an `NSString`. If the key + was invalid the return value will be an empty string. + */ +@property (nonatomic, readonly) NSString *stringValue; + +/** + Returns the value at the previously specified key in the document as a `BOOL`. If the key was + invalid the return value will be `false`. + */ +@property (nonatomic, readonly) BOOL booleanValue; + +/** + Returns the value at the previously specified key in the document as an `NSInteger` if possible, + otherwise the return value will be 0. + */ +@property (nonatomic, readonly) NSInteger integerValue; + +/** + Returns the value at the previously specified key in the document as an `NSNumber` if possible, + otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) NSNumber *number; + +/** + Returns the value at the previously specified key in the document as an `NSNumber`. If the key + was invalid the return value will be an `NSNumber` with a value of 0. + */ +@property (nonatomic, readonly) NSNumber *numberValue; + +/** + Returns the value at the previously specified key in the document as an `NSArray` if possible, + otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) NSArray *array; + +/** + Returns the value at the previously specified key in the document as an `NSArray`. If the key + was invalid the return value will be an empty array. + */ +@property (nonatomic, readonly) NSArray *arrayValue; + +/** + Returns the value at the previously specified key in the document as an `NSDictionary` if + possible, otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) NSDictionary *dictionary; + +/** + Returns the value at the previously specified key in the document as an `NSDictionary`. If the + key was invalid the return value will be an empty dictionary. + */ +@property (nonatomic, readonly) NSDictionary *dictionaryValue; + +/** + Returns the value at the previously specified key in the document as a `DITAttachmentToken` if + possible, otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) DITAttachmentToken *attachmentToken; + +/** + Returns the value at the previously specified key in the document as a `DITCounter` if + possible, otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) DITCounter *counter; + +// TODO: I really don't like having to have the `Value` suffix, but `register` isn't allowed on its +// own. Maybe we should also suffix `counter`, to make it consistent at least? Or something else? +/** + Returns the value at the previously specified key in the document as a `DITRegister` if + possible, otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) DITRegister *lwwRegister; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITErrors.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITErrors.h new file mode 100644 index 0000000..f53e331 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITErrors.h @@ -0,0 +1,155 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +FOUNDATION_EXPORT NSString *__nonnull const DITDomain; + +// clang-format off +// Taken from https://gist.github.com/bdash/bf29e26c429b78cc155f1a2e1d851f8b +#if __has_attribute(ns_error_domain) +#define DIT_ERROR_ENUM(type, name, domain) \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Wignored-attributes\"") \ + NS_ENUM(type, __attribute__((ns_error_domain(domain))) name) \ + _Pragma("clang diagnostic pop") +#else +#define DIT_ERROR_ENUM(type, name, domain) NS_ENUM(type, name) +#endif +// clang-format on + +/** + All of the error code values for `NSError`'s with the `DITDomain` domain. + */ +typedef DIT_ERROR_ENUM(NSInteger, DITErrorCode, DITDomain){ + /** + An unknown error occurred. + */ + DITUnknownError = 1, + + /** + Operation not supported on this platform and/or language. + */ + DITUnsupportedError = 2, + + /** + An error occurred with the storage backend. + */ + DITStorageInteralError = 10, + + /** + The document could not be found. + */ + DITDocumentNotFoundError = 11, + + /** + The provided document content failed to be encoded. + */ + DITDocumentContentEncodingFailed = 12, + + /** + The request to get transport diagnostics failed. + */ + DITTransportDiagnosticsUnavailable = 13, + + /** + Decoding of transport diagnostics data failed. + */ + DITTransportDiagnosticsDecodingFailed = 14, + + /** + The attachment's data could not be retrieved. + */ + DITAttachmentDataRetrievalError = 15, + + /** + The attachment file failed to be copied. + */ + DITAttachmentFileCopyError = 16, + + /** + There was an error with a query. + */ + DITQueryError = 17, + + /** + The Ditto instance has not yet been activated, which is achieved via a successful call to + `setLicenseToken`. + */ + DITNotActivatedError = 18, + + /** + The provided license token has expired. + */ + DITLicenseTokenExpiredError = 19, + + /** + Verification of the provided license token failed. + */ + DITLicenseTokenVerificationFailedError = 20, + + /** + The provided license token is in an unsupported future format. + */ + DITLicenseTokenUnsupportedFutureVersionError = 21, + + /** + Failed to authenticate with remote server. + */ + DITFailedToAuthenticateError = 22, + + /** + Disabling sync with v3 peers failed. + */ + DITDisableSyncWithV3Failed = 32, + + /** + Ditto data is encrypted but passed in passphrase is not valid. + */ + DITPassphraseInvalidError = 33, + + /** + Ditto data is encrypted but no passphrase was given. + */ + DITPassphraseNotGivenError = 34, + + /** + Ditto data is not encrypted but passphrase was passed in. + */ + DITExtraneousPassphraseGivenError = 35, + + /** + The query arguments were invalid. + */ + DITQueryArgumentsInvalidError = 36, + + /** + Permission has been denied for a file operation when working with attachments. + */ + DITAttachmentFilePermissionDeniedError = 37, + + /** + Attachment file could not be found. + */ + DITAttachmentFileNotFoundError = 38, + + /** + Attachment could not be found. + */ + DITAttachmentNotFoundError = 39, + + /** + Attachment token is invalid. + */ + DITAttachmentTokenInvalidError = 40, + + /** + An unclassified error occured while creating an attachment. + */ + DITFailedToCreateAttachmentError = 41, + + /** + An unclassified error occured while fetching an attachment. + */ + DITFailedToFetchAttachmentError = 42}; diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITExperimental.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITExperimental.h new file mode 100644 index 0000000..0868023 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITExperimental.h @@ -0,0 +1,49 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class DITDitto; +@class DITIdentity; + +/** + Upcoming SDK features made available for prototyping. + + @warning Experimental functionality should not be used in production + applications as it may be changed or removed at any time, and may not + have the same security features. + */ +@interface DITExperimental : NSObject + +- (instancetype)init NS_UNAVAILABLE; + +/** + Experimental factory method creating a `DITDitto` object with on-disk + encryption enabled if `passphrase` is given. Otherwise data will be + written to disk unencrypted, just as with regular `DITDitto` initializers. + + @param identity Provide the identity of the entity that is interacting with Ditto. + @param historyTrackingEnabled Whether or not you want history tracking enabled. + @param directory The directory that will be used to persist Ditto data. + @param passphrase If given, the data will be encrypted on disk with the passphrase. + @param error If an error occurs, upon return contains an `NSError` object that + describes the problem. If you are not interested in possible errors, pass in `NULL`. + */ ++ (nullable DITDitto *)openWithIdentity:(DITIdentity *)identity + historyTrackingEnabled:(BOOL)historyTrackingEnabled + persistenceDirectory:(nullable NSURL *)directory + passphrase:(nullable NSString *)passphrase + error:(NSError *_Nullable *)error; + +/** Transcodes CBOR to a JSON string. */ ++ (nullable NSData *)JSONDataByTranscodingCBORData:(NSData *)cbor + error:(NSError *_Nullable __autoreleasing *)error; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITFileSystemType.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITFileSystemType.h new file mode 100644 index 0000000..2e77b18 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITFileSystemType.h @@ -0,0 +1,45 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Type of file represented by a `DiskUsageItem`. + */ +typedef NS_ENUM(NSInteger, DITFileSystemType) { + DITFileSystemTypeDirectory = 0, + DITFileSystemTypeFile, + DITFileSystemTypeSymLink +}; + +/** Returns a dictionary of all types by their names. */ +NSDictionary *DITFileSystemTypeAllCasesByName(void); + +/** Returns a dictionary of all names by their types. */ +NSDictionary *DITFileSystemTypeAllNamesByCase(void); + +/** + Returns an array containing all possible cases of the `DITFileSystemType` + enum. + */ +NSArray *DITFileSystemTypeAllCases(void); + +/** + Returns an array containing the names for all possible cases of the + `DITFileSystemType` enum. + */ +NSArray *DITFileSystemTypeAllCaseNames(void); + +/** Returns the name for a particular case of the `DITFileSystemType` enum. */ +NSString *DITFileSystemTypeName(DITFileSystemType connectionType); + +/** + Returns the case for the name of a particular case of the + `DITFileSystemType` enum. + */ +DITFileSystemType DITFileSystemTypeForName(NSString *name); + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITGlobalConfig.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITGlobalConfig.h new file mode 100644 index 0000000..3923c38 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITGlobalConfig.h @@ -0,0 +1,84 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class DITMutableGlobalConfig; + +/** + Settings not associated with any specific type of transport. + */ +@interface DITGlobalConfig : NSObject + ++ (instancetype)globalConfig; + +/** + The sync group for this device. + + When peer-to-peer transports are enabled, all devices with the same App ID will + normally form an interconnected mesh network. In some situations it may be + desirable to have distinct groups of devices within the same app, so that + connections will only be formed within each group. The `syncGroup` parameter + changes that group membership. A device can only ever be in one sync group, which + by default is group 0. Up to 2^32 distinct group numbers can be used in an app. + + This is an optimization, not a security control. If a connection is created + manually, such as by specifying a `connect` transport, then devices from + different sync groups will still sync as normal. If two groups of devices are + intended to have access to different data sets, this must be enforced using + Ditto's permissions system. + */ +@property (nonatomic, readonly) uint32_t syncGroup; + +/** + The routing hint for this device. + + A routing hint is a performance tuning option which can improve the performance of + applications that use large collections. Ditto will make a best effort to co-locate data for + the same routing key. In most circumstances, this should substantially improve responsiveness + of the Ditto Cloud. + + The value of the routing hint is application specific - you are free to chose any value. + Devices which you expect to operate on much the same data should be configured to + use the same value. + + A routing hint does not partition data. The value of the routing hint will not affect the data + returned for a query. The routing hint only improves the efficiency of the Cloud's + ability to satisfy the query. + */ +@property (nonatomic, readonly) uint32_t routingHint; + +/** + Initialize `DITGlobalConfig` by copying the configuration from another `DITGlobalConfig` object one + to one. + */ +- (instancetype)initWithDITGlobalConfig:(DITGlobalConfig *)config; +/** + Initialize `DITGlobalConfig` with sync group. + */ +- (instancetype)initWithSyncGroup:(uint32_t)syncGroup; +/** + Initialize `DITGlobalConfig` with both sync group and routing hint. + */ +- (instancetype)initWithSyncGroup:(uint32_t)syncGroup routingHint:(uint32_t)routingHint; + +/** + Check if configuration matches another `DITGlobalConfig`. + */ +- (BOOL)isEqualToDITGlobalConfig:(DITGlobalConfig *)config; + +@end + +// MARK: - + +@interface DITGlobalConfig (DITTypeCorrections) + +- (DITGlobalConfig *)copy; +- (DITMutableGlobalConfig *)mutableCopy; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITHTTPListenConfig.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITHTTPListenConfig.h new file mode 100644 index 0000000..67ede13 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITHTTPListenConfig.h @@ -0,0 +1,93 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class DITMutableHTTPListenConfig; + +@interface DITHTTPListenConfig : NSObject + ++ (instancetype)httpListenConfig; + +@property (nonatomic, readonly, getter=isEnabled) BOOL enabled; +/** + IP interface to bind to. [::] by default. + */ +@property (nonatomic, readonly) NSString *interfaceIp; +/** + Listening port. 80 by default. + */ +@property (nonatomic, readonly) uint16_t port; +/** + An absolute path to a directory of static HTTP content that should be served by this device. + + If nil (default), this feature is disabled. + */ +@property (nonatomic, readonly, nullable) NSString *staticContentPath; +/** + If YES (default), peers can connect over websocket to sync with this peer. + + This feature has security implications and should only be used together with documentation on + Ditto's website. + */ +@property (nonatomic, readonly) BOOL websocketSync; +/** + An absolute path to the PEM-formatted private key for HTTPS. Must be set together with + tlsCertificatePath. + + If nil, the server runs as unencrypted HTTP. + */ +@property (nonatomic, readonly, nullable) NSString *tlsKeyPath; +/** + An absolute path to the PEM-formatted certificate for HTTPS. Must be set together with tlsKeyPath. + + If nil, the server runs as unencrypted HTTP. + */ +@property (nonatomic, readonly, nullable) NSString *tlsCertificatePath; +/** + Enable acting as a provider of Ditto identities. + */ +@property (nonatomic, readonly, getter=isIdentityProvider) BOOL identityProvider; +/** + PEM-encoded private key for signing tokens and certificates when acting as an identity provider. + */ +@property (nonatomic, readonly, nullable) NSString *identityProviderSigningKey; +/** + PEM-encoded public keys for verifying tokens and certificates when acting as an identity provider. + */ +@property (nonatomic, readonly, nullable) NSArray *identityProviderVerifyingKeys; +/** + PEM-encoded private key that should be used to issue certificates for clients in peer-to-peer mode. + */ +@property (nonatomic, readonly, nullable) NSString *caKey; + +- (instancetype)initWithDITHTTPListenConfig:(DITHTTPListenConfig *)config; +- (instancetype)initWithEnabled:(BOOL)enabled + interfaceIp:(NSString *)interfaceIp + port:(uint16_t)port + staticContentPath:(nullable NSString *)staticContentPath + websocketSync:(BOOL)websocketSync + tlsKeyPath:(nullable NSString *)tlsKeyPath + tlsCertificatePath:(nullable NSString *)tlsCertificatePath + isIdentityProvider:(BOOL)isIdentityProvider + identityProviderSigningKey:(nullable NSString *)identityProviderSigningKey + identityProviderVerifyingKeys:(nullable NSArray *)identityProviderVerifyingKeys + caKey:(nullable NSString *)caKey; + +- (BOOL)isEqualToDITHTTPListenConfig:(DITHTTPListenConfig *)config; + +@end + +// MARK: - + +@interface DITHTTPListenConfig (DITTypeCorrections) + +- (DITHTTPListenConfig *)copy; +- (DITMutableHTTPListenConfig *)mutableCopy; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITIdentity.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITIdentity.h new file mode 100644 index 0000000..94c353a --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITIdentity.h @@ -0,0 +1,419 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@protocol DITAuthenticationDelegate; + +/** + The identity types you can use with DittoObjC. + + The various identity configurations that you can use when initializing a + `DITDitto` instance. + + - OfflinePlayground: Develop peer-to-peer apps with no cloud connection. This + mode offers no security and must only be used for development. + - OnlineWithAuthentication: Run Ditto in secure production mode, logging on to + Ditto Cloud or on on-premises authentication server. User permissions are + centrally managed. + - OnlinePlayground: Test a Ditto Cloud app with weak shared token + authentication ("Playground mode"). This mode is not secure and must only be + used for development. + - SharedKey: A mode where any device is trusted provided they know the secret + key. This is a simplistic authentication model normally only suitable for + private apps where users and devices are both trusted. + - Manual: A manually-provided certificate identity. This accepts a + base64-encoded bundle. + */ +typedef NS_ENUM(NSUInteger, DITIdentityType) { + DittoOfflinePlaygroundIdentity = 0, + DittoOnlineWithAuthenticationIdentity, + DittoOnlinePlaygroundIdentity, + DittoSharedKeyIdentity, + DittoManualIdentity, +}; + +/** + Used to identify a given peer in your network. In practice a peer may be a + user, a device, or it might be some other entity in your system. + */ +@interface DITIdentity : NSObject + +/** + The type of the identity. + */ +@property (nonatomic, readonly) enum DITIdentityType type; + +/** + The app ID. + + Use this to ensure that connections between devices are only established if + they share the same app ID. + + Note that this will not be set for all identity types. + */ +@property (nonatomic, readonly, nullable) NSString *appID; + +/** + The site ID. + + Use this to identity different users or devices. Site IDs are persisted between + sessions. + + Site IDs should be unique and not reused by different users or devices. + + Note that this will not be set to a meaningful value for all identity types. + `0` will represent an unset value. + */ +@property (nonatomic, readonly) uint64_t siteID; + +/** + If true, sync with Ditto Cloud will be auto-configured. + + Note that this will not be set to a meaningful value for all identity types. + `false` will represent an unset value. + */ +@property (nonatomic, readonly) BOOL enableDittoCloudSync; + +/** + A base64 encoded DER representation of a private key, which is shared between + devices for a single app. + + Note that this will not be set for all identity types. + */ +@property (nonatomic, readonly, nullable) NSURL *customAuthURL; + +/** + A base64 encoded DER representation of a private key, which is shared between + devices for a single app. + + Note that this will not be set for all identity types. + */ +@property (nonatomic, readonly, nullable) NSString *sharedKey; + +/** + A base64 encoded string representation of a certificate bundle. + + Note that this will not be set for all identity types. + */ +@property (nonatomic, readonly, nullable) NSString *certificateConfig; + +/** + A shared token used to set up the OnlinePlayground session. This token is + provided by the Ditto portal when setting up the application. + + Note that this will not be set for all identity types. + */ +@property (nonatomic, readonly, nullable) NSString *onlinePlaygroundToken; + +/** + Creates an OfflinePlayground identity suitable to develop peer-to-peer apps + with no cloud connection. This mode offers no security and must only be used + for development. + + @return The default OfflinePlayground identity. + */ +- (instancetype)init; + +// MARK: - OfflinePlayground identity inits + +/** + Creates an OfflinePlayground identity suitable to develop peer-to-peer apps + with no cloud connection. This mode offers no security and must only be used + for development. + + @return The default OfflinePlayground identity. + */ +- (instancetype)initOfflinePlayground; + +/** + Creates an OfflinePlayground identity with the provided site ID and the default + app ID. The identity created will be suitable to develop peer-to-peer apps with + no cloud connection. This mode offers no security and must only be used for + development. + + @param siteID the site ID of the peer. + + @return An OfflinePlayground identity using the default app ID and the provided + site ID. + */ +- (instancetype)initOfflinePlaygroundWithSiteID:(uint64_t)siteID; + +/** + Creates an OfflinePlayground identity with the provided app ID and a random + site ID. The identity created will be suitable to develop peer-to-peer apps + with no cloud connection. This mode offers no security and must only be used + for development. + + @param appID a UUID identifying this app registration on the Ditto portal, + which can be found at https://portal.ditto.live. + + @return An OfflinePlayground identity using the provided app ID and a random + site ID. + */ +- (instancetype)initOfflinePlaygroundWithAppID:(NSString *)appID; + +/** + Creates an OfflinePlayground identity with the provided app ID and provided + site ID. The identity created will be suitable to develop peer-to-peer apps + with no cloud connection. This mode offers no security and must only be used + for development. + + @param appID an optional UUID identifying this app registration on the Ditto + portal, which can be found at https://portal.ditto.live. + @param siteID the site ID of the peer. + + @return An OfflinePlayground identity using either the provided app ID or the + default one, and the provided site ID. + */ +- (instancetype)initOfflinePlaygroundWithAppID:(nullable NSString *)appID siteID:(uint64_t)siteID; + +// MARK: - OnlineWithAuthentication identity inits + +/** + Creates an OnlineWithAuthentication identity. + + OnlineWithAuthentication identities should be used when running Ditto in secure + production mode, logging on to Ditto Cloud, or using an on-premises + authentication server. User permissions are centrally managed. Sync will not + work until a successful login has occurred. + + The only required configuration is the application's UUID, which can be found + on the Ditto portal where the app is registered, and an authentication + callback. If you want to configure a custom auth URL or specify that you don't + want cloud sync to be used then use one of the other + `initOnlineWithAuthentication`-prefixed methods. + + By default cloud sync is enabled. This means the SDK will sync to a Big Peer in + Ditto's cloud when an internet connection is available. This is controlled by + the `enableDittoCloudSync` parameter found in the other + `initOnlineWithAuthentication`-prefixed methods. If `true` (default), a + suitable wss:// URL will be added to the `TransportConfig`. To prevent cloud + sync, or to specify your own URL later, pass `false`. + + Authentication requests are handled by Ditto's cloud by default, configured in + the portal at https://portal.ditto.live. + + To use a different or on-premises authentication service, use the appropriate + `initOnlineWithAuthentication`-prefixed method and pass a custom HTTPS base URL + as the `customAuthURL` parameter. + + @param appID a UUID identifying this app registration on the Ditto portal, + which can be found at https://portal.ditto.live. + @param authenticationDelegate a handler for when Ditto requires + (re)authentication. + + @return An OnlineWithAuthentication identity suitable for a production Ditto + deployment. + */ +- (instancetype)initOnlineWithAuthenticationWithAppID:(NSString *)appID + authenticationDelegate: + (id)authenticationDelegate; + +/** + Creates an OnlineWithAuthentication identity. + + OnlineWithAuthentication identities should be used when running Ditto in secure + production mode, logging on to Ditto Cloud, or using an on-premises + authentication server. User permissions are centrally managed. Sync will not + work until a successful login has occurred. + + The only required configuration is the application's UUID, which can be found + on the Ditto portal where the app is registered, and an authentication + callback. If you don't want/need to provide a value for `enableDittoCloudSync` + then use one of the other `initOnlineWithAuthentication`-prefixed methods. + + By default cloud sync is enabled. This means the SDK will sync to a Big Peer in + Ditto's cloud when an internet connection is available. This is controlled by + the `enableDittoCloudSync` parameter. If `true` (default), a suitable wss:// + URL will be added to the `TransportConfig`. To prevent cloud sync, or to + specify your own URL later, pass `false`. + + Authentication requests are handled by Ditto's cloud by default, configured in + the portal at https://portal.ditto.live. + + To use a different or on-premises authentication service, pass a custom HTTPS + base URL as the `customAuthURL` parameter. + + @param appID a UUID identifying this app registration on the Ditto portal, + which can be found at https://portal.ditto.live. + @param authenticationDelegate a handler for when Ditto requires + (re-)authentication. + @param enableDittoCloudSync if true, auto-configure sync with Ditto Cloud. + + @return An OnlineWithAuthentication identity suitable for a production Ditto + deployment. + */ +- (instancetype)initOnlineWithAuthenticationWithAppID:(NSString *)appID + authenticationDelegate: + (id)authenticationDelegate + enableDittoCloudSync:(BOOL)enableDittoCloudSync; + +/** + Creates an OnlineWithAuthentication identity. + + OnlineWithAuthentication identities should be used when running Ditto in secure + production mode, logging on to Ditto Cloud, or using an on-premises + authentication server. User permissions are centrally managed. Sync will not + work until a successful login has occurred. + + The only required configuration is the application's UUID, which can be found + on the Ditto portal where the app is registered, and an authentication + delegate. If you don't want/need to provide a value for `enableDittoCloudSync` + or `customAuthURL` then use one of the other + `initOnlineWithAuthentication`-prefixed methods. + + By default cloud sync is enabled. This means the SDK will sync to a Big Peer in + Ditto's cloud when an internet connection is available. This is controlled by + the `enableDittoCloudSync` parameter. If `true` (default), a suitable wss:// + URL will be added to the `TransportConfig`. To prevent cloud sync, or to + specify your own URL later, pass `false`. + + Authentication requests are handled by Ditto's cloud by default, configured in + the portal at https://portal.ditto.live. + + To use a different or on-premises authentication service, pass a custom HTTPS + base URL as the `customAuthURL` parameter. + + @param appID a UUID identifying this app registration on the Ditto portal, + which can be found at https://portal.ditto.live. + @param authenticationDelegate a handler for when Ditto requires + (re-)authentication. + @param enableDittoCloudSync if true, auto-configure sync with Ditto Cloud. + @param customAuthURL if specified, use a custom authentication service instead + of Ditto Cloud. + + @return An OnlineWithAuthentication identity suitable for a production Ditto + deployment. + */ +- (instancetype)initOnlineWithAuthenticationWithAppID:(NSString *)appID + authenticationDelegate: + (id)authenticationDelegate + enableDittoCloudSync:(BOOL)enableDittoCloudSync + customAuthURL:(nullable NSURL *)customAuthURL; + +// MARK: - OnlinePlayground identity inits + +/** + Creates an OnlinePlayground identity. + + OnlinePlayground identities should be used when you want to test a Ditto Cloud + app without authentication ("Playground mode"). This mode offers no security + and must only be used for development. + + @param appID a UUID identifying this app registration on the Ditto portal, + which can be found at https://portal.ditto.live. + @param token a shared token used to set up the OnlinePlayground session. This + token is provided by the Ditto portal when setting up the application. + + @return An Online identity suitable when using Ditto in development. + */ +- (instancetype)initOnlinePlaygroundWithAppID:(NSString *)appID token:(NSString *)token; + +/** + Creates an OnlinePlayground identity. + + OnlinePlayground identities should be used when you want to test a Ditto Cloud + app without authentication ("Playground mode"). This mode offers no security + and must only be used for development. + + @param appID a UUID identifying this app registration on the Ditto portal, + which can be found at https://portal.ditto.live. + @param token a shared token used to set up the OnlinePlayground session. This + token is provided by the Ditto portal when setting up the application. + @param enableDittoCloudSync if true, auto-configure sync with Ditto Cloud. + + @return An OnlinePlayground identity suitable when using Ditto in development. + */ +- (instancetype)initOnlinePlaygroundWithAppID:(NSString *)appID + token:(NSString *)token + enableDittoCloudSync:(BOOL)enableDittoCloudSync; + +/** + Creates an OnlinePlayground identity. + + OnlinePlayground identities should be used when you want to test a Ditto Cloud + app without authentication ("Playground mode"). This mode offers no security + and must only be used for development. + + @param appID a UUID identifying this app registration on the Ditto portal, + which can be found at https://portal.ditto.live. + @param token a shared token used to set up the OnlinePlayground session. This + token is provided by the Ditto portal when setting up the application. + @param enableDittoCloudSync if true, auto-configure sync with Ditto Cloud. + @param customAuthURL if specified, use a custom authentication service instead + of Ditto Cloud. + + @return An OnlinePlayground identity suitable when using Ditto in development. + */ +- (instancetype)initOnlinePlaygroundWithAppID:(NSString *)appID + token:(NSString *)token + enableDittoCloudSync:(BOOL)enableDittoCloudSync + customAuthURL:(nullable NSURL *)customAuthURL; + +// MARK: - SharedKey identity inits + +/** + Creates a shared key identity with the provided app ID and shared key. + + Identities created using this init should be used where any device is trusted + provided they know the shared key. This is a simplistic authentication model + normally only suitable for private apps where users and devices are both + trusted. In this mode, any string may be used as the app ID. + + @param appID a UUID identifying this app registration on the Ditto portal, + which can be found at https://portal.ditto.live. + @param sharedKey a base64-encoded DER private key. Refer to Ditto documentation + for details about generating shared keys. + + @return A shared key identity + */ +- (instancetype)initSharedKeyWithAppID:(NSString *)appID sharedKey:(NSString *)sharedKey; + +/** + Creates a shared key identity with the provided app ID, site ID and shared key. + + Identities created using this init should be used where any device is trusted + provided they know the shared key. This is a simplistic authentication model + normally only suitable for private apps where users and devices are both + trusted. In this mode, any string may be used as the app ID. + + @param appID a UUID identifying this app registration on the Ditto portal, + which can be found at https://portal.ditto.live. + @param sharedKey a base64-encoded DER private key. Refer to Ditto documentation + for details about generating shared keys. + @param siteID the site ID of the peer. + + @return A shared key identity + */ +- (instancetype)initSharedKeyWithAppID:(NSString *)appID + sharedKey:(NSString *)sharedKey + siteID:(uint64_t)siteID; + +// MARK: Manual identity inits + +/** + Creates a Manual identity using the provided certificate config. + + @param certificateConfig a base64 encoded string representation of a + certificate bundle. + + @return A Manual identity using the provided certificate config. + */ +- (instancetype)initManualWithCertificateConfig:(NSString *)certificateConfig; + +/** + Helper function to return whether the identity type requires an offline license token + to be set in order to be able to activate the Ditto instance and to enable sync with + remote peers. Will return `YES` for OfflinePlayground, Manual and SharedKey identity types. + + @return `YES` if instances using the identity type require an offline license token for syncing. + */ +- (BOOL)requiresOfflineLicenseToken; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITLANConfig.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITLANConfig.h new file mode 100644 index 0000000..0d3587e --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITLANConfig.h @@ -0,0 +1,39 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class DITMutableLANConfig; +/** + LAN configuration to configure peer discovery via mDNS or multicast. Part of `DITPeerToPeer`. + */ +@interface DITLANConfig : NSObject + ++ (instancetype)lanConfig; + +@property (nonatomic, readonly, getter=isEnabled) BOOL enabled; +@property (nonatomic, readonly, getter=ismDNSEnabled) BOOL mDNSEnabled; +@property (nonatomic, readonly, getter=isMulticastEnabled) BOOL multicastEnabled; + +- (instancetype)initWithDITLANConfig:(DITLANConfig *)config; +- (instancetype)initWithEnabled:(BOOL)enabled + mDNSEnabled:(BOOL)mDNSEnabled + multicastEnabled:(BOOL)multicastEnabled; + +- (BOOL)isEqualToDITLANConfig:(DITLANConfig *)config; + +@end + +// MARK: - + +@interface DITLANConfig (DITTypeCorrections) + +- (DITLANConfig *)copy; +- (DITMutableLANConfig *)mutableCopy; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITListen.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITListen.h new file mode 100644 index 0000000..e7be496 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITListen.h @@ -0,0 +1,41 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class DITMutableListen; + +/** + Configure this device as a Ditto server. Disabled by default. + + This is advanced usage that is not needed in most situations. Please refer to the documentation + on Ditto's website for scenarios and example configurations. + */ +@interface DITListen : NSObject + ++ (instancetype)listen; + +@property (nonatomic, readonly) DITTCPListenConfig *tcp; +@property (nonatomic, readonly) DITHTTPListenConfig *http; + +- (instancetype)initWithDITListen:(DITListen *)listen; +- (instancetype)initWithTCP:(DITTCPListenConfig *)tcp HTTP:(DITHTTPListenConfig *)http; + +@end + +// MARK: - + +@interface DITListen (DITTypeCorrections) + +- (DITListen *)copy; +- (DITMutableListen *)mutableCopy; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITLiveQuery.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITLiveQuery.h new file mode 100644 index 0000000..68557ee --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITLiveQuery.h @@ -0,0 +1,41 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + The type that is returned when calling when calling `observeLocal` on a `DITPendingCursorOperation` + object. It handles the logic for calling the event handler that is provided to `observeLocal` + calls. + + `DITLiveQuery` objects must be kept in scope for as long as you with to have your event handler + be called when there is an update to a document matching the query you provide. When you no + longer want to receive updates about documents matching a query then you must call `stop` on the + `DITLiveQuery` object. + */ +@interface DITLiveQuery : NSObject + +/** + The query that the live query is based on. + */ +@property (nonatomic, readonly) NSString *query; + +/** + The name of the collection that the live query is based on. + */ +@property (nonatomic, readonly) NSString *collectionName; + +/** + Stop the live query from delivering updates. + + When you no longer want to receive updates about documents matching a query then you must call + `stop` on the `DITLiveQuery` object. + */ +- (void)stop; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITLiveQueryEvent.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITLiveQueryEvent.h new file mode 100644 index 0000000..fc7d832 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITLiveQueryEvent.h @@ -0,0 +1,69 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITDocument; +@class DITLiveQueryMove; + +NS_ASSUME_NONNULL_BEGIN + +/** + Describes events delivered by a `DITLiveQuery`. + + Only the first event in a live query's lifetime will have the `isInitial` + `BOOL` set to `true`. The first event will return empty arrays for all values + because there can't be any modifications to the set of matching documents for a + live query if it's the first time event handler is being called. + */ +@interface DITLiveQueryEvent : NSObject + +/** + Whether or not this is the initial event being delivered. + */ +@property (nonatomic, readonly) BOOL isInitial; + +/** + The documents that previously matched the query, before the latest event. + */ +@property (nonatomic, readonly) NSArray *oldDocuments; + +/** + The indexes in the array of matching documents that accompany this event, which relate to a + document that was not in the previous most recent list of matching documents. + */ +@property (nonatomic, readonly) NSArray *insertions; + +/** + The indexes in the array `oldDocument`, which relate to a document that was in the previous most + recent list of matching documents but is no longer a matching document. + */ +@property (nonatomic, readonly) NSArray *deletions; + +/** + The indexes in the array of matching documents that accompany this event, which relate to a + document that has been updated since the previous live query event. + */ +@property (nonatomic, readonly) NSArray *updates; + +/** + Objects that describe how documents' positions in the list of matching documents have changed since + the previous live query event. + */ +@property (nonatomic, readonly) NSArray *moves; + +/** + Returns a hash that represents the set of matching documents. + */ +- (uint64_t)hash:(NSArray *)documents; + +/** + Returns a pattern of words that together create a mnemonic, which represents the set of matching + documents. + */ +- (NSString *)hashMnemonic:(NSArray *)documents; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITLiveQueryMove.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITLiveQueryMove.h new file mode 100644 index 0000000..421b345 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITLiveQueryMove.h @@ -0,0 +1,27 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + An object that describes how a document's position in a live query's list of matching documents has + changed since the previous live query event. + */ +@interface DITLiveQueryMove : NSObject + +/** + The index of the document in the list of matching documents from the previous live query event. + */ +@property (nonatomic, readonly) NSInteger from; + +/** + The index of the document in the list of matching documents from the new live query event. + */ +@property (nonatomic, readonly) NSInteger to; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITLogLevel.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITLogLevel.h new file mode 100644 index 0000000..c152ab8 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITLogLevel.h @@ -0,0 +1,21 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#ifndef DITLogLevel_h +#define DITLogLevel_h + +#import + +/** + The log level types that DittoObjC supports. + */ +typedef NS_ENUM(NSUInteger, DITLogLevel) { + DITLogLevelError = 1, + DITLogLevelWarning = 2, + DITLogLevelInfo = 3, + DITLogLevelDebug = 4, + DITLogLevelVerbose = 5, +}; + +#endif diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITLogger.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITLogger.h new file mode 100644 index 0000000..ad6e88d --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITLogger.h @@ -0,0 +1,64 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Class with static methods to customize the logging behavior from Ditto. + */ +@interface DITLogger : NSObject + +/** + Whether the logger is currently enabled. + */ +@property (class, nonatomic, assign) BOOL enabled; + +/** + The minimum log level at which logs will be logged. + + For example if this is set to `DITLogLevel.Warning`, then only logs that are logged with + the `Warning` or `Error` log levels will be shown. + */ +@property (class, nonatomic, assign) enum DITLogLevel minimumLogLevel; + +/** + Represents whether or not emojis should be used as the log level indicator in the logs. + */ +@property (class, nonatomic, assign) BOOL emojiLogLevelHeadingsEnabled; + +/** + Registers a file path where logs will be written to, whenever Ditto wants + to issue a log (on _top_ of emitting the log to the console). + + @param logFile can be `nil`, in which case the current logging file, if any, + is unregistered, otherwise, the file path must be within an already existing directory. + */ ++ (void)setLogFile:(nullable NSString *)logFile; + +/** + Registers a file path where logs will be written to, whenever Ditto wants + to issue a log (on _top_ of emitting the log to the console). + + @param logFile can be `nil`, in which case the current logging file, if any, + is unregistered, otherwise, the file path must be within an already existing directory. + */ ++ (void)setLogFileURL:(nullable NSURL *)logFile; + +/** + Registers a callback for a fully customizable way of handling log "events" from the logger + (on _top_ of logging to the console, and to a file, if any). + + @param logCallback a block that can be `nil`, in which case the current callback, if any, is + unregistered. Otherwise it is called each time a log statement is issued by Ditto (after filtering + by log level), which can happen in parallel; the block must thus be thread-safe. + */ ++ (void)setCustomLogCallback:(nullable void (^)(enum DITLogLevel logLevel, + NSString *logMessage))logCallback; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableAWDLConfig.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableAWDLConfig.h new file mode 100644 index 0000000..8d400bf --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableAWDLConfig.h @@ -0,0 +1,19 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Configuration for AWDL transport. Part of `DITPeerToPeer`. + */ +@interface DITMutableAWDLConfig : DITAWDLConfig + +@property (nonatomic, readwrite, getter=isEnabled) BOOL enabled; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableBluetoothLEConfig.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableBluetoothLEConfig.h new file mode 100644 index 0000000..ed6c070 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableBluetoothLEConfig.h @@ -0,0 +1,20 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Configuration for Bluetooth Low Energy transport. Part of `DITPeerToPeer`. + */ +@interface DITMutableBluetoothLEConfig : DITBluetoothLEConfig + +@property (nonatomic, readwrite, getter=isEnabled) BOOL enabled; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableConnect.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableConnect.h new file mode 100644 index 0000000..d576708 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableConnect.h @@ -0,0 +1,30 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Mutable DITConnect interface to configure specific servers Ditto should attempt to connect to. + They are either TCP or WebSocket servers. TCP servers take `host:port` syntax and WebSocket + URLs take the form `wss://server.example.com`. + + Please refer to the documentation on Ditto's website for configuring cloud or client/server +scenarios. + */ + +@interface DITMutableConnect : DITConnect + +@property (nonatomic, readonly) NSMutableSet *tcpServers; +@property (nonatomic, readonly) NSMutableSet *websocketURLs; +@property (nonatomic, readwrite) NSTimeInterval retryInterval; + +- (void)setTcpServers:(NSSet *)tcpServers; +- (void)setWebsocketURLs:(NSSet *)websocketURLs; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableCounter.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableCounter.h new file mode 100644 index 0000000..fd1adf8 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableCounter.h @@ -0,0 +1,32 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Represents a mutable CRDT counter that can be incremented by a specific + amount while updating a document. + + This class can't be instantiated directly, it's returned automatically for + any counter property within an update block. + + See also the `counter` properties of `DITDocumentPath` and + `DITMutableDocumentPath`. + */ +@interface DITMutableCounter : DITCounter + +- (instancetype)init NS_UNAVAILABLE; + +/** + Increments the counter by `amount`, which can be any valid 64 bit float. Only + valid within the closure of `DITCollection`'s `updateWithBlock:` method, + otherwise an exception is thrown. + */ +- (void)incrementBy:(double)amount; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableDocument.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableDocument.h new file mode 100644 index 0000000..5b85aee --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableDocument.h @@ -0,0 +1,52 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITDocumentID; +@class DITMutableDocumentPath; + +NS_ASSUME_NONNULL_BEGIN + +/** + A representation of a `DITDocument` that provices access to an update API through a subscripting + API that specifies the key in the document to be updated. + + A `DITMutableDocument` object is used as part of update operations for a document. It provides + access to updating a document through a subscript-based API. A subscript operation returns a + `DITMutableDocumentPath` that you can then use to chain further subscript operations to in order to + access nested values in a document. Once you've defined the path to a key in a document that you'd + like to update, by using subscripts, then you can use the functionality defined on + `DITMutableDocumentPath` to perform the desired document update(s). + + Note that objects of this type should only be used within the scope of the update closure that they + are provided in. + */ +@interface DITMutableDocument : NSObject + +/** + The ID of the document. + */ +@property (nonatomic, readonly) DITDocumentID *id; + +/** + The document's inner value. + */ +@property (nonatomic, readonly) NSDictionary *value; + +/** + Used to specify a path to a key in the document that you can subscript further to access a nested + key in the document or perform an update operation on it immediately. + + @param key The initial part of the path needed to get to the key in the document you wish to + update. + + @return A `DittoMutableDocumentPath` object with the provided key incorporated into the + path. + */ +- (DITMutableDocumentPath *)objectForKeyedSubscript:(NSString *)key; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableDocumentPath.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableDocumentPath.h new file mode 100644 index 0000000..c668070 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableDocumentPath.h @@ -0,0 +1,154 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITAttachmentToken; +@class DITMutableCounter; +@class DITMutableRegister; + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides an interface to specify a path to a key in a document that you can then call various + update functions on. You obtain a `DITMutableDocumentPath` by subscripting a + `DITMutableDocument` and you can then further subscript a `DITMutbaleDocumentPath` to further + specify the key of the document that you want to update. + */ +@interface DITMutableDocumentPath : NSObject + +/** + Used to specify a path to a key in the document that you can subscript further to access a + nested key in the document and eventually perform an update operation on. + + @param key The next part of the path needed to get to the key in the document you wish to + update. + + @return A `DITMutableDocumentPath` with the provided key incorporated into the path. + */ +- (DITMutableDocumentPath *)objectForKeyedSubscript:(NSString *)key; + +/** + Used to specify an index in the array at the preceding key-path specified through the + subscripting defined previously. You can subscript the return value further to access a further + nested key in the document and eventually perform an update operation. + + @param index The index of the array that you wish to access in the key previously specified with + the preceding subscripting. + + @return A `DITMutableDocumentPath` with the provided index incorporated into the path. + */ +- (DITMutableDocumentPath *)objectAtIndexedSubscript:(NSUInteger)index; + +/** + Returns the value at the previously specified key in the document as an `NSObject` if possible, + otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) id value; + +/** + Returns the value at the previously specified key in the document as an `NSString` if possible, + otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) NSString *string; + +/** + Returns the value at the previously specified key in the document as an `NSString`. If the key + was invalid the return value will be an empty string. + */ +@property (nonatomic, readonly) NSString *stringValue; + +/** + Returns the value at the previously specified key in the document as a `BOOL`. If the key was + invalid the return value will be `false`. + */ +@property (nonatomic, readonly) BOOL booleanValue; + +/** + Returns the value at the previously specified key in the document as an `NSInteger` if possible, + otherwise the return value will be 0. + */ +@property (nonatomic, readonly) NSInteger integerValue; + +/** + Returns the value at the previously specified key in the document as an `NSNumber` if possible, + otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) NSNumber *number; + +/** + Returns the value at the previously specified key in the document as an `NSNumber`. If the key + was invalid the return value will be an `NSNumber` with a value of 0. + */ +@property (nonatomic, readonly) NSNumber *numberValue; + +/** + Returns the value at the previously specified key in the document as an `NSArray` if possible, + otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) NSArray *array; + +/** + Returns the value at the previously specified key in the document as an `NSArray`. If the key + was invalid the return value will be an empty array. + */ +@property (nonatomic, readonly) NSArray *arrayValue; + +/** + Returns the value at the previously specified key in the document as an `NSDictionary` if + possible, otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) NSDictionary *dictionary; + +/** + Returns the value at the previously specified key in the document as an `NSDictionary`. If the + key was invalid the return value will be an empty dictionary. + */ +@property (nonatomic, readonly) NSDictionary *dictionaryValue; + +/** + Returns the value at the previously specified key in the document as a `DITAttachmentToken` if + possible, otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) DITAttachmentToken *attachmentToken; + +/** + Returns the value at the previously specified key in the document as a `DITMutableCounter` if + possible, otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) DITMutableCounter *counter; + +/** + Returns the value at the previously specified key in the document as a `DITMutableRegister` if + possible, otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) DITMutableRegister *lwwRegister; + +/** + Set a value at the document's key defined by the preceding subscripting. + + @param value The value to set at the subscripting-defined document key. + @param isDefault Represents whether or not the value should be set as a default value. Set this to + `true` if you want to set a default value that you expect to be overwritten by other devices in the + network. The default value is `false`. + */ +- (void)set:(id)value isDefault:(BOOL)isDefault; + +/** + Set a value at the document's key defined by the preceding subscripting. + + @param value The value to set at the subscripting-defined document key. + */ +- (void)set:(id)value; + +/** + Remove a value at the document's key defined by the preceding subscripting. If + removing an index from an array, any subsequent indexes will be shifted left to + fill the gap. + */ +- (void)remove; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableGlobalConfig.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableGlobalConfig.h new file mode 100644 index 0000000..d48f077 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableGlobalConfig.h @@ -0,0 +1,54 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Settings not associated with any specific type of transport. + */ +@interface DITMutableGlobalConfig : DITGlobalConfig + +/** + The sync group for this device. + + When peer-to-peer transports are enabled, all devices with the same App ID will + normally form an interconnected mesh network. In some situations it may be + desirable to have distinct groups of devices within the same app, so that + connections will only be formed within each group. The `syncGroup` parameter + changes that group membership. A device can only ever be in one sync group, which + by default is group 0. Up to 2^32 distinct group numbers can be used in an app. + + This is an optimization, not a security control. If a connection is created + manually, such as by specifying a `connect` transport, then devices from + different sync groups will still sync as normal. If two groups of devices are + intended to have access to different data sets, this must be enforced using + Ditto's permissions system. + */ +@property (nonatomic, readwrite) uint32_t syncGroup; + +/** + The routing hint for this device. + + A routing hint is a performance tuning option which can improve the performance of + applications that use large collections. Ditto will make a best effort to co-locate data for + the same routing key. In most circumstances, this should substantially improve responsiveness + of the Ditto Cloud. + + The value of the routing hint is application specific - you are free to chose any value. + Devices which you expect to operate on much the same data should be configured to + use the same value. + + A routing hint does not partition data. The value of the routing hint will not affect the data + returned for a query. The routing hint only improves the efficiency of the Cloud's + ability to satisfy the query. + */ +@property (nonatomic, readwrite) uint32_t routingHint; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableHTTPListenConfig.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableHTTPListenConfig.h new file mode 100644 index 0000000..d72d022 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableHTTPListenConfig.h @@ -0,0 +1,66 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITMutableHTTPListenConfig : DITHTTPListenConfig + +@property (nonatomic, readwrite, getter=isEnabled) BOOL enabled; +/** + IP interface to bind to. [::] by default. + */ +@property (nonatomic, readwrite, copy) NSString *interfaceIp; +/** + Listening port. 80 by default. + */ +@property (nonatomic, readwrite) uint16_t port; +/** + An absolute path to a directory of static HTTP content that should be served by this device. + + If nil (default), this feature is disabled. + */ +@property (nonatomic, readwrite, copy, nullable) NSString *staticContentPath; +/** + If YES (default), peers can connect over websocket to sync with this peer. + + This feature has security implications and should only be used together with documentation on + Ditto's website. + */ +@property (nonatomic, readwrite) BOOL websocketSync; +/** + An absolute path to the PEM-formatted private key for HTTPS. Must be set together with + tlsCertificatePath. + + If nil (default), the server runs as unencrypted HTTP. + */ +@property (nonatomic, readwrite, copy, nullable) NSString *tlsKeyPath; +/** + An absolute path to the PEM-formatted certificate for HTTPS. Must be set together with tlsKeyPath. + + If nil (default), the server runs as unencrypted HTTP. + */ +@property (nonatomic, readwrite, copy, nullable) NSString *tlsCertificatePath; +/** + Enable acting as a provider of Ditto identities. + */ +@property (nonatomic, readwrite, getter=isIdentityProvider) BOOL identityProvider; +/** + PEM-encoded private key for signing tokens and certificates when acting as an identity provider. + */ +@property (nonatomic, readwrite, copy, nullable) NSString *identityProviderSigningKey; +/** + PEM-encoded public keys for verifying tokens and certificates when acting as an identity provider. + */ +@property (nonatomic, readwrite, copy, nullable) NSArray *identityProviderVerifyingKeys; +/** + PEM-encoded private key that should be used to issue certificates for clients in peer-to-peer mode. + */ +@property (nonatomic, readwrite, copy, nullable) NSString *caKey; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableLANConfig.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableLANConfig.h new file mode 100644 index 0000000..76123e4 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableLANConfig.h @@ -0,0 +1,21 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +NS_ASSUME_NONNULL_BEGIN +/** + Mutable DITLANConfig interface. Please refer to documentation for `DITLANConfig` for more details. + */ +@interface DITMutableLANConfig : DITLANConfig + +@property (nonatomic, readwrite, getter=isEnabled) BOOL enabled; +@property (nonatomic, readwrite, getter=ismDNSEnabled) BOOL mDNSEnabled; +@property (nonatomic, readwrite, getter=isMulticastEnabled) BOOL multicastEnabled; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableListen.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableListen.h new file mode 100644 index 0000000..7d2bd09 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableListen.h @@ -0,0 +1,24 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITMutableListen : DITListen + +@property (nonatomic, readonly, copy) DITMutableTCPListenConfig *tcp; +@property (nonatomic, readonly, copy) DITMutableHTTPListenConfig *http; + +- (void)setTcp:(DITTCPListenConfig *)tcp; +- (void)setHttp:(DITHTTPListenConfig *)http; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutablePeerToPeer.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutablePeerToPeer.h new file mode 100644 index 0000000..8406ca7 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutablePeerToPeer.h @@ -0,0 +1,34 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +#import +#import +#import + +#import + +NS_ASSUME_NONNULL_BEGIN +/* + Configuration of peer-to-peer transports, which are able to discover and connect to + peers on their own. + + Contains a configuration for each type of peer-to-peer transport. + + For more information refer to the documentation for `DITTransportConfig`. + */ +@interface DITMutablePeerToPeer : DITPeerToPeer + +@property (nonatomic, readonly, copy) DITMutableBluetoothLEConfig *bluetoothLe; +@property (nonatomic, readonly, copy) DITMutableLANConfig *lan; +@property (nonatomic, readonly, copy) DITMutableAWDLConfig *awdl; + +- (void)setBluetoothLe:(DITBluetoothLEConfig *)bluetoothLe; +- (void)setLan:(DITLANConfig *)lan; +- (void)setAwdl:(DITAWDLConfig *)awdl; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableRegister.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableRegister.h new file mode 100644 index 0000000..ea886a8 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableRegister.h @@ -0,0 +1,31 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Represents a mutable CRDT register that can be updated while updating a + document. + + This class can't be instantiated directly. It's returned automatically for + any register property within an update block. + + See also the `register` property of `DITMutableDocumentPath`. + */ +@interface DITMutableRegister : DITRegister + +- (instancetype)init NS_UNAVAILABLE; + +/** + Set the register's value to a new value. + + @param value the new value for the register. + */ +- (void)setValue:(id)value; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableTCPListenConfig.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableTCPListenConfig.h new file mode 100644 index 0000000..55498c4 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableTCPListenConfig.h @@ -0,0 +1,25 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITMutableTCPListenConfig : DITTCPListenConfig + +@property (nonatomic, readwrite, getter=isEnabled) BOOL enabled; +/** + IP interface to bind to. [::] by default. + */ +@property (nonatomic, readwrite, copy) NSString *interfaceIp; +/** + Listening port. 4040 by default. + */ +@property (nonatomic, readwrite) uint16_t port; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableTransportConfig.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableTransportConfig.h new file mode 100644 index 0000000..da0db09 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITMutableTransportConfig.h @@ -0,0 +1,56 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +#import +#import +#import +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + A configuration object specifying which network transports Ditto should use to sync data. + + A DITDitto object comes with a default transport configuration where all available peer-to-peer + transports are enabled. You can customize this by initializing a DITMutableTransportConfig, + adjusting its properties, and supplying it to setTransportConfig: on DITDitto. + + When you initialize a DITMutableTransportConfig yourself it starts with all transports disabled. + You must enable each one directly. + + Peer-to-peer transports will automatically discover peers in the vicinity and create connections + without any configuration. These are configured inside the peerToPeer property. To turn each + one on, set its enabled property to YES. + + To connect to a peer at a known location, such as a Ditto Big Peer, add its address inside + the connect configuration. These are either "host:port" strings for raw TCP sync, or a "wss://โ€ฆ" + URL for websockets. + + The listen configurations are for specific less common data sync scenarios. Please read the + documentation on the Ditto website for examples. Incorrect use of listen can result in + insecure configurations. + */ +@interface DITMutableTransportConfig : DITTransportConfig + +@property (nonatomic, readonly, copy) DITMutablePeerToPeer *peerToPeer; +@property (nonatomic, readonly, copy) DITMutableConnect *connect; +@property (nonatomic, readonly, copy) DITMutableListen *listen; +@property (nonatomic, readonly, copy) DITMutableGlobalConfig *global; + +- (void)setPeerToPeer:(DITPeerToPeer *)peerToPeer; +- (void)setConnect:(DITConnect *)connect; +- (void)setListen:(DITListen *)listen; +- (void)setGlobal:(DITGlobalConfig *)global; + +/** + Enable all supported peer-to-peer modes for this platform + */ +- (void)enableAllPeerToPeer; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITObserver.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITObserver.h new file mode 100644 index 0000000..488ed33 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITObserver.h @@ -0,0 +1,25 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + An observation token returned by any observation API in the Ditto SDK. Retain + this object to continue receiving updates. + */ +@protocol DITObserver + +/** + * Stops the observation and cleans up all associated resources. This method + * does _not guarantee_ the observation will have completely stopped by the time + * this method returns and should be considered merely a request to stop the + * observation asynchronously. + */ +- (void)stop; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPeer.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPeer.h new file mode 100644 index 0000000..32508a1 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPeer.h @@ -0,0 +1,96 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITAddress; +@class DITConnection; + +NS_ASSUME_NONNULL_BEGIN + +/** An instance of Ditto taking part in the mesh network. */ +@interface DITPeer : NSObject + +/** + Uniquely identifies a peer within a Ditto mesh network. + */ +@property (nonatomic, readonly, copy) DITAddress *address; + +/** + * The peer key is a unique identifier for a given peer, equal to or derived + * from the cryptographic public key used to authenticate it. + * + * NOTE: This will be be empty when a peer is not updated to the latest + * version of the SDK. + */ +@property (nonatomic, readonly, copy) NSData *peerKey; + +/** + Currently active connections of the peer. + */ +@property (nonatomic, readonly, copy) NSArray *connections; + +/** + The human-readable device name of the peer. This defaults to the hostname + but can be manually set by the application developer of the other peer. + It is not necessarily unique. + */ +@property (nonatomic, readonly, copy) NSString *deviceName; + +/** The operating system the peer is running on, `nil` if (yet) unknown. */ +// REFACTOR: make this a proper enum mirroring `PresenceOs` from the Core. +@property (nonatomic, readonly, nullable, copy) NSString *os; + +/** The Ditto SDK version the peer is running with, `nil` if (yet) unknown. */ +@property (nonatomic, readonly, nullable, copy) NSString *dittoSDKVersion; + +/** Indicates whether the peer is connected to Ditto Cloud. */ +@property (nonatomic, readonly, getter=isConnectedToDittoCloud) BOOL connectedToDittoCloud; + +/** An `NSNumber` containing a Boolean Indicating whether the peer is compatible with the current + * peer, `nil` if (yet) unknown. */ +@property (nonatomic, readonly, nullable, copy) NSNumber *isCompatible; + +/** + An optional Query Overlap Group which can be assigned to group certain + types of peers together and configure relative connection priorities. + Defaults to 0 if not set. + */ +@property (nonatomic, readonly) UInt8 queryOverlapGroup __deprecated_msg( + "Query overlap groups have been phased out, this property always returns 0."); + +/** + Convenience initializer, initializes the peer with the passed in + dictionary representation. Raises an `NSInvalidArgumentException` if the + dictionary representation is not a valid peer representation. + */ +// NOTE: exception instead of `NSError` here on purpose, passing an invalid dictionary +// representation is considered a programming error. +- (instancetype)initWithDictionaryRepresentation:(NSDictionary *)dictionaryRepresentation; + +/** + Initializes the peer with all possible parameters. + */ +- (instancetype)initWithAddress:(DITAddress *)address + peerKey:(NSData *)peerKey + connections:(NSArray *)connections + deviceName:(NSString *)deviceName + os:(nullable NSString *)os + dittoSDKVersion:(nullable NSString *)dittoSDKVersion + isConnectedToDittoCloud:(BOOL)isConnectedToDittoCloud + isCompatible:(nullable NSNumber *)isCompatible + queryOverlapGroup:(UInt8)queryOverlapGroup NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; + +- (NSUInteger)hash; + +- (BOOL)isEqual:(nullable id)object; +- (BOOL)isEqualToPeer:(DITPeer *)peer; + +- (DITPeer *)copy; +- (DITPeer *)copyWithZone:(nullable NSZone *)zone; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPeerToPeer.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPeerToPeer.h new file mode 100644 index 0000000..1121ffa --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPeerToPeer.h @@ -0,0 +1,45 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +#import +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +@class DITMutablePeerToPeer; + +/** + Configuration of peer-to-peer transports, which are able to discover and connect to peers on their + own. + + For more information refer to the documentation for DITTransportConfig. + */ +@interface DITPeerToPeer : NSObject + ++ (instancetype)peerToPeer; + +@property (nonatomic, readonly) DITBluetoothLEConfig *bluetoothLe; +@property (nonatomic, readonly) DITLANConfig *lan; +@property (nonatomic, readonly) DITAWDLConfig *awdl; + +- (instancetype)initWithDITPeerToPeer:(DITPeerToPeer *)peerToPeer; +- (instancetype)initWithBluetoothLe:(DITBluetoothLEConfig *)bluetoothLe + lan:(DITLANConfig *)lan + awdl:(DITAWDLConfig *)awdl; + +@end + +// MARK: - + +@interface DITPeerToPeer (DITTypeCorrections) + +- (DITPeerToPeer *)copy; +- (DITMutablePeerToPeer *)mutableCopy; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPeerV2Parser.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPeerV2Parser.h new file mode 100644 index 0000000..d36fd54 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPeerV2Parser.h @@ -0,0 +1,17 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class DITRemotePeerV2; + +@interface DITPeerV2Parser : NSObject + ++ (NSArray *__nullable)parseJSON:(NSString *)json; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPeersObserver.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPeersObserver.h new file mode 100644 index 0000000..c0ff10d --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPeersObserver.h @@ -0,0 +1,24 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + A token returned by calling `observePeers` on a `DITDitto` object. + + Retain this object to continue receiving callback updates. + + @deprecated replaced by `DITObserver` protocol. + */ +__deprecated_msg("Replaced by `DITObserver` protocol.") @interface DITPeersObserver + : NSObject + +- (void)stop; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPeersObserverV2.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPeersObserverV2.h new file mode 100644 index 0000000..a598e50 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPeersObserverV2.h @@ -0,0 +1,24 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + A token returned by calling `observePeersV2` on a `DITDitto` object. + + Retain this object to continue receiving callback updates. + + @deprecated replaced by `DITObserver` protocol. + */ +__deprecated_msg("Replaced by `DITObserver` protocol.") @interface DITPeersObserverV2 + : NSObject + +- (void)stop; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPendingCollectionsOperation.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPendingCollectionsOperation.h new file mode 100644 index 0000000..a894ed0 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPendingCollectionsOperation.h @@ -0,0 +1,187 @@ +// +// Copyright ยฉ 2021 Ditto. All rights reserved. +// + +#import + +#import +#import + +@class DITCollection; +@class DITCollectionsEvent; +@class DITLiveQuery; +@class DITSubscription; + +NS_ASSUME_NONNULL_BEGIN + +/** + These objects are returned when calling `collections` on `DITStore`. + + They allow chaining of further collections-related functions. You can either call `exec` on the + object to get an array of `DITCollection`s as an immediate return value, or you can establish + either a live query or a subscription, which both work over time. + + A live query, established by calling `observeLocal`, will notify you every time there's a change in + the collections that the device knows about. + + A subscription, established by calling `subscribe`, will act as a signal to other peers that + you would like to receive updates from them about the collections that they know about. + + Typically, an app would set up a `subscribe` in some part of the application which is long-lived to + ensure the device receives updates from the mesh. These updates will be automatically received and + written into the local store. Elsewhere, where you need to use this data, an `observeLocal` can be + used to notify you of the data, and all subsequent changes to the data. + + If you want to observe changes in such a way that you can signal when you're ready for the live + query to deliver a new update then you can call `observeLocalWithNextSignal`. + */ +@interface DITPendingCollectionsOperation : NSObject + +/** + Limit the number of collections that get returned. + + @param limit The maximum number of collections that will be returned. + + @return A `DITPendingCollectionsOperation` that you can chain further function calls to. + */ +- (DITPendingCollectionsOperation *)limit:(int)limit; + +/** + Offset the resulting set of collections. + + This is useful if you aren't interested in the first N collections for one reason or another. For + example, you might already have obtained the first 20 collections and so you might want to get the + next 20 collections, and that is when you would use `offset`. + + @param offset The number of collections that you want the eventual resulting set of collections to + be offset by (and thus not include). + + @return A `DITPendingCollectionsOperation` that you can chain further function calls to. + */ +- (DITPendingCollectionsOperation *)offset:(uint)offset; + +/** + Sort the collections based on a property of the collection. + + @param query The query specifies the logic to be used when sorting the collections. + @param direction Specify whether you want the sorting order to be ascending or descending. + + @return A `DITPendingCollectionsOperation` that you can chain further function calls to. + */ +- (DITPendingCollectionsOperation *)sort:(NSString *)query direction:(DITSortDirection)direction; + +/** + Return the list of collections requested based on the preceding function chaining. + + @return A list of `DITCollections`s based on the preceding function chaining. + */ +- (NSArray *)exec; + +/** + Subscribes the device to updates about collections that other devices know about. + + The returned `DITSubscription` object must be kept in scope for as long as you want to keep + receiving updates. + + @return A `DITSubscription` object that must be kept in scope for as long as you want to keep + receiving updates from other devices about the collections that they know about. + */ +- (DITSubscription *)subscribe; + +/** + Enables you to subscribe to updates about collections local to this device. + + This won't subscribe to receive updates from other devices and so it will only fire when a local + change to the known collections occurs. If you want to receive remote updates as well then use + `subscribe`. + + The returned `DITLiveQuery` object must be kept in scope for as long as you want the provided + `eventHandler` to be called when an update occurs. + + @param eventHandler A block that will be called every time there is an update about the list of + known about collections. + + @return A `DITLiveQuery` object that must be kept in scope for as long as you want to keep + receiving updates. + */ +- (DITLiveQuery *)observeLocal:(void (^)(DITCollectionsEvent *))eventHandler; + +/** + Enables you to subscribe to updates about collections local to this device. + + This won't subscribe to receive updates from other devices and so it will only fire when a local + change to the known collections occurs. If you want to receive remote updates as well then use + `subscribe`. + + The returned `DITLiveQuery` object must be kept in scope for as long as you want the provided + `eventHandler` to be called when an update occurs. + + @param dispatchQueue The dispatch queue that will be used to deliver live query updates. Defaults + to the main queue. + @param eventHandler A block that will be called every time there is an update about the list of + known about collections. + + @return A `DITLiveQuery` object that must be kept in scope for as long as you want to keep + receiving updates. + */ +- (DITLiveQuery *)observeLocalWithDeliveryQueue:(dispatch_queue_t)dispatchQueue + eventHandler:(void (^)(DITCollectionsEvent *))eventHandler; + +/** + Enables you to subscribe to updates about collections local to this device. + + This won't subscribe to receive updates from other devices and so it will only fire when a local + change to the known collections occurs. If you want to receive remote updates as well then use + `subscribe`. + + You wont receive any further callbacks until you explicitly signal that you are ready for the next + event to be delivered. + + This is a power-user API. If you're unsure about which to use, you should probably default to using + the simpler `observeLocal:` API. + + The returned `DITLiveQuery` object must be kept in scope for as long as you want the provided + `eventHandler` to be called when an update occurs. + + @param eventHandler A block that will be called every time there is an update about the list of + known about collections. + + @return A `DITLiveQuery` object that must be kept in scope for as long as you want to keep + receiving updates. + */ +- (DITLiveQuery *)observeLocalWithNextSignal:(void (^)(DITCollectionsEvent *, + DITSignalNextBlock))eventHandler; + +/** + Enables you to subscribe to updates about collections local to this device. + + This won't subscribe to receive updates from other devices and so it will only fire when a local + change to the known collections occurs. If you want to receive remote updates as well then use + `subscribe`. + + You wont receive any further callbacks until you explicitly signal that you are ready for the next + event to be delivered. + + This is a power-user API. If you're unsure about which to use, you should probably default to using + the simpler `observeLocal:` API. + + The returned `DITLiveQuery` object must be kept in scope for as long as you want the provided + `eventHandler` to be called when an update occurs. + + @param dispatchQueue The dispatch queue that will be used to deliver live query updates. Defaults + to the main queue. + @param eventHandler A block that will be called every time there is an update about the list of + known about collections. + + @return A `DITLiveQuery` object that must be kept in scope for as long as you want to keep + receiving updates. + */ +- (DITLiveQuery *)observeLocalWithNextSignalAndDeliveryQueue:(dispatch_queue_t)dispatchQueue + eventHandler: + (void (^)(DITCollectionsEvent *, + DITSignalNextBlock))eventHandler + NS_SWIFT_NAME(observeLocalWithNextSignal(deliveryQueue:eventHandler:)); + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPendingCursorOperation.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPendingCursorOperation.h new file mode 100644 index 0000000..d89f31c --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPendingCursorOperation.h @@ -0,0 +1,222 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +#import +#import + +@class DITDocument; +@class DITDocumentID; +@class DITLiveQuery; +@class DITLiveQueryEvent; +@class DITMutableDocument; +@class DITSubscription; +@class DITUpdateResult; + +NS_ASSUME_NONNULL_BEGIN + +/** + These objects are returned when using `find`-like functionality on `DITCollection`s. + + They allow chaining of further query-related functions to do things like add a limit to the number + of documents you want returned or specify how you want the documents to be sorted and ordered. + + You can either call `exec` on the object to get an array of `DITDocument`s as an immediate return + value, or you can establish either a live query or a subscription, which both work over time. + + A live query, established by calling `observeLocal`, will notify you every time there's an update + to a document that matches the query you provided in the preceding `find`-like call. + + A subscription, established by calling `subscribe`, will act as a signal to other peers that the + device connects to that you would like to receive updates from them about documents that match the + query you provided in the preceding `find`-like call. + + Typically, an app would set up a `subscribe` in some part of the application which is long-lived to + ensure the device receives updates from the mesh. These updates will be automatically received and + written into the local store. Elsewhere, where you need to use this data, an `observeLocal` can be + used to notify you of the data, and all subsequent changes to the data. + + If you want to observe changes in such a way that you can signal when you're ready for the live + query to deliver a new update then you can call `observeLocalWithNextSignal`. + + Update and remove functionality is also exposed through this object. + */ +@interface DITPendingCursorOperation : NSObject + +/** + Limit the number of documents that get returned when querying a collection for matching documents. + + @param limit The maximum number of documents that will be returned. + + @return A `DITPendingCursorOperation` that you can chain further function calls and then either get + the matching documents immediately or get updates about them over time. + */ +- (DITPendingCursorOperation *)limit:(int)limit; + +/** + Offset the resulting set of matching documents. + + This is useful if you aren't interested in the first N matching documents for one reason or + another. For example, you might already have queried the collection and obtained the first 20 + matching documents and so you might want to run the same query as you did previously but ignore the + first 20 matching documents, and that is when you would use `offset`. + + @param offset The number of matching documents that you want the eventual resulting set of matching + documents to be offset by (and thus not include). + + @return A `DITPendingCursorOperation` that you can chain further function calls and then either get + the matching documents immediately or get updates about them over time. + */ +- (DITPendingCursorOperation *)offset:(uint)offset; + +/** + Sort the documents that match the query provided in the preceding `find`-like function call. + + Documents that are missing the field to sort by will appear at the beginning of the results + when sorting in ascending order. + + @param query Name or path of the field to sort by. + @param direction Specify whether you want the sorting order to be ascending or descending. + + @return A `DITPendingCursorOperation` that you can chain further function calls and then either get + the matching documents immediately or get updates about them over time. + */ +- (DITPendingCursorOperation *)sort:(NSString *)query direction:(DITSortDirection)direction; + +/** + Execute the query generated by the preceding function chaining and return the list of matching + documents. + + @return A list of `DITDocument`s matching the query generated by the preceding function chaining. + */ +- (NSArray *)exec NS_SWIFT_UNAVAILABLE("Use execWithErr instead"); + +/** + Remove all documents that match the query generated by the preceding function chaining. + + @return A list containing the IDs of the documents that were removed. + */ +- (NSArray *)remove NS_SWIFT_UNAVAILABLE("Use removeWithErr instead"); + +/** + Evict all documents that match the query generated by the preceding function chaining. + + @return A list containing the IDs of the documents that were evicted. + */ +- (NSArray *)evict NS_SWIFT_UNAVAILABLE("Use evictWithErr instead"); + +/** + Update documents that match the query generated by the preceding function chaining. + + @param block A block that gets called with all of the documents matching the query. The documents + are `DITMutableDocument`s so you can call update-related functions on them. + + @return A dictionary mapping document IDs to lists of `DITUpdateResult`s that describes the updates + that were performed for each document. + */ +- (NSDictionary *> *)updateWithBlock: + (void (^)(NSArray *))block + NS_SWIFT_UNAVAILABLE("Use version that accepts an error out param instead"); + +/** + Enables you to subscribe to changes that occur in a collection remotely. + + Having a subscription acts as a signal to other peers that you are interested in receiving updates + when local or remote changes are made to documents that match the query generated by the chain of + operations that precedes the call to `subscribe`. + + The returned `DITSubscription` object must be kept in scope for as long as you want to keep + receiving updates. + + @return A `DITSubscription` object that must be kept in scope for as long as you want to keep + receiving updates for documents that match the query specified in the preceding chain. + */ +- (DITSubscription *)subscribe NS_SWIFT_UNAVAILABLE("Use subscribeWithError: instead"); + +/** + Enables you to subscribe to changes that occur in a collection locally. + + This won't subscribe to receive changes made remotely by others and so it will only fire updates + when a local change is made. If you want to receive remotely performed updates as well then also + call `subscribe` with the relevant query. The returned `DITLiveQuery` object must be kept in scope + for as long as you want the provided `eventHandler` to be called when an update occurs. + + @param eventHandler A block that will be called every time there is a transaction committed to the + store that involves modifications to documents matching the query in the collection that + `observeLocal` was called on. + + @return A `DITLiveQuery` object that must be kept in scope for as long as you want to keep + receiving updates. + */ +- (DITLiveQuery *)observeLocal:(void (^)(NSArray *, + DITLiveQueryEvent *))eventHandler; + +/** + Enables you to subscribe to changes that occur in a collection locally. + + This won't subscribe to receive changes made remotely by others and so it will only fire updates + when a local change is made. If you want to receive remotely performed updates as well then also + call `subscribe` with the relevant query. The returned `DITLiveQuery` object must be kept in scope + for as long as you want the provided `eventHandler` to be called when an update occurs. + + @param dispatchQueue The dispatch queue that will be used to deliver live query updates. Defaults + to the main queue. + @param eventHandler A block that will be called every time there is a transaction committed to the + store that involves modifications to documents matching the query in the collection that + `observeLocalWithDeliveryQueue` was called on. + + @return A `DITLiveQuery` object that must be kept in scope for as long as you want to keep + receiving updates. + */ +- (DITLiveQuery *)observeLocalWithDeliveryQueue:(dispatch_queue_t)dispatchQueue + eventHandler:(void (^)(NSArray *, + DITLiveQueryEvent *))eventHandler; + +/** + Enables you to subscribe to changes that occur in a collection locally and to signal when you are + ready for the live query to deliver the next event. + + This won't subscribe to receive changes made remotely by others and so it will only fire updates + when a local change is made. If you want to receive remotely performed updates as well then also + call `subscribe` with the relevant query. The returned `DITLiveQuery` object must be kept in scope + for as long as you want the provided `eventHandler` to be called when an update occurs. + + @param eventHandler A block that will be called every time there is a transaction committed to the + store that involves modifications to documents matching the query in the collection that + `observeLocalWithNextSignal` was called on. + + @return A `DITLiveQuery` object that must be kept in scope for as long as you want to keep + receiving updates. + */ +- (DITLiveQuery *)observeLocalWithNextSignal: + (void (^)(NSArray *, DITLiveQueryEvent *, DITSignalNextBlock))eventHandler; + +/** + Enables you to subscribe to changes that occur in a collection locally and to signal when you are + ready for the live query to deliver the next event. + + This won't subscribe to receive changes made remotely by others and so it will only fire updates + when a local change is made. If you want to receive remotely performed updates as well then also + call `subscribe` with the relevant query. The returned `DITLiveQuery` object must be kept in scope + for as long as you want the provided `eventHandler` to be called when an update occurs. + + @param dispatchQueue The dispatch queue that will be used to deliver live query updates. Defaults + to the main queue. + @param eventHandler A block that will be called every time there is a transaction committed to the + store that involves modifications to documents matching the query in the collection that + `observeLocalWithNextSignalAndDeliveryQueue` was called on. + + @return A `DITLiveQuery` object that must be kept in scope for as long as you want to keep + receiving updates. + */ +- (DITLiveQuery *)observeLocalWithNextSignalAndDeliveryQueue:(dispatch_queue_t)dispatchQueue + eventHandler: + (void (^)(NSArray *, + DITLiveQueryEvent *, + DITSignalNextBlock))eventHandler; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPendingIDSpecificOperation.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPendingIDSpecificOperation.h new file mode 100644 index 0000000..6ecbfb6 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPendingIDSpecificOperation.h @@ -0,0 +1,208 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +@class DITDocument; +@class DITDocumentID; +@class DITLiveQuery; +@class DITMutableDocument; +@class DITSingleDocumentLiveQueryEvent; +@class DITSubscription; +@class DITUpdateResult; + +NS_ASSUME_NONNULL_BEGIN + +/** + These objects are returned when using `findByID` functionality on `DITCollection`s. + + You can either call `exec` on the object to get an immediate return value, or you can establish + either a live query or a subscription, which both work over time. + + A live query, established by calling `observeLocal`, will notify you every time there's an update + to the document with the ID you provided in the preceding `findByID` call. + + A subscription, established by calling `subscribe`, will act as a signal to other peers that you + would like to receive updates from them about the document with the ID you provided in the + preceding `findByID` call. + + Typically, an app would set up a `subscribe` in some part of the application which is long-lived to + ensure the device receives updates from the mesh. These updates will be automatically received and + written into the local store. Elsewhere, where you need to use this data, an `observeLocal` can be + used to notify you of the data, and all subsequent changes to the data. + + If you want to observe changes in such a way that you can signal when you're ready for the live + query to deliver a new update then you can call `observeLocalWithNextSignal`. + + Update and remove functionality is also exposed through this object. + */ +@interface DITPendingIDSpecificOperation : NSObject + +/** + Execute the find operation to return the document with the matching ID. + + @return The `DITDocument` with the ID provided in the `findByID` call or `nil` if the document was + not found. + */ +- (DITDocument *_Nullable)exec; + +/** + Remove the document with the matching ID. + + @return `true` if the document was found and removed. `false` if the document wasn't found and + therefore wasn't removed. + */ +- (BOOL)remove; + +/** + Remove the document with the matching ID. + + @param logHint A hint about the transaction, to improve logs or diagnostics. + + @return `true` if the document was found and removed. `false` if the document wasn't found and + therefore wasn't removed. + */ +- (BOOL)removeWithLogHint:(NSString *)logHint; + +/** + Evict the document with the matching ID. + + @return `true` if the document was found and evicted. `false` if the document wasn't found and + therefore wasn't evicted. + */ +- (BOOL)evict; + +/** + Evict the document with the matching ID. + + @param logHint A hint about the transaction, to improve logs or diagnostics. + + @return `true` if the document was found and evicted. `false` if the document wasn't found and + therefore wasn't evicted. + */ +- (BOOL)evictWithLogHint:(NSString *)logHint; + +/** + Update the document with the matching ID. + + @param block A block that gets called with the document matching the ID. If found, the document is + a `DITMutableDocument`, so you can call update-related functions on it. If the document is not + found then the value provided to the block will be `nil`. + + @return A list of `DITUpdateResult`s that describe the updates that were performed on the document. + */ +- (NSArray *)updateWithBlock:(void (^)(DITMutableDocument *_Nullable))block; + +/** + Enables you to subscribe to changes that occur in relation to a document remotely. + + Having a subscription acts as a signal to other peers that you are interested in receiving updates + when local or remote changes are made to the relevant document. + + The returned `DITSubscription` object must be kept in scope for as long as you want to keep + receiving updates. + + @return A `DITSubscription` object that must be kept in scope for as long as you want to keep + receiving updates for the document. + */ +- (DITSubscription *)subscribe; + +/** + Enables you to listen for changes that occur in relation to a document locally. + + This won't subscribe to receive changes made remotely by others and so it will only fire updates + when a local change is made. If you want to receive remotely performed updates as well then also + call `subscribe` separately, using another `findByID` call that references the same document ID. + + The returned `DITLiveQuery` object must be kept in scope for as long as you want the provided + `eventHandler` to be called when an update occurs. + + @param eventHandler A block that will be called every time there is a transaction committed to the + store that involves a modification to the document with the relevant ID in the collection that + `observeLocal` was called on. + + @return A `DITLiveQuery` object that must be kept in scope for as long as you want to keep + receiving updates. + */ +- (DITLiveQuery *)observeLocal:(void (^)(DITDocument *_Nullable, + DITSingleDocumentLiveQueryEvent *))eventHandler; + +/** + Enables you to listen for changes that occur in relation to a document locally. + + This won't subscribe to receive changes made remotely by others and so it will only fire updates + when a local change is made. If you want to receive remotely performed updates as well then also + call `subscribe` separately, using another `findByID` call that references the same document ID. + + The returned `DITLiveQuery` object must be kept in scope for as long as you want the provided + `eventHandler` to be called when an update occurs. + + @param dispatchQueue The dispatch queue that will be used to deliver live query updates. Defaults + to the main queue. + @param eventHandler A block that will be called every time there is a transaction committed to the + store that involves a modification to the document with the relevant ID in the collection that + `observeLocal` was called on. + + @return A `DITLiveQuery` object that must be kept in scope for as long as you want to keep + receiving updates. + */ +- (DITLiveQuery *)observeLocalWithDeliveryQueue:(dispatch_queue_t)dispatchQueue + eventHandler: + (void (^)(DITDocument *_Nullable, + DITSingleDocumentLiveQueryEvent *))eventHandler; + +/** + Enables you to listen for changes that occur in relation to a document locally and to signal when + you are ready for the live query to deliver the next event. + + This won't subscribe to receive changes made remotely by others and so it will only fire updates + when a local change is made. If you want to receive remotely performed updates as well then also + call `subscribe` separately, using another `findByID` call that references the same document ID. + + The returned `DITLiveQuery` object must be kept in scope for as long as you want the provided + `eventHandler` to be called when an update occurs. + + @param eventHandler A block that will be called every time there is a transaction committed to the + store that involves a modification to the document with the relevant ID in the collection that + `observeLocalWithNextSignal` was called on. + + @return A `DITLiveQuery` object that must be kept in scope for as long as you want to keep + receiving updates. + */ +- (DITLiveQuery *)observeLocalWithNextSignal:(dispatch_queue_t)dispatchQueue + eventHandler:(void (^)(DITDocument *_Nullable, + DITSingleDocumentLiveQueryEvent *, + DITSignalNextBlock))eventHandler; + +/** + Enables you to listen for changes that occur in relation to a document locally and to signal when + you are ready for the live query to deliver the next event. + + This won't subscribe to receive changes made remotely by others and so it will only fire updates + when a local change is made. If you want to receive remotely performed updates as well then also + call `subscribe` separately, using another `findByID` call that references the same document ID. + + The returned `DITLiveQuery` object must be kept in scope for as long as you want the provided + `eventHandler` to be called when an update occurs. + + @param dispatchQueue The dispatch queue that will be used to deliver live query updates. Defaults + to the main queue. + @param eventHandler A block that will be called every time there is a transaction committed to the + store that involves a modification to the document with the relevant ID in the collection that + `observeLocalWithNextSignalAndDeliveryQueue` was called on. + + @return A `DITLiveQuery` object that must be kept in scope for as long as you want to keep + receiving updates. + */ +- (DITLiveQuery *)observeLocalWithNextSignalAndDeliveryQueue:(dispatch_queue_t)dispatchQueue + eventHandler: + (void (^)(DITDocument *_Nullable, + DITSingleDocumentLiveQueryEvent *, + DITSignalNextBlock))eventHandler; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPresence.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPresence.h new file mode 100644 index 0000000..2670a99 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPresence.h @@ -0,0 +1,43 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +@class DITDitto; +@class DITPresenceGraph; + +NS_ASSUME_NONNULL_BEGIN + +/** + The entrypoint for all actions that relate presence of other peers known by + the current peer, either directly or through other peers. + + You don't create one directly but can access it from a particular `DITDitto` + instance via its `presence` property. + */ +@interface DITPresence : NSObject + +/** + Returns the current presence graph capturing all known peers and connections + between them. + */ +@property (nonatomic, readonly, copy) DITPresenceGraph *graph; + +- (instancetype)init NS_UNAVAILABLE; + +/** + Request information about Ditto peers in range of this device. + + This method returns an observer which should be held as long as updates are + required. A newly registered observer will have a peers update delivered to it + immediately. From then on it will be invoked repeatedly when Ditto devices come + and go, or the active connections to them change. + */ +- (id)observe:(void (^)(DITPresenceGraph *))didChangeHandler; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPresenceGraph.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPresenceGraph.h new file mode 100644 index 0000000..c1e2fe9 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITPresenceGraph.h @@ -0,0 +1,76 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITPeer; +@class DITConnection; + +NS_ASSUME_NONNULL_BEGIN + +/** + Represents the Ditto mesh network of peers and their connections between each + other. The `localPeer` is the entry point, all others are remote peers known + by the local peer (either directly or via other remote peers). + */ +@interface DITPresenceGraph : NSObject + +/** + Returns the local peer (usually the peer that is represented by the + currently running Ditto instance). The `localPeer` is the entry point, all + others are remote peers known by the local peer (either directly or via other + remote peers). + */ +@property (nonatomic, copy, readonly) DITPeer *localPeer; + +/** + Returns all remote peers known by the `localPeer`, either directly or via other + remote peers. + */ +@property (nonatomic, copy, readonly) NSArray *remotePeers; + +/** + Decodes passed in CBOR and initializes the presence + graph with the resulting dictionary representation. Raises an + `NSInvalidArgumentException` if CBOR couldn't be decoded or the dictionary + representation is not a valid presence graph representation. + */ +// NOTE: exception instead of `NSError` here on purpose, passing an invalid CBOR is considered a +// programming error. +- (instancetype)initWithCBOR:(NSData *)cbor; + +/** + Initializes the presence graph with the passed in + dictionary representation. Raises an `NSInvalidArgumentException` if the + dictionary representation is not a valid presence graph. + */ +// NOTE: exception instead of `NSError` here on purpose, passing an invalid dictionary +// representation is considered a programming error. +- (instancetype)initWithDictionaryRepresentation:(NSDictionary *)dictionaryRepresentation; + +/** + Initializes the presence graph with the passed in `localPeer` and an + array of all remote peers. + */ +- (instancetype)initWithLocalPeer:(DITPeer *)localPeer + remotePeers:(NSArray *)remotePeers NS_DESIGNATED_INITIALIZER; + +- (instancetype)init NS_UNAVAILABLE; + +/** + Returns a dictionary with all connections found in this graph by their IDs. + */ +- (NSDictionary *)allConnectionsByID; + +- (NSUInteger)hash; + +- (BOOL)isEqual:(nullable id)object; +- (BOOL)isEqualToPresenceGraph:(DITPresenceGraph *)presenceGraph; + +- (DITPeer *)copy; +- (DITPeer *)copyWithZone:(nullable NSZone *)zone; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITRegister.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITRegister.h new file mode 100644 index 0000000..085a40b --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITRegister.h @@ -0,0 +1,95 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Represents a CRDT register that can be upserted as part of a document or + assigned to a property during an update of a document. + */ +@interface DITRegister : NSObject + +/** + The value in the register. + */ +@property (nonatomic, readonly) id value; + +- (instancetype)init NS_UNAVAILABLE; + +/** + Initializes a new register with the provided value that can be used as part of + a document's content. + */ +- (instancetype)initWithValue:(id)value NS_DESIGNATED_INITIALIZER; + +/** + Returns `YES` if passed in register has the same value, otherwise returns + `NO`. + */ +- (BOOL)isEqualToRegister:(DITRegister *)ditRegister; + +/** + Returns the register's value as an `NSString` if possible, otherwise the return value will be + `nil`. + */ +@property (nonatomic, readonly, nullable) NSString *string; + +/** + Returns the register's value as an `NSString`. If the key was invalid the return value will be an + empty string. + */ +@property (nonatomic, readonly) NSString *stringValue; + +/** + Returns the register's value as a `BOOL`. If the key was invalid the return value will be + `false`. + */ +@property (nonatomic, readonly) BOOL booleanValue; + +/** + Returns the register's value as an `NSInteger` if possible, otherwise the return value will be + 0. + */ +@property (nonatomic, readonly) NSInteger integerValue; + +/** + Returns the register's value as an `NSNumber` if possible, otherwise the return value will be + `nil`. + */ +@property (nonatomic, readonly, nullable) NSNumber *number; + +/** + Returns the register's value as an `NSNumber`. If the key was invalid the return value will be + an `NSNumber` with a value of 0. + */ +@property (nonatomic, readonly) NSNumber *numberValue; + +/** + Returns the register's value as an `NSArray` if possible, otherwise the return value will be `nil`. + */ +@property (nonatomic, readonly, nullable) NSArray *array; + +/** + Returns the register's value as an `NSArray`. If the key was invalid the return value will be an + empty array. + */ +@property (nonatomic, readonly) NSArray *arrayValue; + +/** + Returns the register's value as an `NSDictionary` if possible, otherwise the return value will be + `nil`. + */ +@property (nonatomic, readonly, nullable) NSDictionary *dictionary; + +/** + Returns the register's value as an `NSDictionary`. If the key was invalid the return value will be + an empty dictionary. + */ +@property (nonatomic, readonly) NSDictionary *dictionaryValue; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITRemotePeer.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITRemotePeer.h new file mode 100644 index 0000000..965fe7d --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITRemotePeer.h @@ -0,0 +1,50 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + A summary snapshot of the types of connections currently active to a remote peer. + + @deprecated has been replaced by `DITPeer`. + */ +__deprecated_msg("Replaced by `DITPeer`.") @interface DITRemotePeer : NSObject + +/** + The unique network identifier of the remote peer. + */ +@property (nonatomic, readonly) NSString *networkId; + +/** + The human-readable device name of the remote peer. This defaults to the hostname + but can be manually set by the application developer of the other peer. + It is not necessarily unique. + */ +@property (nonatomic, readonly) NSString *deviceName; + +/** + The connections that are currently active with the remote peer. + */ +@property (nonatomic, readwrite) NSArray *connections; + +/** + Received Signal Strength Indicator + + This value is primarily derived from Bluetooth Low Energy, so if the device's Bluetooth settings + are not enabled, then this value will be nil even though there might be a connection from + another transport. + */ +@property (nonatomic, readwrite, nullable) NSNumber *rssi; + +/** + An estimate of distance to the remote peer. This value is inaccurate. The environment, hardware, + and several other factors can greatly affect this value. It is currently derived from RSSI. + */ +@property (nonatomic, readwrite, nullable) NSNumber *approximateDistanceInMeters; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITRemotePeerV2.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITRemotePeerV2.h new file mode 100644 index 0000000..160a271 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITRemotePeerV2.h @@ -0,0 +1,50 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class DITAddress; + +/** + Represents a remote peer in the Ditto network. + */ +@interface DITRemotePeerV2 : NSObject + +/** + Uniquely identifies a peer within a Ditto mesh network. + */ +@property (nonatomic, readonly) DITAddress *address; + +/** + Advertising identifier of the remote peer. + */ +@property (nonatomic, readonly) uint32_t networkID; + +/** + The human-readable device name of the remote peer. This defaults to the hostname + but can be manually set by the application developer of the other peer. + It is not necessarily unique. + */ +@property (nonatomic, readonly, strong) NSString *deviceName; + +/** + Operating system of the remote peer. + */ +@property (nonatomic, readonly, strong) NSString *os; + +/** + An optional Query Overlap Group which can be assigned to group certain + types of peers together and configure relative connection priorities. + Defaults to 0 if not set. + */ +@property (nonatomic, readonly) UInt8 queryOverlapGroup __deprecated_msg( + "Query overlap groups have been phased out, this property always returns 0."); + +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITScopedWriteTransaction.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITScopedWriteTransaction.h new file mode 100644 index 0000000..127792d --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITScopedWriteTransaction.h @@ -0,0 +1,109 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +@class DITDocumentID; +@class DITWriteTransactionPendingCursorOperation; +@class DITWriteTransactionPendingIDSpecificOperation; + +NS_ASSUME_NONNULL_BEGIN + +/** + Exposes functionality that allows you to perform multiple operations on the store within a single + write transaction. + + A `DITScopedWriteTransaction` is scoped to a specific collection, obtained by calling `scoped` on a + `DITWriteTransaction`. + */ +@interface DITScopedWriteTransaction : NSObject + +/** + The name of the collection that the scoped write transaction is scoped to. + */ +@property (nonatomic, readonly) NSString *collectionName; + +/** + Convenience method, same as `upsert:writeStrategy:error:` where + `DITWriteStrategyMerge` is passed for `writeStrategy`. + */ +- (nullable DITDocumentID *)upsert:(NSDictionary *)content + error:(NSError *_Nullable __autoreleasing *)error; + +/** + Inserts a new document into the collection and returns its ID. If the + document already exists, the behavior is determined by the given + `writeStrategy`. + + @param content The new document to insert. + @param writeStrategy Specifies the desired strategy for inserting a document. + @param error On input, a pointer to an error object. If an error occurs, this pointer + is set to an actual error object containing the error information. You may specify nil for this + parameter if you do not want the error information. + + @return The ID of the upserted document, or `nil` if upsertion failed. + */ +- (nullable DITDocumentID *)upsert:(NSDictionary *)content + writeStrategy:(DITWriteStrategy)writeStrategy + error:(NSError *_Nullable __autoreleasing *)error + NS_SWIFT_NAME(upsert(_:writeStrategy:)); + +/** + Generates a `DITWriteTransactionPendingIDSpecificOperation` with the provided document ID that can + be used to update, remove, or evict the document. + + @param docID The ID of the document. + + @return A `DITWriteTransactionPendingIDSpecificOperation` that you can chain function calls to to + update, remove, or evict the document. + */ +- (DITWriteTransactionPendingIDSpecificOperation *)findByID:(DITDocumentID *)docID + NS_SWIFT_NAME(findByID(_:)); + +/** + Generates a `DITWriteTransactionPendingCursorOperation` with the provided query that can be used to + update, remove, or evict documents. + + @param query The query to run against the collection. + + @return A `DITWriteTransactionPendingCursorOperation` that you can use to chain further + query-related function calls to update, remove, or evict the documents. + */ +- (DITWriteTransactionPendingCursorOperation *)find:(NSString *)query; + +/** + Generates a `DITWriteTransactionPendingCursorOperation` with the provided query that can be used to + update, remove, or evict documents. + + This is the recommended method to use when performing queries on a collection if you have any + dynamic data included in the query string. It allows you to provide a query string with + placeholders, in the form of `$args.my_arg_name`, along with an accompanying dictionary of + arguments, in the form of `{ "my_arg_name": "some value" }`, and the placeholders will be + appropriately replaced by the matching provided arguments from the dictionary. This includes + handling things like wrapping strings in quotation marks and arrays in square brackets, for + example. + + @param query The query to run against the collection. + @param queryArgs The arguments to use to replace placeholders in the provided query. + + @return A `DITWriteTransactionPendingCursorOperation` that you can use to chain further + query-related function calls to update, remove, or evict the documents. + */ +- (DITWriteTransactionPendingCursorOperation *)find:(NSString *)query + withArgs:(NSDictionary *)queryArgs; + +/** + Generates a `DITWriteTransactionPendingCursorOperation` that can be used to update, remove or evict + documents. + + @return A `DITWriteTransactionPendingCursorOperation` that you can use to chain further + query-related function calls to update, remove, or evict the documents. + */ +- (DITWriteTransactionPendingCursorOperation *)findAll; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITSignalNext.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITSignalNext.h new file mode 100644 index 0000000..d9ab2cd --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITSignalNext.h @@ -0,0 +1,10 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#ifndef DITSignalNext_h +#define DITSignalNext_h + +typedef void (^DITSignalNextBlock)(void); + +#endif /* DITSignalNext_h */ diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITSingleDocumentLiveQueryEvent.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITSingleDocumentLiveQueryEvent.h new file mode 100644 index 0000000..eed2e20 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITSingleDocumentLiveQueryEvent.h @@ -0,0 +1,38 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITDocument; + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides information about a live query event relating to a single document live query. + */ +@interface DITSingleDocumentLiveQueryEvent : NSObject + +/** + Whether or not the event is the initial event delivered as part of an `observeLocal` call. + */ +@property (nonatomic, readonly) BOOL isInitial; + +/** + The old representation of the document with the relveant document ID. + */ +@property (nonatomic, readonly, nullable) DITDocument *oldDocument; + +/** + Returns a hash that represents the document. + */ +- (uint64_t)hash:(nullable DITDocument *)document; + +/** + Returns a pattern of words that together create a mnemonic, which represents the document + */ +- (NSString *)hashMnemonic:(nullable DITDocument *)document; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITSortDirection.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITSortDirection.h new file mode 100644 index 0000000..c33bfc2 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITSortDirection.h @@ -0,0 +1,13 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +/** + Describes the direction when sorting a query. + */ +typedef NS_CLOSED_ENUM(NSUInteger, DITSortDirection) { + DITSortDirectionAscending = 1, + DITSortDirectionDescending = 2, +}; diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITStore.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITStore.h new file mode 100644 index 0000000..d94bd09 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITStore.h @@ -0,0 +1,136 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITAttachment; +@class DITAttachmentFetchEvent; +@class DITAttachmentFetcher; +@class DITAttachmentToken; +@class DITCollection; +@class DITLiveQuery; +@class DITPendingCollectionsOperation; +@class DITWriteTransaction; +@class DITWriteTransactionResult; + +NS_ASSUME_NONNULL_BEGIN + +/** + The entrypoint for all actions that relate to data stored by Ditto. + + `DITStore` provides access to `DITCollection`s, a write transaction API, and a query hash API. + */ +@interface DITStore : NSObject + +/** + Returns a `DITCollection` with the provided name. + + @param collectionName The name of the collection. + + @return A `DITCollection`. + */ +- (DITCollection *)objectForKeyedSubscript:(NSString *)collectionName; + +/** + Returns a `DITCollection` with the provided name. + + @param name The name of the collection. +A collection name is valid if: +* its length is less than 100 +* it is not empty +* it does not contain the char '\0' +* it does not begin with "$TS_" + @return A `DITCollection`. + */ +- (DITCollection *)collection:(NSString *)name; + +/** + Returns a list of the names of collections in the store. + + @return A list of collection names found in the store. + */ +- (NSArray *)collectionNames; + +/** + Returns an object that lets you fetch or observe the collections in the store. + + @return An object that lets you fetch or observe the collections in the store. + */ +- (DITPendingCollectionsOperation *)collections; + +/** + Returns a hash representing the current version of the given queries. + + When a document matching such queries gets mutated, the hash will change as well. + + Please note that the hash depends on how queries are constructed, so you should make sure to always + compare hashes generated with the same set of queries. + + @param liveQueries A list of `DITLiveQuery` objects that you want to get the hash for. + + @return A hash representing the current version of the given queries. + */ +- (NSUInteger)queriesHash:(NSArray *)liveQueries; + +/** + Returns a sequence of English words representing the current version of the given queries. + + When a document matching such queries gets mutated, the words will change as well. + + Please note that the resulting sequence of words depends on how queries are constructed, so you + should make sure to always compare hashes generated with the same set of queries. + + @param liveQueries A list of `DITLiveQuery` objects that you want to get the mnemonic hash for. + + @return A string representing the current version of the given queries. + */ +- (NSString *)queriesHashMnemonic:(NSArray *)liveQueries; + +/** + Allows you to group multiple operations together that affect multiple documents, potentially across + multiple collections. + + @param block A block that provides access to a write transaction object that can be used to perform + operations on the store. + + @return A list of `DITWriteTransactionResult`s. There is a result for each operation performed as + part of the write transaction. + */ +- (NSArray *)write:(void (^)(DITWriteTransaction *))block; + +/** + Allows you to group multiple operations together that affect multiple documents, potentially across + multiple collections. + + @param logHint A hint about the transaction, to improve logs or diagnostics. + + @param block A block that provides access to a write transaction object that can be used to perform + operations on the store. + + @return A list of `DITWriteTransactionResult`s. There is a result for each operation performed as + part of the write transaction. + */ +- (NSArray *)writeWithLogHint:(NSString *)logHint + block:(void (^)(DITWriteTransaction *))block + NS_SWIFT_NAME(write(logHint:block:)); + +// No docs because DittoObjC is deprecated. Temporary to aid the Swift implementation. +- (nullable DITAttachment *)newAttachment:(NSString *)path + metadata:(nullable NSDictionary *)metadata + error:(NSError *_Nullable *)error; + +// No docs because DittoObjC is deprecated. Temporary to aid the Swift implementation. +- (nullable DITAttachmentFetcher *)fetchAttachment:(DITAttachmentToken *)token + onFetchEvent:(void (^)(DITAttachmentFetchEvent *))onFetchEvent + error:(NSError *_Nullable *)error; + +// No docs because DittoObjC is deprecated. Temporary to aid the Swift implementation. +- (nullable DITAttachmentFetcher *)fetchAttachment:(DITAttachmentToken *)token + deliveryQueue:(dispatch_queue_t)dispatchQueue + onFetchEvent:(void (^)(DITAttachmentFetchEvent *))onFetchEvent + error:(NSError *_Nullable *)error; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITStoreObserver.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITStoreObserver.h new file mode 100644 index 0000000..7614a86 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITStoreObserver.h @@ -0,0 +1,24 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +// IMPORTANT: DittoObjC is deprecated and moving to Swift-only. This type and +// its friends are only here to aid the Swift implementation and doesn't work +// on its own. Therefore, we're keeping it undocumented. + +@interface DITStoreObserver : NSObject + +@property (nonatomic, readonly, copy) NSString *queryString; +@property (nonatomic, readonly, nullable) NSData *queryArgsData; +@property (nonatomic, readonly, getter=isStopped) BOOL stopped; + +- (instancetype)init NS_UNAVAILABLE; +- (void)stop; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITSubscription.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITSubscription.h new file mode 100644 index 0000000..1199577 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITSubscription.h @@ -0,0 +1,35 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class _DITDittoHandleWrapper; + +NS_ASSUME_NONNULL_BEGIN + +/** + Used to subscribe to receive updates from remote peers about matching documents. + + While `DITSubscription` objects remain in scope they ensure that documents in the collection + specified and that match the query provided will try to be kept up-to-date with the latest changes + from remote peers. + */ +@interface DITSubscription : NSObject + +/** + The query that the subscription is based on. + */ +@property (nonatomic, readonly) NSString *query; + +/** + The name of the collection that the subscription is based on. + */ +@property (nonatomic, readonly) NSString *collectionName; + +/** Cancels the subscription and releases all associated resources. */ +- (void)cancel; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITTCPListenConfig.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITTCPListenConfig.h new file mode 100644 index 0000000..fc953a8 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITTCPListenConfig.h @@ -0,0 +1,43 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class DITMutableTCPListenConfig; + +@interface DITTCPListenConfig : NSObject + ++ (instancetype)tcpListenConfig; + +@property (nonatomic, readonly, getter=isEnabled) BOOL enabled; +/** + IP interface to bind to. [::] by default. + */ +@property (nonatomic, readonly) NSString *interfaceIp; +/** + Listening port. 4040 by default. + */ +@property (nonatomic, readonly) uint16_t port; + +- (instancetype)initWithDITTCPListenConfig:(DITTCPListenConfig *)config; +- (instancetype)initWithEnabled:(BOOL)enabled + interfaceIp:(NSString *)interfaceIp + port:(uint16_t)port; + +- (BOOL)isEqualToDITTCPListenConfig:(DITTCPListenConfig *)config; + +@end + +// MARK: - + +@interface DITTCPListenConfig (DITTypeCorrections) + +- (DITTCPListenConfig *)copy; +- (DITMutableTCPListenConfig *)mutableCopy; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITTransportCondition.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITTransportCondition.h new file mode 100644 index 0000000..526aa38 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITTransportCondition.h @@ -0,0 +1,36 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +// TODO: Come up with a way to synchronise this directly from safer_ffi constants? + +/** + The different conditions that a transport can be in at a point in time. + */ +typedef NS_ENUM(NSUInteger, DITTransportCondition) { + DITTransportConditionUnknown = 0, + DITTransportConditionOk = 1, + DITTransportConditionGenericFailure = 2, + DITTransportConditionAppInBackground = 3, + DITTransportConditionMdnsFailure = 4, + DITTransportConditionTcpListenFailure = 5, + DITTransportConditionNoBleCentralPermission = 6, + DITTransportConditionNoBlePeripheralPermission = 7, + DITTransportConditionCannotEstablishConnection = 8, + DITTransportConditionBleDisabled = 9, + DITTransportConditionNoBleHardware = 10, + DITTransportConditionWifiDisabled = 11, + DITTransportConditionTemporarilyUnavailable = 12, +}; + +/** + The subsystem which is reporting a condition change. + */ +typedef NS_ENUM(NSUInteger, DITConditionSource) { + DITConditionSourceBluetooth = 0, + DITConditionSourceTcp = 1, + DITConditionSourceAwdl = 2, + DITConditionSourceMdns = 3, +}; diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITTransportConfig.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITTransportConfig.h new file mode 100644 index 0000000..1007094 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITTransportConfig.h @@ -0,0 +1,84 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import +#import +#import +#import +#import + +#import + +@class DITMutableTransportConfig; + +NS_ASSUME_NONNULL_BEGIN + +/** + A configuration object specifying which network transports Ditto should use to sync data. + + A DITDitto object comes with a default transport configuration where all available peer-to-peer + transports are enabled. You can customize this by initializing a DITMutableTransportConfig, + adjusting its properties, and supplying it to setTransportConfig: on DITDitto. + When you initialize a DITMutableTransportConfig yourself it starts with all transports disabled. + You must enable each one directly. + */ + +@interface DITTransportConfig : NSObject + +/** + TransportConfig instance type. + */ ++ (instancetype)transportConfig; + +/** + Peer-to-peer transports will automatically discover peers in the vicinity and create connections + without any configuration. These are configured inside the peerToPeer property. To turn each + one on, set its enabled property to YES. + */ +@property (nonatomic, readonly) DITPeerToPeer *peerToPeer; + +/** + To connect to a peer at a known location, such as a Ditto Big Peer, add its address inside + the connect configuration. These are either "host:port" strings for raw TCP sync, or a "wss://โ€ฆ" + URL for websockets. + */ +@property (nonatomic, readonly) DITConnect *connect; + +/** + The listen configurations are for specific less common data sync scenarios. Please read the + documentation on the Ditto website for examples. Incorrect use of listen can result in + insecure configurations. + */ +@property (nonatomic, readonly) DITListen *listen; + +/** + The global configuration is transport agnostic. + */ +@property (nonatomic, readonly) DITGlobalConfig *global; + +/** + Initialize with DITTransportConfig. + */ +- (instancetype)initWithDITTransportConfig:(DITTransportConfig *)config; + +/** + Initialize DITTransportConfig with configuration subobjects. + */ +- (instancetype)initWithPeerToPeer:(DITPeerToPeer *)peerToPeer + connect:(DITConnect *)connect + listen:(DITListen *)listen + global:(DITGlobalConfig *)global; + +@end + +// MARK: - + +@interface DITTransportConfig (DITTypeCorrections) + +- (DITTransportConfig *)copy; +- (DITMutableTransportConfig *)mutableCopy; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITTransportDiagnostics.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITTransportDiagnostics.h new file mode 100644 index 0000000..8390ea8 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITTransportDiagnostics.h @@ -0,0 +1,23 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITTransportSnapshot; + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides a view into the state of the transports being used by Ditto at a point in time. + */ +@interface DITTransportDiagnostics : NSObject + +/** + The transport snapshots that were accurate when the transport diagnostics were obtained. + */ +@property (nonatomic, readonly) NSArray *transports; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITTransportSnapshot.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITTransportSnapshot.h new file mode 100644 index 0000000..d21b65d --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITTransportSnapshot.h @@ -0,0 +1,39 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides information about a given transport at a point in time. + */ +@interface DITTransportSnapshot : NSObject +/** + The type of connection that exists between the peers. + */ +@property (nonatomic, readonly) NSString *connectionType; + +/** + A list of the site IDs that are in a connecting state for the transport. + */ +@property (nonatomic, readonly) NSArray *connecting; + +/** + A list of the site IDs that are in a connected state for the transport. + */ +@property (nonatomic, readonly) NSArray *connected; + +/** + A list of the site IDs that are in a disconnecting state for the transport. + */ +@property (nonatomic, readonly) NSArray *disconnecting; + +/** + A list of the site IDs that are in a disconnected state for the transport. + */ +@property (nonatomic, readonly) NSArray *disconnected; +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITUpdateResult.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITUpdateResult.h new file mode 100644 index 0000000..a8f53c6 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITUpdateResult.h @@ -0,0 +1,107 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITDocumentID; + +@class DITUpdateResultSet; +@class DITUpdateResultRemoved; +@class DITUpdateResultIncremented; + +/** + The types of update result. + */ +typedef NS_ENUM(NSUInteger, DITUpdateResultType) { + DITUpdateResultTypeSet = 0, + DITUpdateResultTypeRemoved, + DITUpdateResultTypeIncremented, +}; + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides information about a successful update operation on a document. + + The update result can be one of the following types: + * `set` + * `removed` + * `incremented` + */ +@interface DITUpdateResult : NSObject + +/** + The update result's type. + + Check this value before using one of `asSet`, `asRemoved`, or + `asIncremented` to ensure that you get the correct richer update result + object. + */ +@property (nonatomic, readonly) DITUpdateResultType type; + +/** + The ID of the document that was updated. + */ +@property (nonatomic, readonly) DITDocumentID *docID; + +/** + The path to the key in the document that was updated. + */ +@property (nonatomic, readonly) NSString *path; + +/** + Return the update result object as a `DITUpdateResultSet` object. + + @return A `DITUpdateResultSet` object or `nil` if the update result's type is not `set`. + */ +- (nullable DITUpdateResultSet *)asSet; + +/** + Return the update result object as a `DITUpdateResultRemoved` object. + + @return A `DITUpdateResultRemoved` object or `nil` if the update result's type is not `removed`. + */ +- (nullable DITUpdateResultRemoved *)asRemoved; + +/** + Return the update result object as a `DITUpdateResultIncremented` object. + + @return A `DITUpdateResultIncremented` object or `nil` if the update result's type is not + `incremented`. + */ +- (nullable DITUpdateResultIncremented *)asIncremented; + +@end + +/** + An update result when the update result's type is `set`. + */ +@interface DITUpdateResultSet : DITUpdateResult + +/** + The value that was set. + */ +@property (nonatomic, readonly, nullable) id value; + +@end + +/** + An update result when the update result's type is `removed`. + */ +@interface DITUpdateResultRemoved : DITUpdateResult +@end + +/** + An update result when the update result's type is `incremented`. + */ +@interface DITUpdateResultIncremented : DITUpdateResult + +/** + The amount that the counter was incremented by. + */ +@property (nonatomic, readonly) double amount; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITWriteStrategy.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITWriteStrategy.h new file mode 100644 index 0000000..8b5b5b2 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITWriteStrategy.h @@ -0,0 +1,48 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +/** + Defines the various strategies available when inserting a document into a + collection. + */ +typedef NS_CLOSED_ENUM(NSUInteger, DITWriteStrategy) { + /** + The existing document will be merged with the document being inserted, if there is a + pre-existing document. + */ + DITWriteStrategyMerge = 1, + + /** + Insert the document only if there is not already a document with the same ID in the + store. If there is already a document in the store with the same ID then this will be a + no-op. + */ + DITWriteStrategyInsertIfAbsent = 2, + + /** + Insert the document, with its contents treated as default data, only if there is not + already a document with the same ID in the store. If there is already a document + in the store with the same ID then this will be a no-op. Use this strategy if you + want to insert default data for a given document ID, which you want to treat as + common initial data amongst all peers and that you expect to be mutated or + overwritten in due course. + */ + DITWriteStrategyInsertDefaultIfAbsent = 3, + + /** + The existing document will be updated based on the document being inserted. + If there is a pre-existing document in the local store with the same ID, + compare its value to the current value of the document. + Update any differing register and attachment leaf values in the document to match + the given value. Nothing is removed. This is equivalent to using an if statement to + check each value in the provided payload against the local document value. + + @warning In cases of concurrent writes, non-differing values will be overridden + by peers because this write strategy excludes values from the given payload + that are identical to those in the local store. + */ + DITWriteStrategyUpdateDifferentValues = 4, +}; diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITWriteTransaction.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITWriteTransaction.h new file mode 100644 index 0000000..3817a96 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITWriteTransaction.h @@ -0,0 +1,48 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITScopedWriteTransaction; + +NS_ASSUME_NONNULL_BEGIN + +/** + Exposes functionality that allows you to perform multiple operations on the store within a single + write transaction. + + You must use the `scoped` method to get collection-scoped access to the write transaction object, + which will then allow you to perform insert, update, remove or evict operations using the write + transaction. + */ +@interface DITWriteTransaction : NSObject + +/** + Creates a `DITScopedWriteTransaction` object that will ensure that operations called on it are all + in the context of the collection name provided. + + You can create many `DITScopedWriteTransaction` objects per `DITWriteTransaction` object. + + @param collectionName The name of the collection that the write transaction object should be scoped + to. + + @return A `DITScopedWriteTransaction` that is scoped to the specified collection. + */ +- (DITScopedWriteTransaction *)scopedToCollectionNamed:(NSString *)collectionName; + +/** + Returns a reference to a `DITScopedWriteTransaction` object that will ensure that operations + called on it are all in the context of the collection name provided. + + You can create many `DITScopedWriteTransaction` objects per `DITWriteTransaction` object. + + @param collectionName The name of the collection that the write transaction object should be scoped + to. + @return Returns a `DITScopedWriteTransaction` + */ +- (DITScopedWriteTransaction *)objectForKeyedSubscript:(NSString *)collectionName; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITWriteTransactionPendingCursorOperation.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITWriteTransactionPendingCursorOperation.h new file mode 100644 index 0000000..53515bf --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITWriteTransactionPendingCursorOperation.h @@ -0,0 +1,105 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +@class DITDocument; +@class DITDocumentID; +@class DITMutableDocument; +@class DITUpdateResult; + +NS_ASSUME_NONNULL_BEGIN + +/** + These objects are returned when using `find` and `findAll` functionality on + `DITScopedWriteTransaction`s. + + You can use them to perform updates on documents and remove or evict documents. + */ +@interface DITWriteTransactionPendingCursorOperation : NSObject + +/** + Limit the number of documents that get returned when querying a collection for matching documents. + + @param limit The maximum number of documents that will be returned. + + @return A `DITWriteTransactionPendingCursorOperation` that you can chain further function calls and + then either get the matching documents immediately or get updates about them over time. + */ +- (DITWriteTransactionPendingCursorOperation *)limit:(int)limit; + +/** + Offset the resulting set of matching documents. + + This is useful if you aren't interested in the first N matching documents for one reason or + another. For example, you might already have queried the collection and obtained the first 20 + matching documents and so you might want to run the same query as you did previously but ignore the + first 20 matching documents, and that is when you would use `offset`. + + @param offset The number of matching documents that you want the eventual resulting set of matching + documents to be offset by (and thus not include). + + @return A `DITWriteTransactionPendingCursorOperation` that you can chain further function calls and + then either get the matching documents immediately or get updates about them over time. + */ +- (DITWriteTransactionPendingCursorOperation *)offset:(uint)offset; + +/** + Sort the documents that match the query provided in the preceding `find`-like function call. + + Documents that are missing the field to sort by will appear at the beginning of the results + when sorting in ascending order. + + @param query Name or path of the field to sort by. + @param direction Specify whether you want the sorting order to be ascending or descending. + + @return A `DITWriteTransactionPendingCursorOperation` that you can chain further function calls and + then either get the matching documents immediately or get updates about them over time. + */ +- (DITWriteTransactionPendingCursorOperation *)sort:(NSString *)query + direction:(DITSortDirection)direction; + +/** + Execute the query generated by the preceding function chaining and return the list of matching + documents. + + @return A list of `DITDocument`s matching the query generated by the preceding function chaining. + */ +- (NSArray *)exec NS_SWIFT_UNAVAILABLE("Use execWithErr instead"); + +/** + Remove all documents that match the query generated by the preceding function chaining. + + @return A list containing the IDs of the documents that were removed. + */ +- (NSArray *)remove NS_SWIFT_UNAVAILABLE("Use removeWithErr instead"); +; + +/** + Evict all documents that match the query generated by the preceding function chaining. + + @return A list containing the IDs of the documents that were evicted. + */ +- (NSArray *)evict NS_SWIFT_UNAVAILABLE("Use evictWithErr instead"); +; + +/** + Update documents that match the query generated by the preceding function chaining. + + @param block A block that gets called with all of the documents matching the query. The documents + are `DITMutableDocument`s so you can call update-related functions on them. + + @return A dictionary mapping document IDs to lists of `DITUpdateResult`s that describes the updates + that were performed for each document. + */ +- (NSDictionary *> *)updateWithBlock: + (void (^)(NSArray *))block + NS_SWIFT_UNAVAILABLE("Use version that accepts an error out param instead"); +; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITWriteTransactionPendingIDSpecificOperation.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITWriteTransactionPendingIDSpecificOperation.h new file mode 100644 index 0000000..844aa4a --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITWriteTransactionPendingIDSpecificOperation.h @@ -0,0 +1,57 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITDocument; +@class DITMutableDocument; +@class DITUpdateResult; + +NS_ASSUME_NONNULL_BEGIN + +/** + These objects are returned when using `findByID` functionality on `DITScopedWriteTransaction`s. + + You can use them to perform updates on a document and remove or evict a document. + */ +@interface DITWriteTransactionPendingIDSpecificOperation : NSObject + +/** + Execute the find operation to return the document with the matching ID. + + @return The `DITDocument` with the ID provided in the `findByID` call or `nil` if the document was + not found. + */ +- (DITDocument *_Nullable)exec; + +/** + Remove the document with the matching ID. + + @return `true` if the document was found and removed. `false` if the document wasn't found and + therefore wasn't removed. + */ +- (BOOL)remove; + +/** + Evict the document with the matching ID. + + @return `true` if the document was found and evicted. `false` if the document wasn't found and + therefore wasn't evicted. + */ +- (BOOL)evict; + +/** + Update the document with the matching ID. + + @param block A block that gets called with the document matching the ID. If found, the document is + a `DITMutableDocument`, so you can call update-related functions on it. If the document is not + found then the value provided to the block will be `nil`. + + @return A list of `DITUpdateResult`s that describe the updates that were performed on the document. + */ +- (NSArray *)updateWithBlock:(void (^)(DITMutableDocument *_Nullable))block; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITWriteTransactionResult.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITWriteTransactionResult.h new file mode 100644 index 0000000..6803d45 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DITWriteTransactionResult.h @@ -0,0 +1,113 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITDocumentID; +@class DITWriteTransactionResultInserted; +@class DITWriteTransactionResultRemoved; +@class DITWriteTransactionResultEvicted; +@class DITWriteTransactionResultUpdated; + +/** + The types of write transaction results. + */ +typedef NS_ENUM(NSUInteger, DITWriteTransactionResultType) { + DITWriteTransactionResultTypeInserted = 0, + DITWriteTransactionResultTypeRemoved, + DITWriteTransactionResultTypeEvicted, + DITWriteTransactionResultTypeUpdated, +}; + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides information about the result of an operation on a document that was part of a write + transaction. + + The write transaction result can be one of the following types: + * `inserted` + * `removed` + * `evicted` + * `updated` + */ +@interface DITWriteTransactionResult : NSObject + +/** + The ID of the document involved in the operation. + */ +@property (nonatomic, readonly) DITDocumentID *docID; + +/** + The name of the collection that the operation took place in. + */ +@property (nonatomic, readonly) NSString *collectionName; + +/** + The type of write transaction result. + + Check this value before using one of `asInserted`, `asRemoved`, `asEvicted`, or `asUpdated` to + ensure that you get the correct richer write transaction result object. + */ +@property (nonatomic, readonly) DITWriteTransactionResultType type; + +/** + Get the update result's value as a `DITWriteTransactionResultInserted`, if it is of that type. + + @return A `DITWriteTransactionResultInserted` if the value is of that type, otherwise `nil`. + */ +- (nullable DITWriteTransactionResultInserted *)asInserted; + +/** + Get the update result's value as a `DITWriteTransactionResultRemoved`, if it is of that type. + + @return A `DITWriteTransactionResultRemoved` if the value is of that type, otherwise `nil`. + */ +- (nullable DITWriteTransactionResultRemoved *)asRemoved; + +/** + Get the update result's value as a `DITWriteTransactionResultEvicted`, if it is of that type. + + @return A `DITWriteTransactionResultEvicted` if the value is of that type, otherwise `nil`. + */ +- (nullable DITWriteTransactionResultEvicted *)asEvicted; + +/** + Get the update result's value as a `DITWriteTransactionResultUpdated`, if it is of that type. + + @return A `DITWriteTransactionResultUpdated` if the value is of that type, otherwise `nil`. + */ +- (nullable DITWriteTransactionResultUpdated *)asUpdated; + +@end + +/** + Represents the write transaction result that will be the value of a `DittoWriteTransactionResult` + when its `type` is `inserted` and `asInserted` is called on it. + */ +@interface DITWriteTransactionResultInserted : DITWriteTransactionResult +@end + +/** + Represents the write transaction result that will be the value of a `DittoWriteTransactionResult` + when its `type` is `removed` and `asRemoved` is called on it. + */ +@interface DITWriteTransactionResultRemoved : DITWriteTransactionResult +@end + +/** + Represents the write transaction result that will be the value of a `DittoWriteTransactionResult` + when its `type` is `evicted` and `asEvicted` is called on it. + */ +@interface DITWriteTransactionResultEvicted : DITWriteTransactionResult +@end + +/** + Represents the write transaction result that will be the value of a `DittoWriteTransactionResult` + when its `type` is `updated` and `asUpdated` is called on it. + */ +@interface DITWriteTransactionResultUpdated : DITWriteTransactionResult +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DittoObjC.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DittoObjC.h new file mode 100644 index 0000000..0bbfa5c --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Headers/DittoObjC.h @@ -0,0 +1,109 @@ +// +// Copyright ยฉ 2019 DittoLive Incorporated. All rights reserved. +// + +// clang-format off + +#import + +//! Project version number for DittoObjC. +FOUNDATION_EXPORT double DittoObjCVersionNumber; + +//! Project version string for DittoObjC. +FOUNDATION_EXPORT const unsigned char DittoObjCVersionString[]; + +// General +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import + +// Store +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import + +// Transport +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import + +// Presence +#import +#import +#import +#import +#import + +// DiskUsage +#import +#import +#import +#import + +// clang-format on diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Modules/module.modulemap b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Modules/module.modulemap new file mode 100644 index 0000000..6577c02 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Modules/module.modulemap @@ -0,0 +1,57 @@ +framework module DittoObjC { + umbrella header "DittoObjC.h" + + export * + module * { export * } + + explicit module Private { + header "_DITDittoHandleWrapper.h" + header "_DITDocumentHandleWrapper.h" + header "_DITTransportConditionHelpers.h" + header "_DITDittoHandleWrapper.h" + header "_DITQueryOperator.h" + header "_DITFFIObject.h" + header "DITAddress+Private.h" + header "DITAttachment+Private.h" + header "DITAttachmentToken+Private.h" + header "DITAttachmentFetchEvent+Private.h" + header "DITAuthenticationStatus+Private.h" + header "DITAuthenticator+Private.h" + header "DITCollection+Private.h" + header "DITConnection+Private.h" + header "DITCounter+Private.h" + header "DITDiskUsage+Private.h" + header "DITDitto+Private.h" + header "DITDocument+Private.h" + header "DITDocumentID+Private.h" + header "DITDocumentIDPath+Private.h" + header "DITDocumentPath+Private.h" + header "DITErrors+Private.h" + header "DITStoreObserver.h" + header "DITStoreObserver+Private.h" + header "DITIdentity+Private.h" + header "DITLogger+Private.h" + header "DITMutableCounter+Private.h" + header "DITMutableDocument+Private.h" + header "DITMutableDocumentPath+Private.h" + header "DITMutableRegister+Private.h" + header "DITPeer+Private.h" + header "DITPendingCursorOperation+Private.h" + header "DITPendingIDSpecificOperation+Private.h" + header "DITPresence+Private.h" + header "DITPresenceGraph+Private.h" + header "DITRegister+Private.h" + header "DITScopedWriteTransaction+Private.h" + header "DITStore+Private.h" + header "DITUpdateResult+Private.h" + header "DITWriteTransactionPendingCursorOperation+Private.h" + header "DITWriteTransactionPendingIDSpecificOperation+Private.h" + } + + explicit module DittoFFI { + private header "dittoffi.h" + private header "_DITDittoSwiftHelpers.h" + link "dittoffi" + export * + } +} diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAWDLClientPlatform.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAWDLClientPlatform.h new file mode 100644 index 0000000..b6377e8 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAWDLClientPlatform.h @@ -0,0 +1,69 @@ +// +// Copyright ยฉ 2019 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +/* + This is the platform implementation for peer-to-peer Wifi, or AWDL. + We use the platform APIs: NetService and NetServiceBrowser to + initiate the discovery and connection. This is the same high-level + API from the platform that is used with mDNS as well. We have a + duplicate implementation because the underlying socket from AWDL + uses a private socket option called SO_RECV_ANYIF and is defined + in sys/socket.h on Darwin as 0x1104 (but unavailable in iOS). + Instead, the only way to get access to the socket is from high- + level APIs, specifically getInputStream(_:outputStream:) from + NetService or NWBrowser and NWConnection in the Network Framework, + (available >=iOS 12). + + We confirmed with Apple DTS that it is ok to run two NetService + instances: + + "Nothing sticks out to me here as being an issue besides the + technical overhead of managing the two sets of services and + browsers." + */ + +@class DITTransportHandleWrapper; +@protocol DITAWDLClientPeer; +@protocol DITAWDLClientBrowser; + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITAWDLClientPlatform : NSObject + +@property(nonatomic, assign, readonly) void *dittoHandle; +@property(nonatomic, strong, readonly) NSThread *transportsThread; +@property(nonatomic, strong, nullable) DITTransportHandleWrapper *handleWrapper; +@property(nonatomic, strong, readonly) dispatch_queue_t peersQueue; +@property(nonatomic, strong, nullable) NSObject *browser; +@property(nonatomic, strong) NSMutableDictionary *> *peers; +@property(nonatomic, copy) NSString *prefix; +@property(nonatomic, copy) NSString *announce; +@property(nonatomic, assign) OnlineState_t searching; + +// For DITClientPlatformProtocol +@property (nonatomic, assign) bool isWifiEnabled; +@property (nonatomic, strong, nullable) NSTimer *wifiCheckTimer; + ++ (AwdlClientCallbacks_t)callbacks; + +- (instancetype)init NS_UNAVAILABLE; + +/// Must be called on a thread with a *running* run-loop. For regular apps on apple platforms, this is the +/// main thread. For environments that already have some kind of event loop, such as Node, you'll have to +/// create a dedicated thread, run its run loop, and make sure to call the initializer from that thread. +- (instancetype)initWithDittoHandle:(void *)dittoHandle NS_DESIGNATED_INITIALIZER; + +- (void)shutdown; + +- (void)startSearching:(NSString *)announce hashedAppName:(NSString *)hashedAppName; +- (void)stopSearching; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAWDLConfig+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAWDLConfig+Private.h new file mode 100644 index 0000000..c98c2e8 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAWDLConfig+Private.h @@ -0,0 +1,18 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITAWDLConfig () { + @protected + BOOL _enabled; +} + +- (instancetype)initWithEnabled:(BOOL)enabled copy:(BOOL)shouldCopy NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAWDLServerAdvertiser.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAWDLServerAdvertiser.h new file mode 100644 index 0000000..760c510 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAWDLServerAdvertiser.h @@ -0,0 +1,21 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + A running AWDL advertiser implementation, using some API or another. Dealloc to stop. + */ +@protocol DITAWDLServerAdvertiser + +@property (nonatomic, weak) NSObject *delegate; + +- (void)shutdown; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAWDLServerAdvertiserDelegate.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAWDLServerAdvertiserDelegate.h new file mode 100644 index 0000000..f51ce9a --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAWDLServerAdvertiserDelegate.h @@ -0,0 +1,21 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +@protocol DITAWDLServerAdvertiser; +@protocol DITAWDLServerPeer; + +NS_ASSUME_NONNULL_BEGIN + +@protocol DITAWDLServerAdvertiserDelegate + +- (NSNumber *)awdlServerAdvertiserAllocateID:(NSObject *)awdlServerAdvertiser; +- (void)awdlServerAdvertiser:(NSObject *)awdlServerAdvertiser addConnection:(NSObject *)peer withID:(NSNumber *)peerID; +- (void)awdlServerAdvertiser:(NSObject *)awdlServerAdvertiser removeConnection:(NSNumber *)peerID; +- (void)awdlServerAdvertiser:(NSObject *)awdlServerAdvertiser performWithTransportHandle:(void (^)(void *handle))action; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAWDLServerPeer.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAWDLServerPeer.h new file mode 100644 index 0000000..64a6308 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAWDLServerPeer.h @@ -0,0 +1,19 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + An active incoming connection to our AWDL listener. + */ +@protocol DITAWDLServerPeer + +- (int)sendDataDirect:(NSData *)data; +- (int)readDataDirect:(uint8_t *)buffer maxLength:(NSUInteger)len; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAWDLServerPlatform.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAWDLServerPlatform.h new file mode 100644 index 0000000..0cb7981 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAWDLServerPlatform.h @@ -0,0 +1,53 @@ +// +// Copyright ยฉ 2019 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +#import + +@class DITAWDLServerNetServicePeer; +@class DITTransportHandleWrapper; + +@protocol DITAWDLServerAdvertiser; +@protocol DITAWDLServerPeer; + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides AWDL discovery and communication to Rust. + */ +@interface DITAWDLServerPlatform : NSObject + +@property(nonatomic, assign, readonly) void *dittoHandle; +@property(nonatomic, strong, readonly) NSThread *transportsThread; +@property(nonatomic, strong, readonly) NSRunLoop *transportsRunLoop; +@property(nonatomic, strong, nullable) DITTransportHandleWrapper *handleWrapper; +@property(nonatomic, strong, readonly) dispatch_queue_t queue; +@property(nonatomic, strong) NSMutableDictionary *> *peers; +@property(nonatomic, copy) NSString *prefix; +@property(nonatomic, copy) NSString *announce; +@property(nonatomic, assign) int64_t peerIDCounter; +@property(nonatomic, strong, nullable) NSObject *advertiser; +@property(nonatomic, assign) OnlineState_t advertising; +@property(nonatomic, copy, readonly, nullable) NSString* serviceName; + ++ (AwdlServerCallbacks_t)callbacks; + +- (instancetype)init NS_UNAVAILABLE; + +/// Must be called on a thread with a *running* run-loop. For regular apps on apple platforms, this is the +/// main thread. For environments that already have some kind of event loop, such as Node, you'll have to +/// create a dedicated thread, run its run loop, and make sure to call the initializer from that thread. +- (instancetype)initWithDittoHandle:(void *)dittoHandle NS_DESIGNATED_INITIALIZER; + +- (void)shutdown; + +- (void)startAdvertising:(NSString *)announce hashedAppName:(NSString *)hashedAppName; +- (void)stopAdvertising; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAddress+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAddress+Private.h new file mode 100644 index 0000000..754f8d5 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAddress+Private.h @@ -0,0 +1,15 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +@interface DITAddress () + +@property (nonatomic) uint64_t siteID; +@property (nonatomic, readonly) NSData *pubkey; + +- (instancetype)initWithDictionaryRepresentation:(NSDictionary *)dictionaryRepresentation; +- (instancetype)initWithSiteID:(uint64_t)address pubkey:(NSData *)pubkey NS_DESIGNATED_INITIALIZER; + +@end diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAttachment+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAttachment+Private.h new file mode 100644 index 0000000..3b39b5e --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAttachment+Private.h @@ -0,0 +1,29 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class _DITDittoHandleWrapper; + +struct AttachmentHandle; + +@interface DITAttachment () + +@property (nonatomic, readonly) NSData *id; +@property (nonatomic, readonly) NSUInteger len; +@property (nonatomic, readonly) struct AttachmentHandle *handle; +@property (nonatomic, readonly) _DITDittoHandleWrapper *dittoHandleWrapper; +@property (nonatomic, readwrite, nullable) NSString *path; + +- (instancetype)initWithID:(NSData *)id + len:(NSUInteger)len + metadata:(NSDictionary *)metadata + handle:(struct AttachmentHandle *)handle + dittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAttachmentFetchEvent+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAttachmentFetchEvent+Private.h new file mode 100644 index 0000000..ee1eedc --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAttachmentFetchEvent+Private.h @@ -0,0 +1,36 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITAttachment; +@class DITAttachmentFetcher; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITAttachmentFetchEvent () + +@property (weak, nonatomic, nullable, readonly) DITAttachmentFetcher *attachmentFetcher; + +- (instancetype)initWithAttachmentFetcher:(DITAttachmentFetcher *)attachmentFetcher + NS_DESIGNATED_INITIALIZER; + +@end + +@interface DITAttachmentFetchEventCompleted () +- (instancetype)initWithAttachment:(DITAttachment *)attachment + attachmentFetcher:(DITAttachmentFetcher *)attachmentFetcher; +@end + +@interface DITAttachmentFetchEventProgress () +- (instancetype)initWithDownloadedBytes:(NSUInteger)downloadedBytes + totalBytes:(NSUInteger)totalBytes + attachmentFetcher:(DITAttachmentFetcher *)attachmentFetcher; +@end + +@interface DITAttachmentFetchEventDeleted () +- (instancetype)initWithAttachmentFetcher:(DITAttachmentFetcher *)attachmentFetcher; +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAttachmentFetcher+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAttachmentFetcher+Private.h new file mode 100644 index 0000000..432b287 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAttachmentFetcher+Private.h @@ -0,0 +1,28 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITAttachmentFetchEvent; +@class DITAttachmentToken; +@class _DITDittoHandleWrapper; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITAttachmentFetcher () + +@property (nonatomic, readonly) _DITDittoHandleWrapper *dittoHandleWrapper; +@property (nonatomic, readonly) dispatch_queue_t deliveryDispatchQueue; +@property (nonatomic, readonly) void (^onFetchEvent)(DITAttachmentFetchEvent *); +@property (nonatomic, readonly) DITAttachmentToken *token; +@property (nonatomic) int64_t cancelToken; + +- (nullable instancetype)initWithAttachmentToken:(DITAttachmentToken *)attachmentToken + deliveryQueue:(dispatch_queue_t)dispatchQueue + onFetchEvent:(void (^)(DITAttachmentFetchEvent *))onFetchEvent + dittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper + error:(NSError *_Nullable *)error; +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAttachmentToken+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAttachmentToken+Private.h new file mode 100644 index 0000000..7e42fc6 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAttachmentToken+Private.h @@ -0,0 +1,24 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITAttachmentToken () + +@property (nonatomic, readonly) NSData *id; +@property (nonatomic, readonly) NSUInteger len; +@property (nonatomic, readonly) NSDictionary *metadata; + +- (instancetype)new NS_UNAVAILABLE; +- (instancetype)init NS_UNAVAILABLE; +- (nullable instancetype)initWithInternalDictionaryRepresentation: + (NSDictionary *)dictionaryRepresentation NS_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithPublicDictionaryRepresentation: + (NSDictionary *)dictionaryRepresentation NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAuthenticationStatus+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAuthenticationStatus+Private.h new file mode 100644 index 0000000..72e567b --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAuthenticationStatus+Private.h @@ -0,0 +1,15 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITAuthenticationStatus () + ++ (instancetype)fromFFI:(dittoffi_authentication_status_t *)ffiAuthenticationStatus; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAuthenticator+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAuthenticator+Private.h new file mode 100644 index 0000000..c76420c --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITAuthenticator+Private.h @@ -0,0 +1,40 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +@class _DITAuthenticationStatusHandler; +@class _DITAuthenticationStatusObserver; +@class _DITLoginProvider; +@class _DITWeakWrapper; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITAuthenticator () + +@property (nonatomic, nullable, weak) DITDitto *ditto; +@property (nonatomic, readonly, strong) NSMutableArray<_DITWeakWrapper *> *statusObservers; +@property (nonatomic, readonly, strong) dispatch_queue_t loginQueue; +@property (nonatomic, nullable, readwrite, weak) id delegate; +@property (nonatomic, nullable, readwrite) _DITLoginProvider *loginProvider; +@property (nonatomic, nullable, readwrite) + _DITAuthenticationStatusHandler *authenticationStatusHandler; + +- (instancetype)initWithDitto:(DITDitto *)ditto + authenticationDelegate:(nullable id)authenticationDelegate; + +- (void)loginWithTokenAndFeedback:(NSString *)token + provider:(nullable NSString *)provider + completion:(void (^)(NSString *__nullable, NSError *__nullable))completion; + +- (void)authenticationStatusUpdated:(DITAuthenticationStatus *)authenticationStatus; +- (void)authenticationExpiring:(uint32_t)timeRemaining; +- (void)updateAndNotify:(BOOL)shouldNotify; +- (void)stopStatusObserver:(_DITAuthenticationStatusObserver *)authenticationStatusObserver; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITBluetoothLEConfig+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITBluetoothLEConfig+Private.h new file mode 100644 index 0000000..284340b --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITBluetoothLEConfig+Private.h @@ -0,0 +1,18 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import "DITBluetoothLEConfig.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface DITBluetoothLEConfig () { + @protected + BOOL _enabled; +} + +- (instancetype)initWithEnabled:(BOOL)enabled copy:(BOOL)shouldCopy NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITCollection+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITCollection+Private.h new file mode 100644 index 0000000..e823108 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITCollection+Private.h @@ -0,0 +1,43 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +@class DITDocumentID; +@class _DITDittoHandleWrapper; + +struct Ditto_WriteTransaction; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITCollection () +@property (nonatomic, readonly) _DITDittoHandleWrapper *dittoHandleWrapper; + +- (instancetype)initWithDittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper + name:(NSString *)name; + +- (nullable DITDocumentID *)upsert:(NSDictionary *)content + writeStrategy:(DITWriteStrategy)writeStrategy + writeTxn:(nullable CWriteTransaction_t *)writeTxn + error:(NSError *_Nullable __autoreleasing *)error + NS_SWIFT_NAME(upsert(_:writeStrategy:writeTxn:)); + +- (nullable DITDocumentID *)upsertCBORData:(NSData *)data + writeStrategy:(DITWriteStrategy)writeStrategy + logHint:(NSString *)logHint + writeTxn:(nullable CWriteTransaction_t *)writeTxn + NS_SWIFT_NAME(upsertCBORData(_:writeStrategy:logHint:writeTxn:)); + +- (nullable DITDocumentID *)upsertCBORData:(NSData *)data + writeStrategy:(DITWriteStrategy)writeStrategy + logHint:(NSString *)logHint + error:(NSError *_Nullable __autoreleasing *)error + NS_SWIFT_NAME(upsertCBORData(_:writeStrategy:logHint:)); + +- (DITPendingCursorOperation *)find:(NSString *)query withArgsData:(nullable NSData *)queryArgsData; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITCollectionsEvent+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITCollectionsEvent+Private.h new file mode 100644 index 0000000..b21458c --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITCollectionsEvent+Private.h @@ -0,0 +1,23 @@ +// +// Copyright ยฉ 2021 Ditto. All rights reserved. +// + +@class DITDocument; +@class DITLiveQueryMove; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITCollectionsEvent () + +- (instancetype)initWithCollections:(NSArray *)collections + oldCollections:(NSArray *)oldCollections + insertions:(NSArray *)insertions + deletions:(NSArray *)deletions + updates:(NSArray *)updates + moves:(NSArray *)moves; + +- (instancetype)initInitialWithCollections:(NSArray *)collections; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITConnect+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITConnect+Private.h new file mode 100644 index 0000000..0b7ded5 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITConnect+Private.h @@ -0,0 +1,25 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITConnect () { + @protected + NSSet *_tcpServers; + @protected + NSSet *_websocketURLs; + @protected + NSTimeInterval _retryInterval; +} + +- (instancetype)initWithTCPServers:(NSSet *)tcpServers + websocketURLs:(NSSet *)websocketUrls + retryInterval:(NSTimeInterval)retryInterval + copy:(BOOL)shouldCopy NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITConnection+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITConnection+Private.h new file mode 100644 index 0000000..a2a3c17 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITConnection+Private.h @@ -0,0 +1,13 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITConnection () + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITCounter+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITCounter+Private.h new file mode 100644 index 0000000..b2e9404 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITCounter+Private.h @@ -0,0 +1,18 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITCounter () { + @protected + double _value; +} + +- (instancetype)initWithValue:(double)value NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDiskUsage+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDiskUsage+Private.h new file mode 100644 index 0000000..3c783e9 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDiskUsage+Private.h @@ -0,0 +1,20 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +@class _DITDittoHandleWrapper; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITDiskUsage () + +@property (nonatomic, readonly) _DITDittoHandleWrapper *dittoHandleWrapper; + +- (instancetype)initWithDitto:(DITDitto *)ditto; +- (instancetype)initWithDittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDiskUsageObserverHandle+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDiskUsageObserverHandle+Private.h new file mode 100644 index 0000000..0382924 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDiskUsageObserverHandle+Private.h @@ -0,0 +1,23 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITDiskUsageItem; +@class _DITDittoHandleWrapper; + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITDiskUsageObserverHandle () + +@property (nonatomic, copy) void (^eventHandler)(DITDiskUsageItem *DiskUsageItem); + +- (instancetype)initWithDittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper + eventHandler:(void (^)(DITDiskUsageItem *DiskUsageItem))block; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDitto+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDitto+Private.h new file mode 100644 index 0000000..839177a --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDitto+Private.h @@ -0,0 +1,58 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class _DITDittoHandleWrapper; +@class _DITPresenceManagerV1; +@class _DITPresenceManagerV2; +@class DITPresence; + +@class DITTransportHandleWrapper; +@class DITAWDLClientPlatform; +@class DITAWDLServerPlatform; +@class DITBluetoothPlatform; +@class DITMDNSPlatform; + +@class DITBluetoothLEConfig; +@class DITLANConfig; +@class DITAWDLConfig; +@class DITTCPListenConfig; +@class DITHTTPListenConfig; +@class DITGlobalConfig; + +@class DITIdentityProvider; + +@class _DITHistory; +@class _DITStatus; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITDitto () +@property (nonatomic, readonly) _DITDittoHandleWrapper *dittoHandleWrapper; + +@property (nonatomic, readonly) + _DITPresenceManagerV1 *presenceV1 __deprecated_msg("Replaced by `presence`."); +@property (nonatomic, readonly) + _DITPresenceManagerV2 *presenceV2 __deprecated_msg("Replaced by `presence`."); + +@property (nonatomic) BOOL transportConditionCallbackRegistered; + +@property (nonatomic) _DITStatus *status; + +@property (nonatomic, readwrite, nullable) DITIdentityProvider *identityProvider; + +@property (nonatomic, readonly) _DITHistory *history; + +- (nullable instancetype)initWithIdentity:(DITIdentity *)identity + historyTrackingEnabled:(BOOL)historyTrackingEnabled + persistenceDirectory:(nullable NSURL *)directory + passphrase:(nullable NSString *)passphrase + error:(NSError *_Nullable *)error NS_DESIGNATED_INITIALIZER; + +- (void)initSdkVersion; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDocument+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDocument+Private.h new file mode 100644 index 0000000..4276bec --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDocument+Private.h @@ -0,0 +1,19 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +@class _DITDocumentHandleWrapper; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITDocument () +@property (nonatomic, readonly) _DITDocumentHandleWrapper *documentHandleWrapper; + +- (instancetype)initWithDocumentHandleWrapper:(_DITDocumentHandleWrapper *)documentHandleWrapper; +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDocumentID+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDocumentID+Private.h new file mode 100644 index 0000000..f72cc61 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDocumentID+Private.h @@ -0,0 +1,30 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITDocumentID () + +@property (nonatomic, readonly) NSData *idData; +@property (nonatomic, readwrite) BOOL valueInitialized; +@property (nonatomic, readonly, strong, nullable) id decodedValue; + +- (instancetype)initWithCBOR:(slice_boxed_uint8_t)idSliceBoxed; +- (instancetype)initFromDocumentHandle:(CDocument_t const *)docHandle; +- (instancetype)initWithData:(NSData *)data; + +- (NSString *)formattedForQueryString:(StringPrimitiveFormat_t)stringPrimitiveFormat + NS_SWIFT_NAME(formattedForQueryString(_:)); +; + +@end + +NSString *ObjectFormattedForQueryString(id object); + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDocumentIDPath+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDocumentIDPath+Private.h new file mode 100644 index 0000000..7d5b0dd --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDocumentIDPath+Private.h @@ -0,0 +1,24 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +@class DITDocumentIDPath; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITDocumentIDPath () +@property (nonatomic, readonly) DITDocumentID *docID; +@property (nonatomic, copy) NSString *path; + ++ (instancetype)documentIDPathFrom:(DITDocumentIDPath *)docIDPath + appendingComponent:(NSString *)component; ++ (instancetype)documentIDPathWith:(DITDocumentID *)docID initialPath:(NSString *)initialPath; + +- (instancetype)initWithDocumentID:(DITDocumentID *)docID path:(NSString *)path; +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDocumentPath+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDocumentPath+Private.h new file mode 100644 index 0000000..485d39c --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITDocumentPath+Private.h @@ -0,0 +1,31 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITDocumentID; + +@class _DITDocumentHandleWrapper; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITDocumentPath () +@property (nonatomic, readonly) _DITDocumentHandleWrapper *documentHandleWrapper; +@property (nonatomic, readonly) DITDocumentID *docID; +@property (nonatomic, copy) NSString *path; + +- (instancetype)initWithDocumentHandleWrapper:(_DITDocumentHandleWrapper *)documentHandleWrapper + documentID:(DITDocumentID *)docID + path:(NSString *)path; + ++ (instancetype)documentPathWithDocumentHandleWrapper: + (_DITDocumentHandleWrapper *)documentHandleWrapper + documentID:(DITDocumentID *)documentID + initialPath:(NSString *)initialPath; + ++ (instancetype)documentPathFrom:(DITDocumentPath *)path appendingComponent:(NSString *)component; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITErrors+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITErrors+Private.h new file mode 100644 index 0000000..392b543 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITErrors+Private.h @@ -0,0 +1,18 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXPORT NSString *const DITFFIErrorKey; + +NSError *DITErrorFromFFIError(dittoffi_error_t *ffiError); +NSError *DITErrorFromFFIErrorAssigningToOutErrorIfNeeded(dittoffi_error_t *ffiError, + NSError *_Nullable *outError); + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITGlobalConfig+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITGlobalConfig+Private.h new file mode 100644 index 0000000..a0367f3 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITGlobalConfig+Private.h @@ -0,0 +1,23 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITGlobalConfig () { + @protected + uint32_t _syncGroup; + uint32_t _routingHint; +} + +- (instancetype)initWithSyncGroup:(uint32_t)syncGroup copy:(BOOL)copy; + +- (instancetype)initWithSyncGroup:(uint32_t)syncGroup + routingHint:(uint32_t)routingHint + copy:(BOOL)copy NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITHTTPListenConfig+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITHTTPListenConfig+Private.h new file mode 100644 index 0000000..b630f9e --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITHTTPListenConfig+Private.h @@ -0,0 +1,49 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITHTTPListenConfig () { + @protected + BOOL _enabled; + @protected + NSString *_interfaceIp; + @protected + uint16_t _port; + @protected + NSString *_staticContentPath; + @protected + BOOL _websocketSync; + @protected + NSString *_tlsKeyPath; + @protected + NSString *_tlsCertificatePath; + @protected + BOOL _identityProvider; + @protected + NSString *_identityProviderSigningKey; + @protected + NSArray *_identityProviderVerifyingKeys; + @protected + NSString *_caKey; +} + +- (instancetype)initWithEnabled:(BOOL)enabled + interfaceIp:(NSString *)interfaceIp + port:(uint16_t)port + staticContentPath:(nullable NSString *)staticContentPath + websocketSync:(BOOL)websocketSync + tlsKeyPath:(nullable NSString *)tlsKeyPath + tlsCertificatePath:(nullable NSString *)tlsCertificatePath + isIdentityProvider:(BOOL)isIdentityProvider + identityProviderSigningKey:(nullable NSString *)identityProviderSigningKey + identityProviderVerifyingKeys:(nullable NSArray *)identityProviderVerifyingKeys + caKey:(nullable NSString *)caKey + copy:(BOOL)shouldCopy NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITIdentity+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITIdentity+Private.h new file mode 100644 index 0000000..345005a --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITIdentity+Private.h @@ -0,0 +1,27 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +@class _DITLoginProvider; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITIdentity () + +// This only gets temporarily cached here before being set as the delegate on the DITAuthenticator +@property (nonatomic, readwrite, nullable) id authenticationDelegate; + +- (instancetype)initOfflinePlaygroundWithAppID:(nullable NSString *)appID + siteIDNumber:(nullable NSNumber *)siteID; +- (instancetype)initSharedKeyWithAppID:(NSString *)appID + sharedKey:(NSString *)sharedKey + siteIDNumber:(nullable NSNumber *)siteID; + +- (CIdentityConfig_t *)buildIdentityConfig; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITL2CAPConnection.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITL2CAPConnection.h new file mode 100644 index 0000000..ceadc53 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITL2CAPConnection.h @@ -0,0 +1,33 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +@class DITTransportHandleWrapper; +@protocol DITL2CAPConnectionDelegate; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITL2CAPConnection : NSObject + +- (instancetype)initWithChannel:(CBL2CAPChannel *)channel handle:(DITTransportHandleWrapper *)handle isServer:(BOOL)isServer uuid:(NSUUID*)uuid runLoop:(NSRunLoop *)runLoop thread:(NSThread *)thread; +- (int)sendDataDirect:(NSData *)data; +- (int)readDataDirect:(uint8_t *)buffer maxLength:(NSUInteger)length; + +- (void)close; + +@property (nonatomic, weak) id delegate; +@property (nonatomic, readonly) NSRunLoop *transportsRunLoop; +@property (nonatomic, readonly) NSThread *transportsThread; +@property (nonatomic, readonly) CBL2CAPChannel *channel; +@property (nonatomic, readonly, weak) DITTransportHandleWrapper *handle; +@property (nonatomic, copy, readonly) NSUUID *uuid; + +@property (nonatomic, readonly) BOOL isServer; +@property (nonatomic, readonly) BOOL isFailed; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITL2CAPConnectionDelegate.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITL2CAPConnectionDelegate.h new file mode 100644 index 0000000..c1d6ee1 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITL2CAPConnectionDelegate.h @@ -0,0 +1,17 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class DITL2CAPConnection; + +@protocol DITL2CAPConnectionDelegate + +- (void)l2capConnectionDidFail:(DITL2CAPConnection *)connection; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITLANConfig+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITLANConfig+Private.h new file mode 100644 index 0000000..b545797 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITLANConfig+Private.h @@ -0,0 +1,25 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITLANConfig () { + @protected + BOOL _enabled; + @protected + BOOL _mDNSEnabled; + @protected + BOOL _multicastEnabled; +} + +- (instancetype)initWithEnabled:(BOOL)enabled + mDNSEnabled:(BOOL)mDNSEnabled + multicastEnabled:(BOOL)multicastEnabled + copy:(BOOL)shouldCopy NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITListen+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITListen+Private.h new file mode 100644 index 0000000..5bce74d --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITListen+Private.h @@ -0,0 +1,22 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITListen () { + @protected + DITTCPListenConfig *_tcp; + @protected + DITHTTPListenConfig *_http; +} + +- (instancetype)initWithTCP:(DITTCPListenConfig *)tcp + HTTP:(DITHTTPListenConfig *)http + copy:(BOOL)shouldCopy NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITLiveQuery+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITLiveQuery+Private.h new file mode 100644 index 0000000..226cd21 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITLiveQuery+Private.h @@ -0,0 +1,100 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +@class DITDocument; +@class DITLiveQueryEvent; +@class DITLiveQueryMove; +@class DITSubscription; + +@class _DITDittoHandleWrapper; +@class _DITDocumentHandleWrapper; +@class _DITOrderBy; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITLiveQuery () +@property (nonatomic, readonly) _DITDittoHandleWrapper *dittoHandleWrapper; +@property (nonatomic, readonly, nullable) NSData *queryArgsData; +@property (nonatomic, readonly) int limit; +@property (nonatomic, readonly) uint offset; +@property (nonatomic, readonly, nullable) DITSubscription *subscription; +@property (nonatomic, readonly) int64_t lqID; +@property (nonatomic, readonly) dispatch_queue_t deliveryDispatchQueue; +@property (nonatomic, readonly, nullable) void (^eventHandler) + (NSArray *, DITLiveQueryEvent *, void (^_Nullable)(void)); +@property (nonatomic, readonly, nullable) void (^documentHandleEventHandler) + (BOOL, + NSArray<_DITDocumentHandleWrapper *> *, + NSArray<_DITDocumentHandleWrapper *> *, + NSArray *, + NSArray *, + NSArray *, + NSArray *, + void (^_Nullable)(void)); +@property (nonatomic, readonly, nullable) void (^signalNextBlock)(void); + +- (instancetype)initWithQuery:(NSString *)query + queryArgsData:(nullable NSData *)queryArgsData + collectionName:(NSString *)collectionName + orderBy:(_DITOrderBy *)orderBy + limit:(int)limit + offset:(uint)offset + availability:(LiveQueryAvailability_t)availability + subscription:(nullable DITSubscription *)subscription + dittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper + deliveryDispatchQueue:(dispatch_queue_t)dispatchQueue + eventHandler:(void (^)(NSArray *, + DITLiveQueryEvent *, + void (^_Nullable)(void)))eventHandler; + +- (instancetype)initWithQuery:(NSString *)query + queryArgsData:(nullable NSData *)queryArgsData + collectionName:(NSString *)collectionName + orderBy:(_DITOrderBy *)orderBy + limit:(int)limit + offset:(uint)offset + availability:(LiveQueryAvailability_t)availability + subscription:(nullable DITSubscription *)subscription + dittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper + deliveryDispatchQueue:(dispatch_queue_t)dispatchQueue + documentHandleEventHandler:(void (^)(BOOL, + NSArray<_DITDocumentHandleWrapper *> *, + NSArray<_DITDocumentHandleWrapper *> *, + NSArray *, + NSArray *, + NSArray *, + NSArray *, + void (^_Nullable)(void)))documentHandleEventHandler; + +- (instancetype)initWithQuery:(NSString *)query + queryArgsData:(nullable NSData *)queryArgsData + collectionName:(NSString *)collectionName + orderBy:(nullable _DITOrderBy *)orderBy + limit:(int)limit + offset:(uint)offset + availability:(LiveQueryAvailability_t)availability + subscription:(nullable DITSubscription *)subscription + dittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper + deliveryDispatchQueue:(dispatch_queue_t)dispatchQueue + eventHandler:(void (^_Nullable)(NSArray *, + DITLiveQueryEvent *, + void (^_Nullable)(void)))eventHandler + documentHandleEventHandler: + (void (^_Nullable)(BOOL, + NSArray<_DITDocumentHandleWrapper *> *, + NSArray<_DITDocumentHandleWrapper *> *, + NSArray *, + NSArray *, + NSArray *, + NSArray *, + void (^_Nullable)(void)))documentHandleEventHandler; + ++ (NSArray *)documentsFrom:(Vec_CDocument_ptr_t)docsVec; ++ (NSArray *)indexesFrom:(slice_boxed_size_t)idxs_boxed; +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITLiveQueryEvent+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITLiveQueryEvent+Private.h new file mode 100644 index 0000000..d32089d --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITLiveQueryEvent+Private.h @@ -0,0 +1,24 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITDocument; +@class DITLiveQueryMove; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITLiveQueryEvent () + +- (instancetype)initWithOldDocuments:(NSArray *)oldDocs + insertions:(NSArray *)insertions + deletions:(NSArray *)deletions + updates:(NSArray *)updates + moves:(NSArray *)moves; + +- (instancetype)initInitial; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITLiveQueryMove+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITLiveQueryMove+Private.h new file mode 100644 index 0000000..0067042 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITLiveQueryMove+Private.h @@ -0,0 +1,15 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITLiveQueryMove () + +- (instancetype)initWithFrom:(NSInteger)from to:(NSInteger)to; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITLogger+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITLogger+Private.h new file mode 100644 index 0000000..964ed8f --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITLogger+Private.h @@ -0,0 +1,25 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITLogger () +/** + Initializes the logging runtime, if it hasn't been initialized already. + + Note that calling this is rarely necessary, since instantiating a `Ditto` instance does this + automatically. + */ ++ (void)__start; + +/** + * Only used in tests, mainly for swift to have access to emitting some form of log message. + */ ++ (void)__logError:(NSString *)msg; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITMDNSPlatform.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITMDNSPlatform.h new file mode 100644 index 0000000..6d591a0 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITMDNSPlatform.h @@ -0,0 +1,51 @@ +// +// Copyright ยฉ 2019 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +@class DITTransportHandleWrapper; +@class DITServiceCache; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITMDNSPlatform : NSObject + +@property(nonatomic, assign, readonly) void *dittoHandle; +@property(nonatomic, strong, readonly) NSThread *transportsThread; +@property(nonatomic, strong, readonly) NSRunLoop *transportsRunLoop; + +@property(nonatomic, strong, nullable) DITTransportHandleWrapper *transportHandleWrapper; + +@property(nonatomic, strong, nullable) NSNetService *service; +@property(nonatomic, strong, nullable) NSNetServiceBrowser *browser; +@property(nonatomic, strong) DITServiceCache *services; +@property(nonatomic, assign) OnlineState_t searching; +@property(nonatomic, assign) OnlineState_t advertising; +@property(nonatomic, copy) NSString *announce; +// These prefixes should be the same but search/advertise can operate independently - see crash #1827 +@property(nonatomic, copy) NSString *searchingPrefix; +@property(nonatomic, copy) NSString *advertisingPrefix; +@property(nonatomic, assign) int32_t port; + +// For DITClientPlatformProtocol +@property (nonatomic, assign) bool isWifiEnabled; +@property (nonatomic, strong, nullable) NSTimer *wifiCheckTimer; + ++ (MdnsServerCallbacks_t)serverCallbacks; ++ (MdnsClientCallbacks_t)clientCallbacks; ++ (NSString *)serviceNameForPrefix:(NSString *)prefix announce:(NSString *)announce; + +- (instancetype)init NS_UNAVAILABLE; + +/// Must be called on a thread with a *running* run-loop. For regular apps on apple platforms, this is the +/// main thread. For environments that already have some kind of event loop, such as Node, you'll have to +/// create a dedicated thread, run its run loop, and make sure to call the initializer from that thread. +- (instancetype)initWithDittoHandle:(void *)dittoHandle NS_DESIGNATED_INITIALIZER; + +- (void)shutdown; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITMutableCounter+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITMutableCounter+Private.h new file mode 100644 index 0000000..aa85dd6 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITMutableCounter+Private.h @@ -0,0 +1,22 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +@class DITMutableDocumentPath; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITMutableCounter () + +@property (nonatomic, readonly, nullable) DITMutableDocumentPath *documentPath; + +- (instancetype)initWithValue:(double)value NS_UNAVAILABLE; +- (instancetype)initWithValue:(double)value + documentPath:(DITMutableDocumentPath *)documentPath NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITMutableDocument+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITMutableDocument+Private.h new file mode 100644 index 0000000..92f5396 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITMutableDocument+Private.h @@ -0,0 +1,20 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +@class DITUpdateResult; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITMutableDocument () +// This will be freed as part of the update process that uses these `DITMutableDocument`s +@property (nonatomic, readonly, unsafe_unretained) CDocument_t *documentHandle; +@property (nonatomic, readonly) NSMutableArray *results; + +- (instancetype)initWithDocumentHandle:(CDocument_t *)documentHandle; +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITMutableDocumentPath+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITMutableDocumentPath+Private.h new file mode 100644 index 0000000..33f6fc3 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITMutableDocumentPath+Private.h @@ -0,0 +1,73 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +@class DITDocumentID; +@class DITUpdateResult; + +NS_ASSUME_NONNULL_BEGIN + +struct Ditto_Document; + +@interface DITMutableDocumentPath () +@property (nonatomic, readonly, unsafe_unretained) CDocument_t *documentHandle; +@property (nonatomic, readonly) DITDocumentID *docID; +@property (nonatomic, readwrite) NSString *path; +@property (nonatomic, readonly) NSMutableArray *results; + +/** + Constructs a new initial `DITMutableDocumentPath` for a document. + + @param documentHandle A pointer to the Rust `Ditto_Document`. + @param documentID The ID of the `DITMutableDocument` to which this path corresponds. + @param initialPath The key for the initial path into the document. This must + always be a string key (i.e. a map key) rather than an array index as every + top level `DITMutableDocument` is a map. The `initialPath` will be sanitized within + the constructor. + @param results A reference to the `results` property of the `DITMutableDocument` + itself. Any modification to this property will modify the singular `results` object + for the document. The reference semantics are by design so that update results are + collected in one place in the event that mutations are performed by several different + `DITMutableDocumentPath`s on the same `DITMutableDocument`. + */ ++ (instancetype)mutableDocumentPathWithDocumentHandle:(CDocument_t *)documentHandle + documentID:(DITDocumentID *)documentID + initialPath:(NSString *)initialPath + results:(NSMutableArray *)results; + +/** + Constructs a new `DITMutableDocumentPath` from an existing `DITMutableDocumentPath` + by appending another path component. + + @param documentPath The existing document path. All values will be copied except for + the `results` property which references the `results` property of corresponding + `DITMutableDocument`. The reference semantics are by design so that update results are + collected in one place in the event that mutations are performed by several different + `DITMutableDocumentPath`s on the same `DITMutableDocument`. + @param component The path component to append. It should already be in sanitized form. + */ ++ (instancetype)mutableDocumentPathFrom:(DITMutableDocumentPath *)documentPath + appendingComponent:(NSString *)component; + +#pragma mark - Swift Compatibility + +// These versions of the document update functions exist so that the Swift SDK wrapper can call them +// and not have the update results be managed by the Objective-C side of things. This is because the +// Swift SDK's representation of update results wants to be able to work with `Any?` types, which +// don't work nicely with Objective-C. +- (void)setDataNoResultChanges:(nullable NSData *)data isDefault:(BOOL)isDefault; +- (void)removeNoResultChanges; +- (void)incrementNoResultChanges:(double)amount; + +#pragma mark - Type specific methods + +#pragma mark - Counter methods + +- (void)increment:(double)amount; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITMutableRegister+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITMutableRegister+Private.h new file mode 100644 index 0000000..64409b0 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITMutableRegister+Private.h @@ -0,0 +1,22 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +@class DITMutableDocumentPath; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITMutableRegister () + +@property (nonatomic, readonly, nullable) DITMutableDocumentPath *documentPath; + +- (instancetype)initWithValue:(id)value NS_UNAVAILABLE; +- (instancetype)initWithValue:(id)value + documentPath:(DITMutableDocumentPath *)documentPath NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPeer+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPeer+Private.h new file mode 100644 index 0000000..62e0087 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPeer+Private.h @@ -0,0 +1,13 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITPeer () + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPeerToPeer+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPeerToPeer+Private.h new file mode 100644 index 0000000..b50572b --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPeerToPeer+Private.h @@ -0,0 +1,25 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITPeerToPeer () { + @protected + DITBluetoothLEConfig *_bluetoothLe; + @protected + DITLANConfig *_lan; + @protected + DITAWDLConfig *_awdl; +} + +- (instancetype)initWithBluetoothLe:(DITBluetoothLEConfig *)bluetoothLe + lan:(DITLANConfig *)lan + awdl:(DITAWDLConfig *)awdl + copy:(BOOL)shouldCopy NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPeersObserver+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPeersObserver+Private.h new file mode 100644 index 0000000..65b2f60 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPeersObserver+Private.h @@ -0,0 +1,23 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class _DITPresenceManagerV1; +@class DITRemotePeer; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITPeersObserver () +@property (nonatomic, readonly) _DITPresenceManagerV1 *manager; +@property (nonatomic) void (^callback)(NSArray *); +@property (nonatomic, readonly) dispatch_queue_t queue; + +- (instancetype)initWithPresenceManager:(_DITPresenceManagerV1 *)manager + callback:(void (^)(NSArray *))callback + queue:(dispatch_queue_t)queue; +- (void)invoke:(NSArray *)data; +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPeersObserverV2+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPeersObserverV2+Private.h new file mode 100644 index 0000000..ff8bd0c --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPeersObserverV2+Private.h @@ -0,0 +1,22 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +@class _DITPresenceManagerV2; + +NS_ASSUME_NONNULL_BEGIN + +__deprecated_msg("Replaced by `DITObserver` protocol.") @interface DITPeersObserverV2() +@property (nonatomic, readonly) _DITPresenceManagerV2 *manager; +@property (nonatomic) void (^callback)(NSString *); +@property (nonatomic, readonly) dispatch_queue_t queue; + +- (instancetype)initWithPresenceManager:(_DITPresenceManagerV2 *)manager + callback:(void (^)(NSString *))callback + queue:(dispatch_queue_t)queue; +- (void)invoke:(NSString *)data; +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPendingCollectionsOperation+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPendingCollectionsOperation+Private.h new file mode 100644 index 0000000..11f86a3 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPendingCollectionsOperation+Private.h @@ -0,0 +1,20 @@ +// +// Copyright ยฉ 2021 Ditto. All rights reserved. +// + +#import + +@class _DITDittoHandleWrapper; +@class DITPendingCursorOperation; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITPendingCollectionsOperation () + +@property (nonatomic, readonly) DITPendingCursorOperation *pendingCursorOperation; + +- (instancetype)initWithDittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPendingCursorOperation+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPendingCursorOperation+Private.h new file mode 100644 index 0000000..1db594f --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPendingCursorOperation+Private.h @@ -0,0 +1,96 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +@class _DITDittoHandleWrapper; +@class _DITDocumentHandleWrapper; +@class _DITOrderBy; +@class DITLiveQuery; +@class DITLiveQueryEvent; +@class DITLiveQueryMove; +@class DITSubscription; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITPendingCursorOperation () +@property (nonatomic, readonly) _DITDittoHandleWrapper *dittoHandleWrapper; +@property (nonatomic, readonly) NSString *collectionName; +@property (nonatomic, readonly) NSString *query; +@property (nonatomic, readonly, nullable) NSData *queryArgsData; +@property (nonatomic, readwrite) int limit; +@property (nonatomic, readwrite) uint offset; +@property (nonatomic, readonly) _DITOrderBy *orderBy; + +- (instancetype)initWithQuery:(NSString *)query + queryArgsData:(nullable NSData *)queryArgsData + collectionName:(NSString *)collectionName + dittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper; + +// MARK: Observe (internal for Swift) + +- (nullable DITLiveQuery *)observeLocalWithDeliveryQueue:(dispatch_queue_t)dispatchQueue + error:(NSError *_Nullable __autoreleasing *)error + eventHandlerUsingDocumentHandles: + (void (^)(BOOL, + NSArray<_DITDocumentHandleWrapper *> *, + NSArray<_DITDocumentHandleWrapper *> *, + NSArray *, + NSArray *, + NSArray *, + NSArray *))eventHandler; + +- (nullable DITLiveQuery *) + observeLocalWithNextSignalAndDeliveryQueue:(dispatch_queue_t)dispatchQueue + error:(NSError *_Nullable __autoreleasing *)error + eventHandlerUsingDocumentHandles:(void (^)(BOOL, + NSArray<_DITDocumentHandleWrapper *> *, + NSArray<_DITDocumentHandleWrapper *> *, + NSArray *, + NSArray *, + NSArray *, + NSArray *, + void (^_Nullable)(void)))eventHandler + NS_SWIFT_NAME(observeLocalWithNextSignal(deliveryQueue:eventHandlerUsingDocumentHandles:)); + +- (nullable DITLiveQuery *)observeWithSubscription:(nullable DITSubscription *)subscription + deliveryQueue:(dispatch_queue_t)deliveryQueue + availability:(LiveQueryAvailability_t)availability + error:(NSError *_Nullable __autoreleasing *)error + eventHandlerUsingDocumentHandles:(void (^)(BOOL, + NSArray<_DITDocumentHandleWrapper *> *, + NSArray<_DITDocumentHandleWrapper *> *, + NSArray *, + NSArray *, + NSArray *, + NSArray *, + void (^_Nullable)(void)))eventHandler; + +// MARK: More Swift internals + +- (nullable NSArray<_DITDocumentHandleWrapper *> *)execWithErr: + (NSError *_Nullable __autoreleasing *)error; +- (nullable NSArray *)removeWithErr:(NSError *_Nullable __autoreleasing *)error; +- (nullable NSArray *)removeWithLogHint:(NSString *)logHint + err:(NSError *_Nullable __autoreleasing *) + error; +- (nullable NSArray *)evictWithErr:(NSError *_Nullable __autoreleasing *)error; +- (nullable NSArray *)evictWithLogHint:(NSString *)logHint + err:(NSError *_Nullable __autoreleasing *)error; + +- (nullable NSDictionary *> *) + updateWithBlock:(void (^)(NSArray *))block + error:(NSError *_Nullable __autoreleasing *)error; +- (nullable NSDictionary *> *) + updateWithLogHint:(NSString *)logHint + block:(void (^)(NSArray *))block + error:(NSError *_Nullable __autoreleasing *)error; + +- (nullable DITSubscription *)subscribeWithError:(NSError *_Nullable __autoreleasing *)error + NS_SWIFT_NAME(subscribe()); + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPendingIDSpecificOperation+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPendingIDSpecificOperation+Private.h new file mode 100644 index 0000000..dc0b04b --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPendingIDSpecificOperation+Private.h @@ -0,0 +1,69 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +@class DITDocument; +@class DITDocumentID; +@class DITLiveQuery; +@class DITSingleDocumentLiveQueryEvent; +@class DITSubscription; + +@class _DITDittoHandleWrapper; +@class _DITDocumentHandleWrapper; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITPendingIDSpecificOperation () +@property (nonatomic, readonly) _DITDittoHandleWrapper *dittoHandleWrapper; +@property (nonatomic, readonly) DITDocumentID *documentID; +@property (nonatomic, readonly) NSString *collectionName; +@property (nonatomic, readonly) NSString *query; + +- (instancetype)initWithDocumentID:(DITDocumentID *)documentID + collectionName:(NSString *)collectionName + dittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper; + +// MARK: Observe (internal for ObjC) + +- (DITLiveQuery *)observeWithSubscription:(nullable DITSubscription *)subscription + deliveryQueue:(dispatch_queue_t)deliveryQueue + availability:(LiveQueryAvailability_t)availability + eventHandler:(void (^)(DITDocument *_Nullable, + DITSingleDocumentLiveQueryEvent *, + void (^_Nullable)(void)))eventHandler; + +// MARK: Observe (internal for Swift) + +- (DITLiveQuery *)observeLocalWithDeliveryQueue:(dispatch_queue_t)dispatchQueue + eventHandlerUsingDocumentHandle: + (void (^)(BOOL, + _DITDocumentHandleWrapper *_Nullable, + _DITDocumentHandleWrapper *_Nullable))eventHandlerUsingDocumentHandle; + +- (DITLiveQuery *)observeLocalWithNextSignalAndDeliveryQueue:(dispatch_queue_t)dispatchQueue + eventHandlerUsingDocumentHandle: + (void (^)(BOOL, + _DITDocumentHandleWrapper *_Nullable, + _DITDocumentHandleWrapper *_Nullable, + void (^_Nullable)(void)))eventHandlerUsingDocumentHandle + NS_SWIFT_NAME(observeLocalWithNextSignal(deliveryQueue:eventHandlerUsingDocumentHandle:)); + +- (DITLiveQuery *)observeWithSubscription:(nullable DITSubscription *)subscription + deliveryQueue:(dispatch_queue_t)dispatchQueue + availability:(LiveQueryAvailability_t)availability + eventHandlerUsingDocumentHandle: + (void (^)(BOOL, + _DITDocumentHandleWrapper *_Nullable, + _DITDocumentHandleWrapper *_Nullable, + void (^_Nullable)(void)))eventHandlerUsingDocumentHandle; + +// MARK: Other internal + +- (void)updateUsingData:(NSData *)data; +- (nullable _DITDocumentHandleWrapper *)execReturningDocumentHandle; +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPresence+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPresence+Private.h new file mode 100644 index 0000000..794e4a4 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPresence+Private.h @@ -0,0 +1,54 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +@class _DITWeakWrapper; +@class _DITPresenceObserver; +@class _DITDittoHandleWrapper; + +NS_ASSUME_NONNULL_BEGIN + +// NOTE: we expose this otherwise private function here to assist with tests. +DITPresenceGraph *DITPresenceGraphFromJSONString(NSString *presenceGraphJSONString); + +@interface DITPresence () + +@property (nonatomic, readonly) NSData *graphCBOR; +@property (nonatomic, readonly) _DITDittoHandleWrapper *dittoHandleWrapper; +@property (nonatomic, readonly) dispatch_queue_t observerQueue; +@property (nonatomic, readonly) NSMutableArray<_DITWeakWrapper *> *weakPresenceObservers; + +- (instancetype)initWithDittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper + NS_DESIGNATED_INITIALIZER; + +// IMPORTANT: DittoSwift defines the presence graph as native Swift structs and +// therefore needs to decode the presence graph from CBOR itself before it's +// passed to the observers. Because we don't want to replicate the Presence +// class in Swift but reuse this ObjC version, we have to provide an _efficient_ +// hook for processing the CBOR we receive from the FFI and pass it to the +// observers in the appropriate format. +// +// We solve this by allowing to pass an optional +// `NSValueTransformerName` per individual observer, which is then used to +// transform the presence graph from CBOR format to whatever the value +// transfomer gives us. This is done efficiently only once per value +// transfomer used and then dispatched to all observers requesting the +// corresponding transformation. +// +// For ObjC, we expose the public `observe:` method which delegates to this +// method by specifying the internal `DITPresenceGraphFromCBORTransformer`. +// DittoSwift, on the other hand, can provide it's own transformer. We could +// also expose this API publicly in the future and allow client code to use +// a custom transformer (or get access to the underlying CBOR directly). +- (id)observeWithTransformerNamed:(nullable NSValueTransformerName)valueTransformerName + didChangeHandler: + (void (^)(id presenceGraphCBOROrTransformed))didChangeHandler; + +- (void)stopPresenceObserver:(_DITPresenceObserver *)presenceObserver; +- (void)presenceGraphDidChange:(NSData *)presenceGraphCBOR; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPresenceGraph+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPresenceGraph+Private.h new file mode 100644 index 0000000..b5482bc --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITPresenceGraph+Private.h @@ -0,0 +1,13 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITPresenceGraph () + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITRegister+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITRegister+Private.h new file mode 100644 index 0000000..6fd2b89 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITRegister+Private.h @@ -0,0 +1,16 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITRegister () { + @protected + id _Nullable _value; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITRemotePeer+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITRemotePeer+Private.h new file mode 100644 index 0000000..0dea911 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITRemotePeer+Private.h @@ -0,0 +1,29 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITRemotePeer () + +/** + Dedicated initializer for a `DITRemotePeer`. + + - Parameter networkId: The unique network identifier of the remote peer. + - Parameter deviceName: The human-readable device name of the remote peer. + - Parameter connections: The connections that are currently active with the remote peer. + - Parameter rssi: The Bluetooth RSSI of the peer if known + - Parameter approximateDistanceInMeters: A distance estimate in meters if known + - Returns: A newly initialized `DITRemotePeer`. + */ +- (instancetype)initWithNetworkId:(NSString *)networkId + deviceName:(NSString *)deviceName + connections:(NSArray *)connections + rssi:(nullable NSNumber *)rssi + approximateDistanceInMeters:(nullable NSNumber *)approximateDistanceInMeters; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITScopedWriteTransaction+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITScopedWriteTransaction+Private.h new file mode 100644 index 0000000..0868b80 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITScopedWriteTransaction+Private.h @@ -0,0 +1,35 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +@class DITDocumentID; +@class DITWriteTransaction; +@class DITWriteTransactionPendingCursorOperation; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITScopedWriteTransaction () +@property (nonatomic, readonly) DITWriteTransaction *baseTransaction; + +- (instancetype)initWithBaseTransaction:(DITWriteTransaction *)baseTransaction + collectionName:(NSString *)collectionName; + +- (nullable DITDocumentID *)upsert:(NSDictionary *)content + writeStrategy:(DITWriteStrategy)writeStrategy + error:(NSError *_Nullable __autoreleasing *)error + NS_SWIFT_NAME(upsert(_:writeStrategy:)); + +- (nullable DITDocumentID *)upsertCBORData:(NSData *)data + writeStrategy:(DITWriteStrategy)writeStrategy + error:(NSError *_Nullable __autoreleasing *)error + NS_SWIFT_NAME(upsertCBORData(_:writeStrategy:)); + +- (DITWriteTransactionPendingCursorOperation *)find:(NSString *)query + withArgsData:(nullable NSData *)queryArgsData; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITSingleDocumentLiveQueryEvent+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITSingleDocumentLiveQueryEvent+Private.h new file mode 100644 index 0000000..787dc1f --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITSingleDocumentLiveQueryEvent+Private.h @@ -0,0 +1,17 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITDocument; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITSingleDocumentLiveQueryEvent () + +- (instancetype)initWithIsInitial:(BOOL)isInitial oldDocument:(nullable DITDocument *)oldDocument; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITStore+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITStore+Private.h new file mode 100644 index 0000000..dd95561 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITStore+Private.h @@ -0,0 +1,18 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class _DITDittoHandleWrapper; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITStore () +@property (nonatomic, readonly) _DITDittoHandleWrapper *dittoHandleWrapper; + +- (instancetype)initWithDittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITStoreObserver+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITStoreObserver+Private.h new file mode 100644 index 0000000..6612a2a --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITStoreObserver+Private.h @@ -0,0 +1,42 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +@class DITDocument; +@class DITSubscription; + +@class _DITDittoHandleWrapper; +@class _DITDocumentHandleWrapper; +@class _DITOrderBy; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITStoreObserver () + +@property (nonatomic, readonly) _DITDittoHandleWrapper *dittoHandleWrapper; +@property (nonatomic, readonly, nullable) DITSubscription *subscription; +@property (nonatomic, readonly) int64_t lqID; +@property (nonatomic, readonly) dispatch_queue_t deliveryDispatchQueue; +@property (nonatomic, readonly, nullable) void (^eventHandler) + (dittoffi_query_result_t *, void (^_Nullable)(void)); +@property (nonatomic, readonly, nullable) void (^signalNextBlock)(void); + ++ (nullable instancetype)storeObserverWithQuery:(NSString *)query + queryArgsData:(nullable NSData *)queryArgsData + availability:(LiveQueryAvailability_t)availability + dittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper + deliveryDispatchQueue:(dispatch_queue_t)dispatchQueue + ffiError:(dittoffi_error_t *_Nullable *_Nonnull)ffiError + eventHandler:(void (^)(dittoffi_query_result_t *, + void (^_Nullable)(void)))eventHandler + error:(NSError *_Nullable *)error; + ++ (NSArray *)documentsFrom:(Vec_CDocument_ptr_t)docsVec; ++ (NSArray *)indexesFrom:(slice_boxed_size_t)idxs_boxed; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITSubscription+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITSubscription+Private.h new file mode 100644 index 0000000..8d0b945 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITSubscription+Private.h @@ -0,0 +1,32 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +@class _DITDittoHandleWrapper; +@class _DITOrderBy; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITSubscription () + +@property (nonatomic, readonly) _DITDittoHandleWrapper *dittoHandleWrapper; +@property (nonatomic, readonly, nullable) NSData *queryArgsData; +@property (nonatomic, readwrite) int limit; +@property (nonatomic, readwrite) uint offset; +@property (nonatomic, readwrite) _DITOrderBy *orderBy; +@property (nonatomic, readwrite) uint orderByCount; + +- (instancetype)initWithQuery:(NSString *)query + queryArgsData:(nullable NSData *)queryArgsData + orderBy:(_DITOrderBy *)orderBy + limit:(int)limit + offset:(uint)offset + collectionName:(NSString *)collectionName + dittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper; +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITTCPListenConfig+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITTCPListenConfig+Private.h new file mode 100644 index 0000000..3479a62 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITTCPListenConfig+Private.h @@ -0,0 +1,25 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITTCPListenConfig () { + @protected + BOOL _enabled; + @protected + NSString *_interfaceIp; + @protected + uint16_t _port; +} + +- (instancetype)initWithEnabled:(BOOL)enabled + interfaceIP:(NSString *)interfaceIP + port:(uint16_t)port + copy:(BOOL)shouldCopy NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITTransportConfig+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITTransportConfig+Private.h new file mode 100644 index 0000000..e3a9412 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITTransportConfig+Private.h @@ -0,0 +1,31 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +NSDictionary *DITTransportConfigAsDictionary(DITTransportConfig *transportConfig); +DITTransportConfig *DITTransportConfigFromDictionary(NSDictionary *dictionary); + +@interface DITTransportConfig () { + @protected + DITPeerToPeer *_peerToPeer; + @protected + DITConnect *_connect; + @protected + DITListen *_listen; + @protected + DITGlobalConfig *_global; +} + +- (instancetype)initWithPeerToPeer:(DITPeerToPeer *)peerToPeer + connect:(DITConnect *)connect + listen:(DITListen *)listen + global:(DITGlobalConfig *)global + copy:(BOOL)shouldCopy NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITTransportDiagnostics+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITTransportDiagnostics+Private.h new file mode 100644 index 0000000..937ccdb --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITTransportDiagnostics+Private.h @@ -0,0 +1,15 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITTransportSnapshot; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITTransportDiagnostics () +- (instancetype)initWithSnapshots:(NSArray *)snapshots; +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITTransportHandleWrapper.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITTransportHandleWrapper.h new file mode 100644 index 0000000..07af21b --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITTransportHandleWrapper.h @@ -0,0 +1,22 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/// A generic handle for a Rust transport. Use this to send platform events to Rust, and dealloc to shut down. +@interface DITTransportHandleWrapper : NSObject + +/// Wrap a raw handle pointer from Rust. We (the SDK) own this exclusively and are responsible for freeing it. +/// Pass in a destructor block that will call the corresponding free function. It will be invoked on dealloc. +- (instancetype)initWithHandle:(void *)handle destructor:(void (^)(void))destructor; + +/// Borrow the raw pointer to send a method to the platform. The raw handle pointer should only ever be used +/// within the passed block, to ensure we do not use it after it has been deallocated. +- (void)withHandle:(void (^)(void * handle))action; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITTransportSnapshot+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITTransportSnapshot+Private.h new file mode 100644 index 0000000..a8a4be9 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITTransportSnapshot+Private.h @@ -0,0 +1,17 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface DITTransportSnapshot () +- (instancetype)initWithConnectionType:(NSString *)connectionType + connecting:(NSArray *)connecting + connected:(NSArray *)connected + disconnecting:(NSArray *)disconnecting + disconnected:(NSArray *)disconnected; +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITUpdateResult+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITUpdateResult+Private.h new file mode 100644 index 0000000..63ff136 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITUpdateResult+Private.h @@ -0,0 +1,23 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITDocumentID; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITUpdateResultSet () +- (instancetype)initWithDocID:(DITDocumentID *)docID path:(NSString *)path value:(id)value; +@end + +@interface DITUpdateResultRemoved () +- (instancetype)initWithDocID:(DITDocumentID *)docID path:(NSString *)path; +@end + +@interface DITUpdateResultIncremented () +- (instancetype)initWithDocID:(DITDocumentID *)docID path:(NSString *)path amount:(double)amount; +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITWriteTransaction+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITWriteTransaction+Private.h new file mode 100644 index 0000000..6b74bfb --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITWriteTransaction+Private.h @@ -0,0 +1,22 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +@class _DITDittoHandleWrapper; +@class DITWriteTransactionResult; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITWriteTransaction () +@property (nonatomic, readonly) _DITDittoHandleWrapper *dittoHandleWrapper; +@property (nonatomic, readonly) CWriteTransaction_t *writeTxn; +@property (nonatomic, readonly) NSMutableArray *results; + +- (instancetype)initWithDittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper + writeTxn:(CWriteTransaction_t *)writeTxn; +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITWriteTransactionPendingCursorOperation+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITWriteTransactionPendingCursorOperation+Private.h new file mode 100644 index 0000000..8762a82 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITWriteTransactionPendingCursorOperation+Private.h @@ -0,0 +1,45 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +@class _DITDocumentHandleWrapper; +@class _DITOrderBy; +@class DITDocumentID; +@class DITMutableDocument; +@class DITWriteTransaction; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITWriteTransactionPendingCursorOperation () +@property (nonatomic, readonly) NSString *query; +@property (nonatomic, readonly, nullable) NSData *queryArgsData; +@property (nonatomic, readonly) NSString *collectionName; +@property (nonatomic, readwrite) int limit; +@property (nonatomic, readwrite) uint offset; +@property (nonatomic, readwrite) _DITOrderBy *orderBy; +// This holds a `DittoHandleWrapper` reference, so we don't have to hold another +// reference explicitly as we are already implicitly holding one here. +@property (nonatomic, readonly) DITWriteTransaction *baseTransaction; +@property (nonatomic, readwrite, nullable) NSError *error; + +- (instancetype)initWithQuery:(NSString *)query + queryArgsData:(nullable NSData *)queryArgsData + collectionName:(NSString *)collectionName + baseTransaction:(DITWriteTransaction *)baseTransaction; + +// MARK: Swift internals + +- (nullable NSArray<_DITDocumentHandleWrapper *> *)execWithErr: + (NSError *_Nullable __autoreleasing *)error; +- (nullable NSArray *)removeWithErr:(NSError *_Nullable __autoreleasing *)error; +- (nullable NSArray *)evictWithErr:(NSError *_Nullable __autoreleasing *)error; +- (nullable NSDictionary *> *) + updateWithBlock:(void (^)(NSArray *))block + error:(NSError *_Nullable __autoreleasing *)error; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITWriteTransactionPendingIDSpecificOperation+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITWriteTransactionPendingIDSpecificOperation+Private.h new file mode 100644 index 0000000..d44de7d --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITWriteTransactionPendingIDSpecificOperation+Private.h @@ -0,0 +1,31 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class _DITDocumentHandleWrapper; +@class DITDocumentID; +@class DITWriteTransaction; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITWriteTransactionPendingIDSpecificOperation () + +@property (nonatomic, readonly) DITDocumentID *docID; +@property (nonatomic, readonly) NSString *collectionName; +// This holds a `DittoHandleWrapper` reference, so we don't have to hold another reference explicity +// as we are already implicitly holding one here. +@property (nonatomic, readonly) DITWriteTransaction *baseTransaction; + +- (instancetype)initWithDocID:(DITDocumentID *)docID + collectionName:(NSString *)collectionName + baseTransaction:(DITWriteTransaction *)baseTransaction; + +// MARK: Other internal + +- (void)updateUsingData:(NSData *)data; +- (nullable _DITDocumentHandleWrapper *)execReturningDocumentHandle; +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITWriteTransactionResult+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITWriteTransactionResult+Private.h new file mode 100644 index 0000000..0f45a1e --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DITWriteTransactionResult+Private.h @@ -0,0 +1,27 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class DITDocumentID; + +NS_ASSUME_NONNULL_BEGIN + +@interface DITWriteTransactionResultInserted () +- (instancetype)initWithDocID:(DITDocumentID *)docID collectionName:(NSString *)collectionName; +@end + +@interface DITWriteTransactionResultRemoved () +- (instancetype)initWithDocID:(DITDocumentID *)docID collectionName:(NSString *)collectionName; +@end + +@interface DITWriteTransactionResultEvicted () +- (instancetype)initWithDocID:(DITDocumentID *)docID collectionName:(NSString *)collectionName; +@end + +@interface DITWriteTransactionResultUpdated () +- (instancetype)initWithDocID:(DITDocumentID *)docID collectionName:(NSString *)collectionName; +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DittoTransportsObjC.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DittoTransportsObjC.h new file mode 100644 index 0000000..38ac2e5 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/DittoTransportsObjC.h @@ -0,0 +1,13 @@ +// +// Copyright ยฉ 2019 DittoLive Incorporated. All rights reserved. +// + +#import +#import +#import +#import +#import +#import +#import + +#import diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/Log.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/Log.h new file mode 100644 index 0000000..bab2f37 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/Log.h @@ -0,0 +1,18 @@ +// +// Copyright ยฉ 2019 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +#define DITLogError(args...) DITLog(C_LOG_LEVEL_ERROR, args); +#define DITLogWarning(args...) DITLog(C_LOG_LEVEL_WARNING, args); +#define DITLogInfo(args...) DITLog(C_LOG_LEVEL_INFO, args); +#define DITLogDebug(args...) DITLog(C_LOG_LEVEL_DEBUG, args); +#define DITLogVerbose(args...) DITLog(C_LOG_LEVEL_VERBOSE, args); + +void DITLog(CLogLevel_t logLevel, NSString *format, ...) NS_FORMAT_FUNCTION(2,3); + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITAuthenticationStatusObserver+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITAuthenticationStatusObserver+Private.h new file mode 100644 index 0000000..d891641 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITAuthenticationStatusObserver+Private.h @@ -0,0 +1,13 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface _DITAuthenticationStatusObserver () + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITAuthenticationStatusObserver.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITAuthenticationStatusObserver.h new file mode 100644 index 0000000..f4da302 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITAuthenticationStatusObserver.h @@ -0,0 +1,25 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +@class DITAuthenticator; +@class DITAuthenticationStatus; + +NS_ASSUME_NONNULL_BEGIN + +@interface _DITAuthenticationStatusObserver : NSObject + +@property (nonatomic, nullable, weak) DITAuthenticator *authenticator; +@property (nonatomic, copy) void (^block)(DITAuthenticationStatus *status); + +- (instancetype)init NS_UNAVAILABLE; +- (instancetype)initWithAuthenticator:(DITAuthenticator *)authenticator + block:(void (^)(DITAuthenticationStatus *status))block + NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITDittoHandleWrapper.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITDittoHandleWrapper.h new file mode 100644 index 0000000..ba4ce0d --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITDittoHandleWrapper.h @@ -0,0 +1,17 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface _DITDittoHandleWrapper : NSObject + +@property (nonatomic, readonly) void *dittoHandle; + +- (instancetype)initWithHandle:(void *)handle; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITDittoSwiftHelpers.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITDittoSwiftHelpers.h new file mode 100644 index 0000000..0e075bf --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITDittoSwiftHelpers.h @@ -0,0 +1,40 @@ +// +// Copyright ยฉ 2023 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +// WORKAROUND: opaque structs are unusable from Swift. We only use pointers +// to it in Swift, so size doesn't matter. Therefore we define it here to be +// empty to allow Swift to work with it as pointers. +struct dittoffi_query_result_item {}; +struct dittoffi_query_result {}; +struct dittoffi_panic {}; + +// WORKAROUND: We are hitting some really weird Swift <> C bridging edge case. +// Calling the DittoFFI C function straight from Swift crashes, but calling +// an exact 1:1 wrapper works. Ham and Daniel have been digging and are +// suspecting some kind of ABI issue with dittoffi. Fix and remove this +// workaround. +dittoffi_result_dittoffi_query_result_ptr_t dittoffi_try_exec_statement_swift( + CDitto_t const *ditto, + char const *statement, + slice_ref_uint8_t args_cbor); + +void dittoffi_presence_set_connection_request_handler_swift( + CDitto_t const *ditto, + void (^_Nullable handler)(dittoffi_connection_request_t *)); + +void dittoffi_ditto_set_panic_handler_swift(void (^_Nullable handler)(dittoffi_panic_t *)); + +void dittoffi_logger_try_export_to_file_async_swift(char const *dest_path, + void (^completion)(dittoffi_result_uint64_t)); + +NSException *_Nullable DITCatchObjCException(void(NS_NOESCAPE ^ block)(void)); + +NSData *_Nullable DITDecompressGzipData(NSData *compressedData); + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITDocumentHandleWrapper.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITDocumentHandleWrapper.h new file mode 100644 index 0000000..d5cb972 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITDocumentHandleWrapper.h @@ -0,0 +1,19 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +struct Ditto_Document; + +NS_ASSUME_NONNULL_BEGIN + +@interface _DITDocumentHandleWrapper : NSObject +@property (nonatomic, readonly, unsafe_unretained) CDocument_t *documentHandle; + +- (instancetype)initWithDocumentHandle:(CDocument_t *)documentHandle; +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITFFIObject.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITFFIObject.h new file mode 100644 index 0000000..a00a12b --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITFFIObject.h @@ -0,0 +1,20 @@ +// +// Copyright ยฉ 2024 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface _DITFFIObject : NSObject + +- (nullable void *)take; + +- (instancetype)init NS_UNAVAILABLE; +- (instancetype)initWithPointer:(void *)pointer + release:(void (^)(void *pointer))release NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITPresenceGraphFromCBORTransformer.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITPresenceGraphFromCBORTransformer.h new file mode 100644 index 0000000..877a028 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITPresenceGraphFromCBORTransformer.h @@ -0,0 +1,15 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +extern NSValueTransformerName const _DITPresenceGraphFromCBORTransformerName; + +@interface _DITPresenceGraphFromCBORTransformer : NSValueTransformer + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITPresenceManagerV1.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITPresenceManagerV1.h new file mode 100644 index 0000000..6de13d4 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITPresenceManagerV1.h @@ -0,0 +1,26 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +@class _DITDittoHandleWrapper; +@class DITPeersObserver; +@class DITRemotePeer; +@class _DITWeakWrapper; + +NS_ASSUME_NONNULL_BEGIN + +__deprecated_msg("Replaced by `DITPeer`.") @interface _DITPresenceManagerV1 : NSObject +@property (nonatomic, readonly) _DITDittoHandleWrapper *dittoHandleWrapper; +@property (nonatomic, readonly) dispatch_queue_t internalQueue; +@property (nonatomic, readonly) NSMutableArray<_DITWeakWrapper *> *observers; + +- (instancetype)initWithDittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper; +- (void)presenceUpdate:(NSString *)json targetObservers:(NSArray<_DITWeakWrapper *> *)observers; +- (DITPeersObserver *)observePeers:(void (^)(NSArray *))callback + queue:(dispatch_queue_t)queue; +- (void)scheduleFlush; +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITPresenceManagerV2.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITPresenceManagerV2.h new file mode 100644 index 0000000..26b67d6 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITPresenceManagerV2.h @@ -0,0 +1,25 @@ +// +// Copyright ยฉ 2021 DittoLive Incorporated. All rights reserved. +// + +#import +#import + +@class _DITDittoHandleWrapper; +@class DITPeersObserverV2; +@class _DITWeakWrapper; + +NS_ASSUME_NONNULL_BEGIN + +__deprecated_msg("Replaced by `DITPresence`.") @interface _DITPresenceManagerV2 : NSObject +@property (nonatomic, readonly) _DITDittoHandleWrapper *dittoHandleWrapper; +@property (nonatomic, readonly) dispatch_queue_t internalQueue; +@property (nonatomic, readonly) NSMutableArray<_DITWeakWrapper *> *observers; + +- (instancetype)initWithDittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper; +- (void)presenceUpdate:(NSString *)json targetObservers:(NSArray<_DITWeakWrapper *> *)observers; +- (id)observePeers:(void (^)(NSString *))callback queue:(dispatch_queue_t)queue; +- (void)scheduleFlush; +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITPresenceObserver+Private.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITPresenceObserver+Private.h new file mode 100644 index 0000000..816e3ff --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITPresenceObserver+Private.h @@ -0,0 +1,16 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface _DITPresenceObserver () + +@property (nonatomic, readwrite, copy) void (^block)(id presenceGraphOrCBOR); +@property (nonatomic, readwrite) BOOL hasBeenNotifiedAtLeastOnce; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITPresenceObserver.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITPresenceObserver.h new file mode 100644 index 0000000..d503ca7 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITPresenceObserver.h @@ -0,0 +1,29 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +@class DITPresenceGraph; +@class DITPresence; + +NS_ASSUME_NONNULL_BEGIN + +@interface _DITPresenceObserver : NSObject + +@property (nonatomic, readonly, nullable) DITPresence *presence; +@property (nonatomic, readonly, nullable) NSValueTransformerName transformedBy; +@property (nonatomic, readonly, copy) void (^block)(id presenceGraphOrCBOR); + +- (instancetype)init NS_UNAVAILABLE; +- (instancetype)initWithPresence:(DITPresence *)presence + transformedBy:(nullable NSValueTransformerName)transformerNameOrNil + block:(void (^)(id presenceGraphOrCBOR))block NS_DESIGNATED_INITIALIZER; + +- (void)stop; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITQueryOperator.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITQueryOperator.h new file mode 100644 index 0000000..eb892ba --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITQueryOperator.h @@ -0,0 +1,86 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +struct Ditto_WriteTransaction; +struct COrderByParam; + +@class _DITDittoHandleWrapper; +@class _DITDocumentHandleWrapper; +@class _DITOrderBy; +@class DITDocument; +@class DITDocumentID; +@class DITMutableDocument; +@class DITUpdateResult; + +NS_ASSUME_NONNULL_BEGIN + +@interface _DITQueryOperator : NSObject + ++ (NSArray *)execUsingQuery:(NSString *)query + queryArgsData:(nullable NSData *)queryArgsData + collectionName:(NSString *)collName + orderBy:(_DITOrderBy *)orderBy + limit:(int)limit + offset:(uint)offset + dittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper + writeTxn:(nullable CWriteTransaction_t *)writeTxn; + ++ (NSArray<_DITDocumentHandleWrapper *> *) + execWithDocumentHandlesUsingQuery:(NSString *)query + queryArgsData:(nullable NSData *)queryArgsData + collectionName:(NSString *)collName + orderBy:(_DITOrderBy *)orderBy + limit:(int)limit + offset:(uint)offset + dittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper + writeTxn:(nullable CWriteTransaction_t *)writeTxn; + ++ (NSArray *)evictUsingQuery:(NSString *)query + queryArgsData:(nullable NSData *)queryArgsData + collectionName:(NSString *)collName + orderBy:(_DITOrderBy *)orderBy + limit:(int)limit + offset:(uint)offset + dittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper + writeTxn:(CWriteTransaction_t *)writeTxn; + ++ (NSArray *)removeUsingQuery:(NSString *)query + queryArgsData:(nullable NSData *)queryArgsData + collectionName:(NSString *)collName + orderBy:(_DITOrderBy *)orderBy + limit:(int)limit + offset:(uint)offset + dittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper + writeTxn:(CWriteTransaction_t *)writeTxn; + ++ (NSDictionary *> *) + updateUsingQuery:(NSString *)query + queryArgsData:(nullable NSData *)queryArgsData + collectionName:(NSString *)collName + orderBy:(_DITOrderBy *)orderBy + limit:(int)limit + offset:(uint)offset + dittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper + writeTxn:(CWriteTransaction_t *)writeTxn + updateBlock:(void (^)(NSArray *))block; + ++ (BOOL)experimentalAddDQLSubscriptionUsingQuery:(NSString *)query + queryArgsData:(nullable NSData *)queryArgsData + dittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper + ffiError:(dittoffi_error_t *_Nullable *_Nonnull)ffiError + error:(NSError *_Nullable __autoreleasing *)error; + ++ (BOOL)experimentalRemoveDQLSubscriptionUsingQuery:(NSString *)query + queryArgsData:(nullable NSData *)queryArgsData + dittoHandleWrapper:(_DITDittoHandleWrapper *)dittoHandleWrapper + ffiError:(dittoffi_error_t *_Nullable *_Nonnull)ffiError + error:(NSError *_Nullable __autoreleasing *)error; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITTransportConditionHelpers.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITTransportConditionHelpers.h new file mode 100644 index 0000000..4debbc8 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITTransportConditionHelpers.h @@ -0,0 +1,23 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface _DITTransportConditionHelpers : NSObject + ++ (enum DITTransportCondition)DITTransportConditionFromTransportCondition: + (TransportCondition_t)transportCondition; ++ (NSString *)transportConditionDescription:(enum DITTransportCondition)DITTransportCondition; ++ (enum DITConditionSource)DITConditionSourceFromConditionSource:(ConditionSource_t)conditionSource; ++ (NSString *)conditionSourceDescription:(enum DITConditionSource)conditionSource; + +@end + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITTypeHelpers.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITTypeHelpers.h new file mode 100644 index 0000000..fd0fefd --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/_DITTypeHelpers.h @@ -0,0 +1,15 @@ +// +// Copyright ยฉ 2022 DittoLive Incorporated. All rights reserved. +// + +#import + +#import + +NS_ASSUME_NONNULL_BEGIN + +// TODO: These should really be being fetched from a safer-ffi-generated constant +extern NSString *const DIT_CRDT_TYPE_OBJECT_KEY; +extern NSString *const DIT_CRDT_VALUE_OBJECT_KEY; + +NS_ASSUME_NONNULL_END diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/dittoffi.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/dittoffi.h new file mode 100644 index 0000000..2e5148f --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/PrivateHeaders/dittoffi.h @@ -0,0 +1,5203 @@ +/*! \file */ +/******************************************* + * * + * File auto-generated by `::safer_ffi`. * + * * + * Do not manually edit this file. * + * * + *******************************************/ + +#ifndef __RUST_DITTOFFI__ +#define __RUST_DITTOFFI__ +#ifdef __cplusplus +extern "C" { +#endif + + +#include +#include + +/** */ +#define DITTOFFI_PRESENCE_PEER_METADATA_MAX_SIZE_IN_BYTES ((uint32_t) 4096) + +/** \brief + * Ditto Bluetooth Company ID. + * + * According to the Android code, this is `0x0000` + * or `0` which according to the SIG Group, `0x0000` is "Ericsson Technology + * Licensing" which is not us but `0x0000` is used to match the other Ditto BLE + * implementations. + */ +#define DITTOFFI_TRANSPORTS_BLE_COMPANY_ID 0 + +/** \brief + * The layout of `&str` is opaque/subject to changes. + */ +typedef struct Opaque__str Opaque__str_t; + +/** */ +#define DITTOFFI_TRANSPORTS_WIFI_AWARE_BACKGROUND_MODE_NAME "transports_wifi_aware_background_mode" + +/** */ +#define DITTOFFI_TRANSPORTS_WIFI_AWARE_MAX_ERROR_COUNT_NAME "transports_wifi_aware_max_error_count" + +/** */ +#define DITTOFFI_TRANSPORTS_WIFI_AWARE_RECENT_ERROR_DURATION_MS_NAME "transports_wifi_aware_max_recent_error_duration_ms" + +/** \brief + * This enum contains all the Ditto types exposed publicly. The IDs **MUST** + * not be modified otherwise this would break the type conversions. + * + * CHECKME: When merging with Russell's work on explicit types, this enum may + * be duplicated. + */ +typedef enum DittoCrdtType { + /** */ + DITTO_CRDT_TYPE_COUNTER = 0, + /** */ + DITTO_CRDT_TYPE_REGISTER = 1, + /** */ + DITTO_CRDT_TYPE_ATTACHMENT = 2, + /** */ + DITTO_CRDT_TYPE_RGA = 3, + /** */ + DITTO_CRDT_TYPE_R_W_MAP = 4, + /** */ + DITTO_CRDT_TYPE_ST_COUNTER = 5, + /** */ + DITTO_CRDT_TYPE_A_W_SET = 6, +} DittoCrdtType_t; + +/** \brief + * State of WiFi Aware when the application goes to background + */ +typedef enum dittoffi_transport_wifi_aware_background_mode { + /** \brief + * Try to keep WiFi Aware on + */ + DITTOFFI_TRANSPORT_WIFI_AWARE_BACKGROUND_MODE_BEST_EFFORT_ON = 0, + /** \brief + * Terminate WiFi Aware on background, and only if the device is on battery + */ + DITTOFFI_TRANSPORT_WIFI_AWARE_BACKGROUND_MODE_OFF_ON_BATTERY_ONLY, + /** \brief + * Terminate WiFi Aware on background + */ + DITTOFFI_TRANSPORT_WIFI_AWARE_BACKGROUND_MODE_OFF, +} dittoffi_transport_wifi_aware_background_mode_t; + +/** \brief + * A short-lived FFI object to let an SDK handle an authentication request + * in an async manner. + */ +typedef struct CAuthServerAuthRequest CAuthServerAuthRequest_t; + +/** */ +void +/* fn */ auth_server_auth_submit_with_error ( + CAuthServerAuthRequest_t * req, + uint32_t _error_code); + +/** \brief + * `&'lt [T]` but with a guaranteed `#[repr(C)]` layout. + * + * # C layout (for some given type T) + * + * ```c + * typedef struct { + * // Cannot be NULL + * T * ptr; + * size_t len; + * } slice_T; + * ``` + * + * # Nullable pointer? + * + * If you want to support the above typedef, but where the `ptr` field is + * allowed to be `NULL` (with the contents of `len` then being undefined) + * use the `Option< slice_ptr<_> >` type. + */ +typedef struct slice_ref_uint8 { + /** \brief + * Pointer to the first element (if any). + */ + uint8_t const * ptr; + + /** \brief + * Element count + */ + size_t len; +} slice_ref_uint8_t; + +/** */ +void +/* fn */ auth_server_auth_submit_with_success ( + CAuthServerAuthRequest_t * req, + slice_ref_uint8_t success_cbor); + +/** */ +typedef struct CAuthServerRefreshRequest CAuthServerRefreshRequest_t; + +/** */ +void +/* fn */ auth_server_refresh_submit_with_error ( + CAuthServerRefreshRequest_t * req, + uint32_t _error_code); + +/** */ +void +/* fn */ auth_server_refresh_submit_with_success ( + CAuthServerRefreshRequest_t * req, + slice_ref_uint8_t success_cbor); + +/** \brief + * An opaque handle for each installed transport, heap-allocated and owned by + * the SDK. + * + * A pointer to this handle is used to send platform events over FFI. In the + * future this handle will be the SDK's only point of control over the + * transport once created. In particular, a transport will be removed by + * freeing the handle. The concept of online and offline will be eliminated. + * (i.e., if you don't want a transport, remove it.) + * + * For now, the `Peer` object holds the transports and provides an API based on + * a numeric id assigned to each transport instance. Until that is removed, the + * id still exists and the SDK can request it from the opaque handle over FFI. + * + * For each transport type, define an `extern "C"` function to free that + * specific monomorphisation of the `TransportHandle` using `Box::from_raw`, + * plus a function to retrieve the transport id, which will be removed later. + * + * Safety: The SDK owns the `TransportHandle`. It is responsible for ensuring + * that it does not use the pointer to the `TransportHandle` after freeing it + * with its respective function. In Rust we will assume it is okay to unsafely + * dereference a handle. + * + * The C interface of `TransportHandle` is thread-safe (`Send + Sync`). + */ +typedef struct TransportHandle_AwdlPlatformEvent TransportHandle_AwdlPlatformEvent_t; + +/** \brief + * Generic enum used by crate and platforms to indicate a connection status + */ +typedef enum ConnectState { + /** */ + CONNECT_STATE_DISCONNECTED, + /** */ + CONNECT_STATE_CONNECTED, + /** */ + CONNECT_STATE_CONNECTING, + /** */ + CONNECT_STATE_DISCONNECTING, +} ConnectState_t; + +/** \brief + * The platform advises Rust that a peer has changed its current connection + * status + */ +void +/* fn */ awdl_client_connect_state_changed ( + TransportHandle_AwdlPlatformEvent_t const * handle, + char const * announce, + ConnectState_t state); + +/** \brief + * The platform advises Rust that a complete message has been received from a + * remote peer + */ +void +/* fn */ awdl_client_data_available ( + TransportHandle_AwdlPlatformEvent_t const * handle, + char const * announce); + +/** \brief + * The platform advises Rust that a peer has been identified. We know only its + * announce string. + */ +void +/* fn */ awdl_client_platform_peer_appeared ( + TransportHandle_AwdlPlatformEvent_t const * handle, + char const * announce); + +/** \brief + * The platform advises Rust that a peer has disappeared. + */ +void +/* fn */ awdl_client_platform_peer_disappeared ( + TransportHandle_AwdlPlatformEvent_t const * handle, + char const * announce); + +/** \brief + * The platform advises Rust that a given peer is now clear to queue up a new + * message whenever one is ready to go + */ +void +/* fn */ awdl_client_ready_to_send ( + TransportHandle_AwdlPlatformEvent_t const * handle, + char const * announce); + +/** \brief + * Generic enum used by crate and platforms to indicate online-ness. + * + * In other words, is something active or not? Not everything will use the + * transitional states. + */ +typedef enum OnlineState { + /** */ + ONLINE_STATE_OFFLINE, + /** */ + ONLINE_STATE_ONLINE, + /** */ + ONLINE_STATE_GOING_ONLINE, + /** */ + ONLINE_STATE_GOING_OFFLINE, +} OnlineState_t; + +/** \brief + * A code reported by platforms/transports to indicate specific health + * conditions + */ +typedef enum TransportCondition { + /** \brief + * A default state. Only use this for transient conditions, e.g., we are + * waiting for a platform to finish starting up. If everything is just + * quiet, use `Ok`. + */ + TRANSPORT_CONDITION_UNKNOWN, + /** \brief + * No known problems. + */ + TRANSPORT_CONDITION_OK, + /** \brief + * Catch-all failure, particularly for unexpected/internal faults. If + * possible, add a new case that the customer will be able to + * interpret. + */ + TRANSPORT_CONDITION_GENERIC_FAILURE, + /** \brief + * App is in background. + */ + TRANSPORT_CONDITION_APP_IN_BACKGROUND, + /** \brief + * We are not able to publish or discover with the mDNS daemon. + */ + TRANSPORT_CONDITION_MDNS_FAILURE, + /** \brief + * We cannot bind to a port. + */ + TRANSPORT_CONDITION_TCP_LISTEN_FAILURE, + /** \brief + * No app permission to act as a BLE Central. + */ + TRANSPORT_CONDITION_NO_BLE_CENTRAL_PERMISSION, + /** \brief + * No app permission to act as a BLE Peripheral. + */ + TRANSPORT_CONDITION_NO_BLE_PERIPHERAL_PERMISSION, + /** \brief + * This Transport targets a particular peer and we can't reach them right + * now. + */ + TRANSPORT_CONDITION_CANNOT_ESTABLISH_CONNECTION, + /** \brief + * The device has Bluetooth disabled at the OS level. + */ + TRANSPORT_CONDITION_BLE_DISABLED, + /** \brief + * The device has no Bluetooth hardware. + */ + TRANSPORT_CONDITION_NO_BLE_HARDWARE, + /** \brief + * The device has Wifi disabled at the OS level. + */ + TRANSPORT_CONDITION_WIFI_DISABLED, + /** \brief + * The platform has suspended briefly for internal reasons. Peers are + * reset. + */ + TRANSPORT_CONDITION_TEMPORARILY_UNAVAILABLE, +} TransportCondition_t; + +/** \brief + * The platform advises Rust that searching status changed + */ +void +/* fn */ awdl_client_scanning_state_changed ( + TransportHandle_AwdlPlatformEvent_t const * handle, + OnlineState_t state, + TransportCondition_t condition); + +/** \brief + * The platform advises Rust that advertising status changed + */ +void +/* fn */ awdl_server_advertising_state_changed ( + TransportHandle_AwdlPlatformEvent_t const * handle, + OnlineState_t state, + TransportCondition_t condition); + +/** \brief + * The platform advises Rust that a peer has changed its current connection + * status + */ +void +/* fn */ awdl_server_connect_state_changed ( + TransportHandle_AwdlPlatformEvent_t const * handle, + int64_t platform_id, + ConnectState_t state); + +/** \brief + * The platform advises Rust that a complete message has been received from a + * remote peer + */ +void +/* fn */ awdl_server_data_available ( + TransportHandle_AwdlPlatformEvent_t const * handle, + int64_t platform_id); + +/** \brief + * The platform advises Rust that a peer has been identified. We know only its + * announce string. + */ +void +/* fn */ awdl_server_platform_peer_appeared ( + TransportHandle_AwdlPlatformEvent_t const * handle, + int64_t platform_id); + +/** \brief + * The platform advises Rust that a peer has disappeared. + */ +void +/* fn */ awdl_server_platform_peer_disappeared ( + TransportHandle_AwdlPlatformEvent_t const * handle, + int64_t platform_id); + +/** \brief + * The platform advises Rust that a given peer is now clear to queue up a new + * message whenever one is ready to go + */ +void +/* fn */ awdl_server_ready_to_send ( + TransportHandle_AwdlPlatformEvent_t const * handle, + int64_t platform_id); + +/** \brief + * An opaque handle for each installed transport, heap-allocated and owned by + * the SDK. + * + * A pointer to this handle is used to send platform events over FFI. In the + * future this handle will be the SDK's only point of control over the + * transport once created. In particular, a transport will be removed by + * freeing the handle. The concept of online and offline will be eliminated. + * (i.e., if you don't want a transport, remove it.) + * + * For now, the `Peer` object holds the transports and provides an API based on + * a numeric id assigned to each transport instance. Until that is removed, the + * id still exists and the SDK can request it from the opaque handle over FFI. + * + * For each transport type, define an `extern "C"` function to free that + * specific monomorphisation of the `TransportHandle` using `Box::from_raw`, + * plus a function to retrieve the transport id, which will be removed later. + * + * Safety: The SDK owns the `TransportHandle`. It is responsible for ensuring + * that it does not use the pointer to the `TransportHandle` after freeing it + * with its respective function. In Rust we will assume it is okay to unsafely + * dereference a handle. + * + * The C interface of `TransportHandle` is thread-safe (`Send + Sync`). + */ +typedef struct TransportHandle_BlePlatformEvent TransportHandle_BlePlatformEvent_t; + +/** */ +void +/* fn */ ble_advertising_state_changed ( + TransportHandle_BlePlatformEvent_t const * handle, + OnlineState_t state, + TransportCondition_t result); + +typedef struct { + uint8_t idx[16]; +} uint8_16_array_t; + +/** */ +void +/* fn */ ble_central_finished_connecting ( + TransportHandle_BlePlatformEvent_t const * handle, + uint8_16_array_t const * uuid, + slice_ref_uint8_t announce, + int32_t l2cap_available, + uint32_t mtu); + +/** */ +void +/* fn */ ble_central_l2cap_data_available ( + TransportHandle_BlePlatformEvent_t const * handle, + uint8_16_array_t const * uuid); + +/** */ +void +/* fn */ ble_central_l2cap_ready_to_send ( + TransportHandle_BlePlatformEvent_t const * handle, + uint8_16_array_t const * uuid); + +/** */ +void +/* fn */ ble_central_mtu_updated ( + TransportHandle_BlePlatformEvent_t const * handle, + uint8_16_array_t const * uuid, + uint32_t mtu); + +/** */ +void +/* fn */ ble_central_ready_to_send ( + TransportHandle_BlePlatformEvent_t const * handle, + uint8_16_array_t const * uuid); + +/** */ +void +/* fn */ ble_central_unsubscribed ( + TransportHandle_BlePlatformEvent_t const * handle, + uint8_16_array_t const * central_uuid); + +/** */ +void +/* fn */ ble_connection_state_changed ( + TransportHandle_BlePlatformEvent_t const * handle, + uint8_16_array_t const * peripheral_uuid, + ConnectState_t state, + int32_t l2cap_available, + uint32_t mtu); + +/** */ +void +/* fn */ ble_peripheral_l2cap_data_available ( + TransportHandle_BlePlatformEvent_t const * handle, + uint8_16_array_t const * uuid); + +/** */ +void +/* fn */ ble_peripheral_l2cap_ready_to_send ( + TransportHandle_BlePlatformEvent_t const * handle, + uint8_16_array_t const * uuid); + +/** */ +void +/* fn */ ble_peripheral_mtu_updated ( + TransportHandle_BlePlatformEvent_t const * handle, + uint8_16_array_t const * uuid, + uint32_t mtu); + +/** */ +void +/* fn */ ble_peripheral_ready_to_send ( + TransportHandle_BlePlatformEvent_t const * handle, + uint8_16_array_t const * uuid); + +/** \brief + * When receiving data from a Bluetooth LE peer, such as a characteristic + * write, indicates what sort of data it is. + */ +typedef enum BleDataType { + /** \brief + * The data _should_ contain the remote peer's announce string. + * Used during handshake. + */ + BLE_DATA_TYPE_ANNOUNCE = 0, + /** \brief + * Data message + */ + BLE_DATA_TYPE_MESH_DATA = 1, + /** \brief + * Control message + */ + BLE_DATA_TYPE_CONTROL = 2, +} BleDataType_t; + +/** */ +void +/* fn */ ble_received_from_central ( + TransportHandle_BlePlatformEvent_t const * handle, + uint8_16_array_t const * central_uuid, + BleDataType_t data_type, + slice_ref_uint8_t data); + +/** */ +void +/* fn */ ble_received_from_peripheral ( + TransportHandle_BlePlatformEvent_t const * handle, + uint8_16_array_t const * peripheral_uuid, + BleDataType_t data_type, + slice_ref_uint8_t data); + +/** */ +void +/* fn */ ble_scanning_state_changed ( + TransportHandle_BlePlatformEvent_t const * handle, + OnlineState_t state, + TransportCondition_t result); + +/** */ +typedef struct CDitto CDitto_t; + +/** \brief + * `&'lt mut [T]` but with a guaranteed `#[repr(C)]` layout. + * + * # C layout (for some given type T) + * + * ```c + * typedef struct { + * // Cannot be NULL + * T * ptr; + * size_t len; + * } slice_T; + * ``` + * + * # Nullable pointer? + * + * If you want to support the above typedef, but where the `ptr` field is + * allowed to be `NULL` (with the contents of `len` then being undefined) + * use the `Option< slice_ptr<_> >` type. + */ +typedef struct slice_mut_uint8 { + /** \brief + * Pointer to the first element (if any). + */ + uint8_t * ptr; + + /** \brief + * Element count + */ + size_t len; +} slice_mut_uint8_t; + +/** */ +typedef struct AwdlClientCallbacks { + /** */ + void (*start_searching)(void *, char const *, char const *); + + /** */ + void (*stop_searching)(void *); + + /** */ + void (*request_connect)(void *, char const *); + + /** */ + void (*request_disconnect)(void *, char const *); + + /** */ + int32_t (*send_data)(void *, char const *, slice_ref_uint8_t); + + /** */ + int32_t (*read_data)(void *, char const *, slice_mut_uint8_t); +} AwdlClientCallbacks_t; + +/** */ +typedef struct AwdlServerCallbacks { + /** */ + void (*start_advertising)(void *, char const *, char const *); + + /** */ + void (*stop_advertising)(void *); + + /** */ + void (*request_disconnect)(void *, int64_t); + + /** */ + int32_t (*send_data)(void *, int64_t, slice_ref_uint8_t); + + /** */ + int32_t (*read_data)(void *, int64_t, slice_mut_uint8_t); +} AwdlServerCallbacks_t; + +/** */ +TransportHandle_AwdlPlatformEvent_t * +/* fn */ ditto_add_awdl_transport ( + CDitto_t const * ditto, + AwdlClientCallbacks_t client_callbacks, + void * client_ctx, + AwdlServerCallbacks_t server_callbacks, + void * server_ctx, + void (*retain)(void *), + void (*release)(void *)); + + +#include + +/** \brief + * Rust-level representation of the result of a send operation, converted from + * a bitfield + */ +typedef struct SendResult { + /** */ + bool accepted; + + /** */ + bool wait_for_ready; +} SendResult_t; + +/** */ +typedef struct BleClientCallbacks { + /** */ + void (*start_scanning)(void *, uint8_16_array_t const *, slice_ref_uint8_t); + + /** */ + void (*stop_scanning)(void *); + + /** */ + OnlineState_t (*scanning_state)(void *); + + /** */ + void (*connect_peripheral)(void *, uint8_16_array_t const *); + + /** */ + void (*disconnect_peripheral)(void *, uint8_16_array_t const *); + + /** */ + SendResult_t (*write_to_peripheral)(void *, BleDataType_t, uint8_16_array_t const *, slice_ref_uint8_t); + + /** */ + int32_t (*read_l2cap_from_peripheral)(void *, uint8_16_array_t const *, slice_mut_uint8_t); + + /** */ + int32_t (*send_l2cap_to_peripheral)(void *, uint8_16_array_t const *, slice_ref_uint8_t); +} BleClientCallbacks_t; + +/** */ +typedef struct BleServerCallbacks { + /** */ + void (*start_advertising)(void *, uint8_16_array_t const *, slice_ref_uint8_t); + + /** */ + void (*stop_advertising)(void *); + + /** */ + OnlineState_t (*advertising_state)(void *); + + /** */ + SendResult_t (*notify_to_central)(void *, BleDataType_t, uint8_16_array_t const *, slice_ref_uint8_t); + + /** */ + int32_t (*read_l2cap_from_central)(void *, uint8_16_array_t const *, slice_mut_uint8_t); + + /** */ + int32_t (*send_l2cap_to_central)(void *, uint8_16_array_t const *, slice_ref_uint8_t); +} BleServerCallbacks_t; + +/** */ +TransportHandle_BlePlatformEvent_t * +/* fn */ ditto_add_ble_transport ( + CDitto_t const * ditto, + BleClientCallbacks_t client_callbacks, + void * client_ctx, + BleServerCallbacks_t server_callbacks, + void * server_ctx, + void (*retain)(void *), + void (*release)(void *)); + +/** */ +typedef struct MdnsClientCallbacks { + /** */ + void (*start_searching)(void *, char const *); + + /** */ + void (*stop_searching)(void *); + + /** */ + void (*resolve_service)(void *, slice_ref_uint8_t); +} MdnsClientCallbacks_t; + +/** */ +typedef struct MdnsServerCallbacks { + /** */ + void (*start_advertising)(void *, char const *, char const *, uint16_t); + + /** */ + void (*stop_advertising)(void *); +} MdnsServerCallbacks_t; + +/** \brief + * An opaque handle for each installed transport, heap-allocated and owned by + * the SDK. + * + * A pointer to this handle is used to send platform events over FFI. In the + * future this handle will be the SDK's only point of control over the + * transport once created. In particular, a transport will be removed by + * freeing the handle. The concept of online and offline will be eliminated. + * (i.e., if you don't want a transport, remove it.) + * + * For now, the `Peer` object holds the transports and provides an API based on + * a numeric id assigned to each transport instance. Until that is removed, the + * id still exists and the SDK can request it from the opaque handle over FFI. + * + * For each transport type, define an `extern "C"` function to free that + * specific monomorphisation of the `TransportHandle` using `Box::from_raw`, + * plus a function to retrieve the transport id, which will be removed later. + * + * Safety: The SDK owns the `TransportHandle`. It is responsible for ensuring + * that it does not use the pointer to the `TransportHandle` after freeing it + * with its respective function. In Rust we will assume it is okay to unsafely + * dereference a handle. + * + * The C interface of `TransportHandle` is thread-safe (`Send + Sync`). + */ +typedef struct TransportHandle_MdnsPlatformEvent TransportHandle_MdnsPlatformEvent_t; + +/** */ +TransportHandle_MdnsPlatformEvent_t * +/* fn */ ditto_add_mdns_discovery ( + CDitto_t const * ditto, + MdnsClientCallbacks_t client_callbacks, + MdnsServerCallbacks_t server_callbacks, + void * ctx, + void (*retain)(void *), + void (*release)(void *)); + +/** \brief + * The direction to sort the results of a query. + */ +typedef enum QuerySortDirection { + /** */ + QUERY_SORT_DIRECTION_ASCENDING = 1, + /** */ + QUERY_SORT_DIRECTION_DESCENDING, +} QuerySortDirection_t; + +/** \brief + * OrderBy Parameter + */ +typedef struct COrderByParam { + /** */ + char const * query_c_str; + + /** */ + QuerySortDirection_t direction; +} COrderByParam_t; + +/** \brief + * `&'lt [T]` but with a guaranteed `#[repr(C)]` layout. + * + * # C layout (for some given type T) + * + * ```c + * typedef struct { + * // Cannot be NULL + * T * ptr; + * size_t len; + * } slice_T; + * ``` + * + * # Nullable pointer? + * + * If you want to support the above typedef, but where the `ptr` field is + * allowed to be `NULL` (with the contents of `len` then being undefined) + * use the `Option< slice_ptr<_> >` type. + */ +typedef struct slice_ref_COrderByParam { + /** \brief + * Pointer to the first element (if any). + */ + COrderByParam_t const * ptr; + + /** \brief + * Element count + */ + size_t len; +} slice_ref_COrderByParam_t; + +/** */ +int32_t +/* fn */ ditto_add_subscription ( + CDitto_t const * ditto, + char const * collection, + char const * query, + slice_ref_uint8_t query_args_cbor, + slice_ref_COrderByParam_t order_by, + int32_t limit, + uint32_t offset); + +/** */ +typedef struct LegacySubscriptionHandle LegacySubscriptionHandle_t; + +/** */ +typedef struct LegacySubscriptionHandleResult { + /** */ + int32_t status_code; + + /** */ + LegacySubscriptionHandle_t * handle; +} LegacySubscriptionHandleResult_t; + +/** \brief + * Helper function for GC-sensitive SDKs to ensure proper unregistering of the subscription in the + * future. + * + * Indeed, the state contained in the `LegacySubscriptionHandle` is otherwise difficult for the + * SDK to keep alive once "finalizing the world" has started: some of this state (such as some of + * the individual items of `order_by`) may have been disposed of already, which makes it impossible + * to then properly call `ditto_remove_subscription()`. + */ +LegacySubscriptionHandleResult_t +/* fn */ ditto_add_subscription_with_easier_unregistering ( + CDitto_t const * ditto, + char const * collection, + char const * query, + slice_ref_uint8_t query_args_cbor, + slice_ref_COrderByParam_t order_bys, + int32_t limit, + uint32_t offset); + +/** */ +typedef struct WifiAwareClientCallbacks { + /** */ + void (*start_searching)(void *, char const *, char const *); + + /** */ + void (*stop_searching)(void *); + + /** */ + void (*create_network)(void *, char const *); + + /** */ + void (*update_peer)(void *, char const *, ConnectState_t); +} WifiAwareClientCallbacks_t; + +/** */ +typedef enum dittoffi_wifi_aware_system_parameter_u64 { + /** */ + DITTOFFI_WIFI_AWARE_SYSTEM_PARAMETER_U64_MAX_ERROR_COUNT, + /** */ + DITTOFFI_WIFI_AWARE_SYSTEM_PARAMETER_U64_RECENT_ERROR_DURATION_MS, + /** */ + DITTOFFI_WIFI_AWARE_SYSTEM_PARAMETER_U64_BACKGROUND_MODE, +} dittoffi_wifi_aware_system_parameter_u64_t; + +/** */ +typedef struct WifiAwareServerCallbacks { + /** */ + void (*start_advertising)(void *, char const *, char const *, uint16_t); + + /** */ + void (*stop_advertising)(void *); + + /** */ + void (*update_peer)(void *, char const *, ConnectState_t); + + /** */ + void (*update_parameter_u64)(void *, dittoffi_wifi_aware_system_parameter_u64_t, uint64_t); +} WifiAwareServerCallbacks_t; + +/** \brief + * An opaque handle for each installed transport, heap-allocated and owned by + * the SDK. + * + * A pointer to this handle is used to send platform events over FFI. In the + * future this handle will be the SDK's only point of control over the + * transport once created. In particular, a transport will be removed by + * freeing the handle. The concept of online and offline will be eliminated. + * (i.e., if you don't want a transport, remove it.) + * + * For now, the `Peer` object holds the transports and provides an API based on + * a numeric id assigned to each transport instance. Until that is removed, the + * id still exists and the SDK can request it from the opaque handle over FFI. + * + * For each transport type, define an `extern "C"` function to free that + * specific monomorphisation of the `TransportHandle` using `Box::from_raw`, + * plus a function to retrieve the transport id, which will be removed later. + * + * Safety: The SDK owns the `TransportHandle`. It is responsible for ensuring + * that it does not use the pointer to the `TransportHandle` after freeing it + * with its respective function. In Rust we will assume it is okay to unsafely + * dereference a handle. + * + * The C interface of `TransportHandle` is thread-safe (`Send + Sync`). + */ +typedef struct TransportHandle_WifiAwarePlatformEvent TransportHandle_WifiAwarePlatformEvent_t; + +/** */ +TransportHandle_WifiAwarePlatformEvent_t * +/* fn */ ditto_add_wifi_aware_transport ( + CDitto_t const * ditto, + WifiAwareClientCallbacks_t client_callbacks, + WifiAwareServerCallbacks_t server_callbacks, + void * ctx, + void (*retain)(void *), + void (*release)(void *)); + +/** */ +char * +/* fn */ ditto_auth_client_get_app_id ( + CDitto_t const * ditto); + +/** */ +uint64_t +/* fn */ ditto_auth_client_get_site_id ( + CDitto_t const * ditto); + +/** */ +int32_t +/* fn */ ditto_auth_client_is_web_valid ( + CDitto_t const * ditto); + +/** */ +int32_t +/* fn */ ditto_auth_client_login_with_credentials ( + CDitto_t * ditto, + char const * username, + char const * password, + char const * provider); + +/** */ +int32_t +/* fn */ ditto_auth_client_login_with_token ( + CDitto_t * ditto, + char const * token, + char const * provider); + +/** */ +typedef struct BoxedCharPtrResult { + /** */ + int32_t status_code; + + /** */ + char * c_string; +} BoxedCharPtrResult_t; + +/** */ +BoxedCharPtrResult_t +/* fn */ ditto_auth_client_login_with_token_and_feedback ( + CDitto_t const * ditto, + char const * token, + char const * provider); + +/** \brief + * Trigger an explicit logout and purge of any cached credentials + */ +int32_t +/* fn */ ditto_auth_client_logout ( + CDitto_t const * ditto); + +/** \brief + * An `SdkLoginProvider` that sends the notifications over FFI + */ +typedef struct CLoginProvider CLoginProvider_t; + +/** \brief + * Create a LoginProvider. Ownership passes to the SDK. + * + * This cannot be freed directly - it should be passed in when creating an + * AuthClient. + */ +CLoginProvider_t * +/* fn */ ditto_auth_client_make_login_provider ( + void * ctx, + void (*retain)(void *), + void (*release)(void *), + void (*expiring_cb)(void *, uint32_t)); + +/** */ +char * +/* fn */ ditto_auth_client_user_id ( + CDitto_t const * ditto); + +/** */ +void +/* fn */ ditto_auth_login_provider_free ( + CLoginProvider_t * login_provider); + +/** */ +void +/* fn */ ditto_auth_set_login_provider ( + CDitto_t const * ditto, + CLoginProvider_t * login_provider); + +/** \brief + * The SDK requests to drop its handle to the AWDL Transport + * + * At some point dropping this events channel will effectively shut down and + * remove the Transport. At time of writing, the Transport is still owned + * within Peer. + */ +void +/* fn */ ditto_awdl_transport_free_handle ( + TransportHandle_AwdlPlatformEvent_t * handle); + +/** \brief + * The SDK requests to drop its handle to the BLE Transport + * + * At some point dropping this events channel will effectively shut down and + * remove the Transport. At time of writing, the Transport is still owned + * within Peer. + */ +void +/* fn */ ditto_ble_transport_free_handle ( + TransportHandle_BlePlatformEvent_t * handle); + +/** \brief + * [`Box`][`rust::Box`]`<[T]>` (fat pointer to a slice), + * but with a guaranteed `#[repr(C)]` layout. + * + * # C layout (for some given type T) + * + * ```c + * typedef struct { + * // Cannot be NULL + * T * ptr; + * size_t len; + * } slice_T; + * ``` + * + * # Nullable pointer? + * + * If you want to support the above typedef, but where the `ptr` field is + * allowed to be `NULL` (with the contents of `len` then being undefined) + * use the `Option< slice_ptr<_> >` type. + */ +typedef struct slice_boxed_uint8 { + /** \brief + * Pointer to the first element (if any). + */ + uint8_t * ptr; + + /** \brief + * Element count + */ + size_t len; +} slice_boxed_uint8_t; + +/** \brief + * Releases a byte array value returned by DittoStore. + * + * DittoStore manages its own memory allocations and it is not safe to release + * such values with C's `free()`. That's why the structures it returns provide + * their own associated `free` function. + * + * It should be used for values returned by functions like + * `ditto_document_cbor`. + */ +void +/* fn */ ditto_c_bytes_free ( + slice_boxed_uint8_t bytes); + +/** \brief + * Releases `char *` value returned by DittoStore. + * + * DittoStore manages its own memory allocations and it is not safe to release + * such values with C's `free()`. That's why the structures it returns provide + * their own associated `free` function and this is one we need for `char *`. + * + * It should be used for values returned by functions like + * `ditto_document_id_query_compatible`. + */ +void +/* fn */ ditto_c_string_free ( + char * s); + +/** */ +typedef struct DittoCancellable DittoCancellable_t; + +/** */ +void +/* fn */ ditto_cancel ( + DittoCancellable_t * _cancelable); + +/** \brief + * Cancels a resolve callback registered by ditto_resolve_attachment. + * + * Returns following error codes: + * + * * `0` -- no error + * * `1` -- an error + * * `2` -- invalid id + * * `3` -- token never issued + * + * In case of a non-zero return value, error message can be retrieved using + * `ditto_error_message` function. + */ +uint32_t +/* fn */ ditto_cancel_resolve_attachment ( + CDitto_t const * ditto, + slice_ref_uint8_t id, + uint64_t cancel_token); + +/** \brief + * The `PathAccessorType` enum allows you to specify (usually from the SDK side + * of the FFI) what sort of type youโ€™re trying to access. So for some of the + * cases in the enum, e.g. `String`, `Bool`, etc, itโ€™s quite straightforward + * what youโ€™re asking for. For something like `Int` itโ€™s a little more complex + * in that if the value at the path youโ€™ve provided is an integer _or_ a float + * (with no fractional part to it) then itโ€™ll return an integer to you. For + * `Array` or `Object` itโ€™ll give you back an array or an object (respectively) + * if either the value at the path provided is a `Register` containing an + * array/object or if the value at the path provided is an `RGA`/`RWMap`, + * respectively. + * + * There are then the explicit type accessor type cases in that enum, e.g. + * `Counter`, `Register`, etc which will only return a value if the โ€œactiveโ€ + * value (most recently updated) at the provided path is a CRDT of the + * specified type, otherwise `None` will be returned. + */ +typedef enum PathAccessorType { + /** */ + PATH_ACCESSOR_TYPE_STRING, + /** */ + PATH_ACCESSOR_TYPE_NUMBER, + /** */ + PATH_ACCESSOR_TYPE_INT, + /** */ + PATH_ACCESSOR_TYPE_U_INT, + /** */ + PATH_ACCESSOR_TYPE_FLOAT, + /** */ + PATH_ACCESSOR_TYPE_DOUBLE, + /** */ + PATH_ACCESSOR_TYPE_BOOL, + /** */ + PATH_ACCESSOR_TYPE_NULL, + /** */ + PATH_ACCESSOR_TYPE_OBJECT, + /** */ + PATH_ACCESSOR_TYPE_ARRAY, + /** */ + PATH_ACCESSOR_TYPE_ANY, + /** */ + PATH_ACCESSOR_TYPE_COUNTER, + /** */ + PATH_ACCESSOR_TYPE_REGISTER, + /** */ + PATH_ACCESSOR_TYPE_ATTACHMENT, + /** */ + PATH_ACCESSOR_TYPE_R_W_MAP, +} PathAccessorType_t; + +/** */ +typedef struct CBORPathResult { + /** */ + int32_t status_code; + + /** */ + slice_boxed_uint8_t cbor; +} CBORPathResult_t; + +/** \brief + * Gets the CBOR value at the path in the provided CBOR and returns it if the + * value found matches the type requested, otherwise `None` will be returned in + * the result. + * + * If CBOR is returned in the result then the bytes have to be released with + * `::ditto_c_bytes_free`. + */ +CBORPathResult_t +/* fn */ ditto_cbor_get_cbor_with_path_type ( + slice_ref_uint8_t cbor, + char const * path, + PathAccessorType_t path_type); + +/** \brief + * Represents the error code as returned by various FFI functions. It's a + * simple integer for now, the codes are specified by each FFI function + * individually (for now, we plan to introduce a proper error type in the near + * future). + * Beware that all errors are not captured here. It is encouraged to use this enum + * instead of explicit `status_code` -mostly 0 and 1-. + */ +typedef enum DittoErrorCode { + /** */ + DITTO_ERROR_CODE_OK = 0, + /** */ + DITTO_ERROR_CODE_UNKNOWN = 1, + /** */ + DITTO_ERROR_CODE_NOT_IMPLEMENTED = 2, + /** \brief + * Fatal case that ought to never happen. + */ + DITTO_ERROR_CODE_UNREACHABLE = 2989, + /** */ + DITTO_ERROR_CODE_FAILED_TO_ACQUIRE_LOCK_FILE = 16777217, + /** */ + DITTO_ERROR_CODE_INVALID_PASSPHRASE = 33554433, + /** */ + DITTO_ERROR_CODE_EXTRANEOUS_PASSPHRASE_GIVEN = 33554434, + /** */ + DITTO_ERROR_CODE_PASSPHRASE_NOT_GIVEN = 33554435, + /** */ + DITTO_ERROR_CODE_ALREADY_ENCRYPTED = 33554436, + /** */ + DITTO_ERROR_CODE_ENCRYPTION_FAILED = 33554437, + /** */ + DITTO_ERROR_CODE_CANNOT_BE_ENCRYPTED = 33554438, + /** */ + DITTO_ERROR_CODE_NOT_INITIALIZED = 33554439, + /** */ + DITTO_ERROR_CODE_SORT_FAILED = 50331649, + /** */ + DITTO_ERROR_CODE_DQL_FAILED_TO_COMPILE_QUERY = 50331650, + /** */ + DITTO_ERROR_CODE_DQL_UNSUPPORTED = 50331651, + /** */ + DITTO_ERROR_CODE_DQL_EXECUTION_FAILED = 50331652, + /** */ + DITTO_ERROR_CODE_PARAMETER_QUERY_FAILED = 50331653, +} DittoErrorCode_t; + +/** \brief + * Changes the passphrase and re-encrypts all data. This can take a while, + * progress is reported via the progress callback. Returns a progress token + * or 0 if a _synchronous_ error occured, in which case the `error_code` out + * parameter is set (see error code table below). + * + * Note that errors can also occur while the operation is in progress. Those + * are typically IO errors and are reported via the progress callback. + * The combination of `passphrase` and `newPassphrase` have the following + * effects: + * + * - `passphrase = NULL` & `newPassphrase = NULL` -> No-op if not encrypted, otherwise error code + * 3. + * + * - `passphrase = "123"` & `newPassphrase = "123"` -> No-op if encrypted and password is correct, + * error code 2 if not encrypted, and error code 1 if encrypted but `passphrase` invalid. + * + * - `passphrase = NULL` & `newPassphrase = "123"` -> Add encryption. No-op if already encrypted + * and passphrase matches, error code 4 if already encrypted but passphrase does not match. + * + * - `passphrase = "123"` & `newPassphrase = NULL` -> Remove encryption. No op + * - if not encrypted. + * + * - `passphrase = "123"` & `newPassphrase = "456"` -> Re-encrypt. Error code 1 if passphrase + * invalid. + */ +DittoCancellable_t * +/* fn */ ditto_change_passphrase ( + char const * _working_dir, + char const * _old_passphrase, + char const * _new_passphrase, + void * _ctx, + void (*_c_cb)(void *), + DittoErrorCode_t * _error_code); + +/** \brief + * Deregister any presence callback, releasing the receiver on the SDK side. + */ +void +/* fn */ ditto_clear_presence_callback ( + CDitto_t const * ditto); + +/** \brief + * Deregister v1 presence callback, releasing the receiver on the SDK side. + */ +void +/* fn */ ditto_clear_presence_v1_callback ( + CDitto_t const * ditto); + +/** \brief + * Deregister v2 presence callback, releasing the receiver on the SDK side. + */ +void +/* fn */ ditto_clear_presence_v2_callback ( + CDitto_t const * ditto); + +/** \brief + * Deregister v3 presence callback, releasing the receiver on the SDK side. + */ +void +/* fn */ ditto_clear_presence_v3_callback ( + CDitto_t const * ditto); + +/** */ +int32_t +/* fn */ ditto_collection ( + CDitto_t const * ditto, + char const * name); + +/** \brief + * Write transaction synchronous API. + */ +typedef struct CWriteTransaction CWriteTransaction_t; + +/** */ +typedef struct BoolResult { + /** */ + int32_t status_code; + + /** */ + bool bool_value; +} BoolResult_t; + +/** \brief + * Evict a document from the collection, using the provided write transaction. + * + * `was_evicted` is set to indicate whether the document was removed + * successfully. + * + * * [js only] Returns -1 in case of outstanding non-`await`ed transaction operation. + */ +BoolResult_t +/* fn */ ditto_collection_evict ( + CDitto_t const * ditto, + char const * coll_name, + CWriteTransaction_t * transaction, + slice_ref_uint8_t id); + +/** \brief + * `&'lt [T]` but with a guaranteed `#[repr(C)]` layout. + * + * # C layout (for some given type T) + * + * ```c + * typedef struct { + * // Cannot be NULL + * T * ptr; + * size_t len; + * } slice_T; + * ``` + * + * # Nullable pointer? + * + * If you want to support the above typedef, but where the `ptr` field is + * allowed to be `NULL` (with the contents of `len` then being undefined) + * use the `Option< slice_ptr<_> >` type. + */ +typedef struct slice_ref_slice_boxed_uint8 { + /** \brief + * Pointer to the first element (if any). + */ + slice_boxed_uint8_t const * ptr; + + /** \brief + * Element count + */ + size_t len; +} slice_ref_slice_boxed_uint8_t; + +/** \brief + * Same as [`Vec`][`rust::Vec`], but with guaranteed `#[repr(C)]` layout + */ +typedef struct Vec_slice_boxed_uint8 { + /** */ + slice_boxed_uint8_t * ptr; + + /** */ + size_t len; + + /** */ + size_t cap; +} Vec_slice_boxed_uint8_t; + +/** */ +typedef struct DocIdsResult { + /** */ + int32_t status_code; + + /** */ + Vec_slice_boxed_uint8_t ids; +} DocIdsResult_t; + +/** \brief + * Evict several documents from the collection, using the provided write transaction. + * + * Returns the list of successfully evicted document ids. + * + * * [js only] Returns -1 in case of outstanding non-`await`ed transaction operation. + */ +DocIdsResult_t +/* fn */ ditto_collection_evict_by_ids ( + CDitto_t const * ditto, + char const * coll_name, + CWriteTransaction_t * transaction, + slice_ref_slice_boxed_uint8_t ids); + +/** \brief + * Evict all documents returned by the specified query from a collection. + * + * `out_ids` is set to the list of IDs of all documents successfully evicted. + * + * [js only] Returns -2 in case of outstanding non-awaited transaction operation. + */ +DocIdsResult_t +/* fn */ ditto_collection_evict_query_str ( + CDitto_t const * ditto, + char const * coll_name, + CWriteTransaction_t * transaction, + char const * query, + slice_ref_uint8_t query_args_cbor, + slice_ref_COrderByParam_t order_by_params, + int32_t limit, + uint32_t offset); + +/** \brief + * Store document consisting of a `DocumentId` and `ditto_crdt::Document` pair. + * + * Within the `ditto_store` crate the association of these two elements is maintained together + * within this single structure, while these elements may be stored separately in upstream or + * downstream crates. This type corresponds to the `Record` type in the `replication` crate, rather + * than a literal document. + */ +typedef struct CDocument CDocument_t; + +/** \brief + * Same as [`Vec`][`rust::Vec`], but with guaranteed `#[repr(C)]` layout + */ +typedef struct Vec_CDocument_ptr { + /** */ + CDocument_t * * ptr; + + /** */ + size_t len; + + /** */ + size_t cap; +} Vec_CDocument_ptr_t; + +/** */ +typedef struct DocumentsResult { + /** */ + int32_t status_code; + + /** */ + Vec_CDocument_ptr_t documents; +} DocumentsResult_t; + +/** \brief + * Execute the specified query. + * + * `out_documents` is set to the list of all documents successfully retrieved + * from the collection. + * + * [js only] Returns -2 in case of outstanding non-awaited transaction operation. + */ +DocumentsResult_t +/* fn */ ditto_collection_exec_query_str ( + CDitto_t const * ditto, + char const * coll_name, + CWriteTransaction_t * txn, + char const * query, + slice_ref_uint8_t query_args_cbor, + slice_ref_COrderByParam_t order_by_params, + int32_t limit, + uint32_t offset); + +/** \brief + * Read transaction synchronous API. + */ +typedef struct CReadTransaction CReadTransaction_t; + +/** */ +typedef struct DocumentsIdsResult { + /** */ + int32_t status_code; + + /** */ + Vec_CDocument_ptr_t documents; + + /** */ + Vec_slice_boxed_uint8_t ids; +} DocumentsIdsResult_t; + +/** \brief + * [js only] Returns `-1` in case of outstanding non-`awaited` transaction operation. + */ +DocumentsIdsResult_t +/* fn */ ditto_collection_find_by_ids ( + CDitto_t const * ditto, + char const * coll_name, + slice_ref_slice_boxed_uint8_t ids, + CReadTransaction_t * transaction); + +/** */ +typedef struct DocumentResult { + /** */ + int32_t status_code; + + /** */ + CDocument_t * document; +} DocumentResult_t; + +/** \brief + * [js only] Returns `-1` in case of outstanding non-`awaited` transaction operation. + */ +DocumentResult_t +/* fn */ ditto_collection_get ( + CDitto_t const * _ditto, + char const * coll_name, + slice_ref_uint8_t id, + CReadTransaction_t * transaction); + +/** \brief + * [js only] Returns `-1` in case of outstanding non-`awaited` transaction operation. + */ +DocumentResult_t +/* fn */ ditto_collection_get_with_write_transaction ( + CDitto_t const * _ditto, + char const * coll_name, + slice_ref_uint8_t id, + CWriteTransaction_t * transaction); + +/** \brief + * The write strategies available when writing data to the store. + */ +typedef enum WriteStrategyRs { + /** \brief + * Create or merge with existing data + */ + WRITE_STRATEGY_RS_MERGE, + /** \brief + * Only insert if no document already exists with the same document ID + */ + WRITE_STRATEGY_RS_INSERT_IF_ABSENT, + /** \brief + * Insert as default data, only if no document already exists with the same document ID + */ + WRITE_STRATEGY_RS_INSERT_DEFAULT_IF_ABSENT, + /** \brief + * This works as follows: + * - If the document does not exist, it is created with the given value + * - If the document exists, the value is compared to the document's current value, any + * differing leaf's values in the Document are updated to match the given value. Nothing is + * removed. + */ + WRITE_STRATEGY_RS_UPDATE_DIFFERENT_VALUES, +} WriteStrategyRs_t; + +/** */ +typedef struct DocIdResult { + /** */ + int32_t status_code; + + /** */ + slice_boxed_uint8_t id; +} DocIdResult_t; + +/** \brief + * Inserts a document into the store. + * + * If an ID is provided explicitly via the `doc_id` parameter then that will be + * used as the document's ID. If an ID is provided implicitly via the + * document's value (`doc_cbor`) then that will be used as the document's ID, + * assuming no explicit ID was provided. If neither an explicit nor an implicit + * document ID was provided then a new document ID will be generated and used + * as the new document's ID. + * + * Return codes: + * + * * `0` -- success + * * `1` -- improper CBOR provided for the document value + * * `2` -- invalid CBOR for the document value (i.e. the CBOR could be parsed but it represented a + * non-`Object` value) + * * `3` -- unable to create document ID from value at `_id` key in document's value (`doc_cbor` + * argument) + * * `4` -- (js only) concurrent database operation (missing `await`?) + */ +DocIdResult_t +/* fn */ ditto_collection_insert_value ( + CDitto_t const * ditto, + char const * coll_name, + slice_ref_uint8_t doc_cbor, + WriteStrategyRs_t write_strategy, + char const * log_hint, + CWriteTransaction_t * txn); + +/** \brief + * Remove a document from the collection, using the provided write transaction. + * + * `was_removed` is set to indicate whether the document was removed + * successfully. + * + * * [js only] Returns -1 in case of outstanding non-`await`ed transaction operation. + */ +BoolResult_t +/* fn */ ditto_collection_remove ( + CDitto_t const * _ditto, + char const * coll_name, + CWriteTransaction_t * transaction, + slice_ref_uint8_t id); + +/** \brief + * Remove documents from the collection, using the provided write transaction. + * + * Return the list of successfully removed DocumentId + * + * Will return an error if the number of keys is greater than 1024. + * * [js only] Returns -1 in case of outstanding non-`await`ed transaction operation. + */ +DocIdsResult_t +/* fn */ ditto_collection_remove_by_ids ( + CDitto_t const * ditto, + char const * coll_name, + CWriteTransaction_t * transaction, + slice_ref_slice_boxed_uint8_t ids); + +/** \brief + * Remove all documents returned by the specified query from a collection. + * + * `out_ids` is set to the list of IDs of all documents successfully removed. + * + * [js only] Returns -2 in case of outstanding non-awaited transaction operation. + */ +DocIdsResult_t +/* fn */ ditto_collection_remove_query_str ( + CDitto_t const * ditto, + char const * coll_name, + CWriteTransaction_t * transaction, + char const * query, + slice_ref_uint8_t query_args_cbor, + slice_ref_COrderByParam_t order_by_params, + int32_t limit, + uint32_t offset); + +/** \brief + * [js only] Returns -1 in case of outstanding non-awaited transaction operation. + */ +int32_t +/* fn */ ditto_collection_update ( + CDitto_t const * _ditto, + char const * coll_name, + CWriteTransaction_t * transaction, + CDocument_t * document); + +/** \brief + * Update multiple documents in a collection, using the provided write + * transaction. + * + * # Return Values + * + * - Returns `0` if all links were successfully updated in all documents. + * - Returns `-1` if one or more documents' links fail to all update + * successfully, but all documents themselves are successfully updated. Note + * that in the event of an attachment failing to update, updates are still + * attempted on the rest of the attachments and the rest of the documents. + * - If a document fails to update, the appropriate error code is returned for + * the cause of the failure. Note that if a document fails to update, no more + * document updates are attempted. + */ +int32_t +/* fn */ ditto_collection_update_multiple ( + CDitto_t const * _ditto, + char const * coll_name, + CWriteTransaction_t * transaction, + Vec_CDocument_ptr_t documents); + +/** */ +int32_t +/* fn */ ditto_disable_sync_with_v3 ( + CDitto_t const * ditto); + +/** \brief + * Supported components whose disk usage can be monitored separately. + */ +/** \remark Has the same ABI as `uint8_t` **/ +#ifdef DOXYGEN +typedef +#endif +enum FsComponent { + /** \brief + * The whole ditto working directory + */ + FS_COMPONENT_ROOT = 0, + /** \brief + * The store component + */ + FS_COMPONENT_STORE, + /** \brief + * The auth component + */ + FS_COMPONENT_AUTH, + /** \brief + * The replication component + */ + FS_COMPONENT_REPLICATION, + /** \brief + * The attachment component + */ + FS_COMPONENT_ATTACHMENT, +} +#ifndef DOXYGEN +; typedef uint8_t +#endif +FsComponent_t; + +/** \brief + * Get a cbor repr of the disk usage + */ +slice_boxed_uint8_t +/* fn */ ditto_disk_usage ( + CDitto_t const * ditto, + FsComponent_t path); + +/** \brief + * Document's CBOR + */ +slice_boxed_uint8_t +/* fn */ ditto_document_cbor ( + CDocument_t const * document); + +/** \brief + * Releases the document + */ +void +/* fn */ ditto_document_free ( + CDocument_t * document); + +/** \brief + * Gets the CBOR value at the path in the provided document and returns it if + * the value found matches the type requested, otherwise `None` will be + * returned in the result. + * + * To understand how this is intended to be used it might be instructive to see + * how things work in the DittoDocumentPath of the Swift SDK, for example: + * + * + * where the valueAtPathInDocumentWithType implementation looks like this: + * + * + * Note: all the of the values returned by + * `ditto_document_get_cbor_with_path_type` are untyped (i.e. thereโ€™s never an + * object with `_value` and `_ditto_internal_type_jkb12973t4b` keys being + * returned). For example, if you request a value at a path with a + * `PathAccessorType` of `Counter` and there is indeed a counter at that path + * then the value (as CBOR) that will be returned will be the `f64`/`double` + * representation of the counterโ€™s value, on its own. + * + * If CBOR is returned in the result then the bytes have to be released with + * `::ditto_c_bytes_free`. + */ +CBORPathResult_t +/* fn */ ditto_document_get_cbor_with_path_type ( + CDocument_t const * document, + char const * pointer, + PathAccessorType_t path_type); + +/** \brief + * Document's ID + * + * The resulting bytes have to be freed with `::ditto_c_bytes_free` + */ +slice_boxed_uint8_t +/* fn */ ditto_document_id ( + CDocument_t const * document); + +/** \brief + * Defines how string primitives should be encoded. This is relevant if a + * document ID was created from a string. There are occasions when we want the + * stringified representation of the document ID do include quotes around the + * string, for example when creating a query like `_id == "abc"`. However, + * there are also times when we want to return the string as just a string, for + * example when we're injecting a document ID into a document's value before + * then serializing the document and sending those bytes across the FFI + * boundary. + */ +typedef enum StringPrimitiveFormat { + /** */ + STRING_PRIMITIVE_FORMAT_WITH_QUOTES, + /** */ + STRING_PRIMITIVE_FORMAT_WITHOUT_QUOTES, +} StringPrimitiveFormat_t; + +/** \brief + * Convert a document ID from CBOR bytes into a Ditto query language compatible + * string. + * + * The resulting string has to be freed with `::ditto_c_string_free` + */ +char * +/* fn */ ditto_document_id_query_compatible ( + slice_ref_uint8_t id, + StringPrimitiveFormat_t string_primitive_format); + +/** */ +int32_t +/* fn */ ditto_document_increment_counter ( + CDocument_t * document, + char const * pointer, + double amount); + +/** \brief + * Removes a value from a document. Only object properties can be removed. If the + * `pointer` points to an array index, the removal will fail. To update an array + * within a register, see `ditto_document_update`. + * + * # Arguments + * + * * `document` - A pointer to the document which was previously returned from a query. + * * `pointer` - A JMESPath _pointer_ to a property within `document` which is to be removed. + * + * # Returns + * + * `0` if the remove was successful or non-zero to indicate failure. To + * retrieve an error message in the case of failure, call + * `ditto_error_message()`. + */ +int32_t +/* fn */ ditto_document_remove ( + CDocument_t * document, + char const * pointer); + +/** */ +int32_t +/* fn */ ditto_document_set_cbor ( + CDocument_t * document, + char const * pointer, + slice_ref_uint8_t cbor); + +/** */ +int32_t +/* fn */ ditto_document_set_cbor_with_timestamp ( + CDocument_t * document, + char const * pointer, + slice_ref_uint8_t cbor, + uint32_t _timestamp); + +/** \brief + * Updates the document with values taken from provided CBOR data. + * + * Returns following error codes: + * + * * `0` -- no error + * * `1` -- invalid CBOR data + * * `2` -- CBOR data was not a map + * * `3` -- update error + * * `4` -- `_id` key provided + * * `5` -- invalid value + * + * In case of a non-zero return value, error message can be retrieved using + * `::ditto_error_message` function. + */ +int32_t +/* fn */ ditto_document_update ( + CDocument_t * document, + slice_ref_uint8_t cbor); + +/** \brief + * `&'lt [T]` but with a guaranteed `#[repr(C)]` layout. + * + * # C layout (for some given type T) + * + * ```c + * typedef struct { + * // Cannot be NULL + * T * ptr; + * size_t len; + * } slice_T; + * ``` + * + * # Nullable pointer? + * + * If you want to support the above typedef, but where the `ptr` field is + * allowed to be `NULL` (with the contents of `len` then being undefined) + * use the `Option< slice_ptr<_> >` type. + */ +typedef struct slice_ref_CDocument_ptr { + /** \brief + * Pointer to the first element (if any). + */ + CDocument_t * const * ptr; + + /** \brief + * Element count + */ + size_t len; +} slice_ref_CDocument_ptr_t; + +/** */ +typedef struct U64Result { + /** */ + int32_t status_code; + + /** */ + uint64_t u64; +} U64Result_t; + +/** */ +U64Result_t +/* fn */ ditto_documents_hash ( + slice_ref_CDocument_ptr_t documents); + +/** */ +BoxedCharPtrResult_t +/* fn */ ditto_documents_hash_mnemonic ( + slice_ref_CDocument_ptr_t documents); + +/** \brief + * Retrieves last thread-local error message (used by some synchronous APIs) + * and removes it. Subsequent call to this function (if nothing else has + * happened) will always return `NULL`. + * + * Returns `NULL` if there was no error. A non-null result MUST be freed using + * `ditto_c_string_free`. + */ +char * +/* fn */ ditto_error_message (void); + +/** \brief + * Retrieves last thread-local error message (used by some synchronous APIs) + * and retains ownership of it. + * + * Returns `NULL` if there was no error. A non-null result MUST be freed using + * `ditto_c_string_free`. + */ +char * +/* fn */ ditto_error_message_peek (void); + +/** */ +typedef struct CIdentityConfig CIdentityConfig_t; + +/** \brief + * Whether or not history tracking is enabled. + */ +typedef enum HistoryTracking { + /** \brief + * History tracking is enabled. + */ + HISTORY_TRACKING_ENABLED, + /** \brief + * History tracking is disabled. + */ + HISTORY_TRACKING_DISABLED, +} HistoryTracking_t; + +/** \brief + * Same as `ditto_make()`, only takes an additional `passphrase` and an out + * `error_code` parameter. + * + * Returns the Ditto pointer on success. On failure, returns `NULL` and sets the + * out `error_code` parameter (1 or 2 possible here, plus IO errors). + */ +CDitto_t * +/* fn */ ditto_experimental_make_with_passphrase ( + char const * working_dir, + CIdentityConfig_t * identity_config, + HistoryTracking_t history_tracking, + char const * passphrase, + DittoErrorCode_t * error_code); + +/** \brief + * Frees the `Ditto` object. + * + * It is expected that `ditto_shutdown` will have been called before this is called. + */ +void +/* fn */ ditto_free ( + CDitto_t * ditto); + +/** \brief + * A shared read-only reference to an existing Attachment. + */ +typedef struct AttachmentHandle AttachmentHandle_t; + +/** */ +void +/* fn */ ditto_free_attachment_handle ( + AttachmentHandle_t * handle); + +/** \brief + * [`Box`][`rust::Box`]`<[T]>` (fat pointer to a slice), + * but with a guaranteed `#[repr(C)]` layout. + * + * # C layout (for some given type T) + * + * ```c + * typedef struct { + * // Cannot be NULL + * T * ptr; + * size_t len; + * } slice_T; + * ``` + * + * # Nullable pointer? + * + * If you want to support the above typedef, but where the `ptr` field is + * allowed to be `NULL` (with the contents of `len` then being undefined) + * use the `Option< slice_ptr<_> >` type. + */ +typedef struct slice_boxed_size { + /** \brief + * Pointer to the first element (if any). + */ + size_t * ptr; + + /** \brief + * Element count + */ + size_t len; +} slice_boxed_size_t; + +/** \brief + * Frees a `slice_box_size_t`, used in `c_cb_params`. + */ +void +/* fn */ ditto_free_indices ( + slice_boxed_size_t indices); + +/** */ +typedef struct AttachmentHandleResult { + /** */ + int32_t status_code; + + /** */ + AttachmentHandle_t * handle; +} AttachmentHandleResult_t; + +/** */ +AttachmentHandleResult_t +/* fn */ ditto_get_attachment_status ( + CDitto_t * ditto, + slice_ref_uint8_t id); + +/** \brief + * Same as [`Vec`][`rust::Vec`], but with guaranteed `#[repr(C)]` layout + */ +typedef struct Vec_char_ptr { + /** */ + char * * ptr; + + /** */ + size_t len; + + /** */ + size_t cap; +} Vec_char_ptr_t; + +/** */ +typedef struct CollectionNamesResult { + /** */ + int32_t status_code; + + /** */ + Vec_char_ptr_t names; +} CollectionNamesResult_t; + +/** */ +CollectionNamesResult_t +/* fn */ ditto_get_collection_names ( + CDitto_t const * ditto); + +/** */ +typedef struct AttachmentDataResult { + /** */ + int8_t status; + + /** */ + slice_boxed_uint8_t data; +} AttachmentDataResult_t; + +/** */ +AttachmentDataResult_t +/* fn */ ditto_get_complete_attachment_data ( + CDitto_t const * ditto, + AttachmentHandle_t const * handle); + +/** */ +char * +/* fn */ ditto_get_complete_attachment_path ( + CDitto_t const * ditto, + AttachmentHandle_t const * handle); + +/** \brief + * Returns a human-readable SDK version string, including platform information. + * While useful when logging, its exact format or contents ought not to be + * relied on. + * + * The returned string must be freed. + */ +char * +/* fn */ ditto_get_sdk_version (void); + +/** */ +typedef struct IdentityConfigResult { + /** */ + int32_t status_code; + + /** */ + CIdentityConfig_t * identity_config; +} IdentityConfigResult_t; + +/** */ +IdentityConfigResult_t +/* fn */ ditto_identity_config_make_manual ( + char const * manual_identity_str); + +/** */ +IdentityConfigResult_t +/* fn */ ditto_identity_config_make_manual_v0 ( + char const * config_cbor_b64); + +/** */ +IdentityConfigResult_t +/* fn */ ditto_identity_config_make_offline_playground ( + char const * app_id, + uint64_t site_id); + +/** */ +IdentityConfigResult_t +/* fn */ ditto_identity_config_make_online_playground ( + char const * app_id, + char const * shared_token, + char const * base_url); + +/** */ +IdentityConfigResult_t +/* fn */ ditto_identity_config_make_online_with_authentication ( + char const * app_id, + char const * base_url); + +/** */ +IdentityConfigResult_t +/* fn */ ditto_identity_config_make_shared_key ( + char const * app_id, + char const * key_der_b64, + uint64_t site_id); + +/** */ +typedef enum Platform { + /** */ + PLATFORM_WINDOWS, + /** */ + PLATFORM_MAC, + /** */ + PLATFORM_IOS, + /** */ + PLATFORM_TVOS, + /** */ + PLATFORM_ANDROID, + /** */ + PLATFORM_LINUX, + /** */ + PLATFORM_WEB, + /** */ + PLATFORM_UNKNOWN, +} Platform_t; + +/** */ +typedef enum Language { + /** */ + LANGUAGE_SWIFT, + /** */ + LANGUAGE_OBJECTIVE_C, + /** */ + LANGUAGE_C_PLUS_PLUS, + /** */ + LANGUAGE_C_SHARP, + /** */ + LANGUAGE_JAVA_SCRIPT, + /** */ + LANGUAGE_UNKNOWN, + /** */ + LANGUAGE_RUST, + /** */ + LANGUAGE_J_V_M_BASED, + /** */ + LANGUAGE_FLUTTER, +} Language_t; + +/** */ +void +/* fn */ ditto_init_sdk_version ( + Platform_t platform, + Language_t language, + char const * sdk_semver); + +typedef struct { + uint8_t idx[8]; +} uint8_8_array_t; + +/** \brief + * Construct a new Timeseries Event from the following parts: + * * `timestamp` - u64 Unix epoch seconds as 8 big endian bytes + * * `nanos` - Number of nanoseconds offset into the current second + * * `ts_name` - The name of the timeseries + * * `cbor` - The cbor content for the event + * * `txn` - An optional write transaction. If one is provided then it will not be committed. If + * one is not provided then one will be obtained and it will be committed. + * + * Return codes: + * * `0` -- success + * * `1` -- invalid CBOR + * * `2` -- `cbor` is not an object + * * `3` -- (js only) concurrent database operation (missing `await`?) + */ +int32_t +/* fn */ ditto_insert_timeseries_event ( + CDitto_t const * ditto, + uint8_8_array_t timestamp, + uint32_t nanos, + char const * ts_name, + slice_ref_uint8_t cbor, + CWriteTransaction_t * txn); + +/** */ +void +/* fn */ ditto_invalidate_tcp_listeners ( + CDitto_t const * ditto); + +/** \brief + * Returns `true` if Ditto data at that path is encrypted, otherwise + * returns `false` + */ +bool +/* fn */ ditto_is_encrypted ( + CDitto_t const * ditto); + +/** \brief + * Describes how a live query callback's availability should be treated. + */ +typedef enum LiveQueryAvailability { + /** \brief + * As soon as a transaction is committed that impacts the live query the consumer-provided + * callback will be called with the relevant update information. This can be temporarily + * delayed if there's a lot of activity leading to the event receivers lagging or if groups of + * transactions are coalesced into a single live query update. + */ + LIVE_QUERY_AVAILABILITY_ALWAYS, + /** \brief + * If `WhenSignalled` is specified then the consumer-provided live query callback will only be + * called when there is a transaction committed that impacts the live query *and* the consumer + * has signalled that they are ready to receive a new live query event (via the callback). + */ + LIVE_QUERY_AVAILABILITY_WHEN_SIGNALLED, +} LiveQueryAvailability_t; + +/** */ +typedef struct c_cb_params { + /** \brief + * The vec must be freed with `ditto_sparse_vec_documents_free`. The `Document`s contained by + * the vec are owned by the recipient of the diff and should be freed independently of the + * vec. + */ + Vec_CDocument_ptr_t documents; + + /** */ + bool is_initial; + + /** \brief + * The vec, if present, must be freed with `ditto_sparse_vec_documents_free`. The `Document`s + * contained by the vec are owned by the recipient of the diff and should be freed + * independently of the vec. + */ + Vec_CDocument_ptr_t old_documents; + + /** \brief + * Must be freed using `ditto_free_indices`. + */ + slice_boxed_size_t insertions; + + /** \brief + * Must be freed using `ditto_free_indices`. + */ + slice_boxed_size_t deletions; + + /** \brief + * Must be freed using `ditto_free_indices`. + */ + slice_boxed_size_t updates; + + /** \brief + * Must be freed using `ditto_free_indices`. + */ + slice_boxed_size_t moves; +} c_cb_params_t; + +/** */ +typedef struct I64Result { + /** */ + int32_t status_code; + + /** */ + int64_t i64; +} I64Result_t; + +/** \brief + * Convenience function for `ditto_live_query_register`, so as not to require + * pre-compiling the query. + */ +I64Result_t +/* fn */ ditto_live_query_register_str ( + CDitto_t const * ditto, + char const * coll_name, + char const * query, + slice_ref_uint8_t query_args_cbor, + slice_ref_COrderByParam_t order_by, + int32_t limit, + uint32_t offset, + LiveQueryAvailability_t lq_availability, + void * ctx, + void (*retain)(void *), + void (*release)(void *), + void (*c_cb)(void *, c_cb_params_t)); + +/** */ +void +/* fn */ ditto_live_query_signal_available_next ( + CDitto_t const * ditto, + int64_t id); + +/** */ +int32_t +/* fn */ ditto_live_query_start ( + CDitto_t const * ditto, + int64_t legacy_id); + +/** */ +void +/* fn */ ditto_live_query_stop ( + CDitto_t const * ditto, + int64_t legacy_id); + +/** */ +typedef enum CLogLevel { + /** */ + C_LOG_LEVEL_ERROR = 1, + /** */ + C_LOG_LEVEL_WARNING, + /** */ + C_LOG_LEVEL_INFO, + /** */ + C_LOG_LEVEL_DEBUG, + /** */ + C_LOG_LEVEL_VERBOSE, +} CLogLevel_t; + +/** \brief + * Log function called over FFI such that logging can be grouped into a single + * logging mechanism. + */ +void +/* fn */ ditto_log ( + CLogLevel_t level, + char const * msg); + +/** */ +void +/* fn */ ditto_logger_emoji_headings_enabled ( + bool enabled); + +/** */ +bool +/* fn */ ditto_logger_emoji_headings_enabled_get (void); + +/** */ +void +/* fn */ ditto_logger_enabled ( + bool enabled); + +/** */ +bool +/* fn */ ditto_logger_enabled_get (void); + +/** \brief + * Initializes and registers the global Ditto logger. + * + * This function shouldn't *need* to be called because all of the logging-related FFI calls + * *should* start with a call that ensures that the logger is initialized. However, it also + * shouldn't hurt to call this. + */ +void +/* fn */ ditto_logger_init (void); + +/** */ +void +/* fn */ ditto_logger_minimum_log_level ( + CLogLevel_t log_level); + +/** */ +CLogLevel_t +/* fn */ ditto_logger_minimum_log_level_get (void); + +/** \brief + * Registers a custom logging callback to be called whenever Ditto wants to + * issue a log (on _top_ of emitting the log to the console). + * + * Care should be taken not to perform any Ditto operations within this + * callback, since those could emit new ditto logs, leading to a recursive + * situation. More specifically, this should not be fed `ditto_log`. + * + * A `NULL` may be fed to provide no callback (thus unregistering any + * previously registered one). + */ +void +/* fn */ ditto_logger_set_custom_log_cb ( + void (*custom_log_cb)(CLogLevel_t, char *)); + +/** \brief + * Registers a file path where logs will be written to, whenever Ditto wants + * to issue a log (on _top_ of emitting the log to the console). + * + * The path, if any, must be within an already existing directory. + * + * A `NULL` may be fed to provide no file (thus unregistering any previously + * registered one). + * + * Returns `0` on success, and `-1` otherwise (and the thread local error + * message is set accordingly). + */ +int8_t +/* fn */ ditto_logger_set_log_file ( + char const * log_file); + +/** \brief + * Make a Ditto object as an opaque pointer. The Ditto object creates the Tokio + * runtime and starts internal threads. The return value is a raw pointer whose + * only use is to supply as an argument to other ditto_* functions. The Ditto + * object must be stopped and freed with ditto_free(). + */ +CDitto_t * +/* fn */ ditto_make ( + char const * working_dir, + CIdentityConfig_t * identity_config, + HistoryTracking_t history_tracking); + +/** \brief + * The SDK requests to drop its handle to the mDNS transport + * + * At some point dropping this events channel will effectively shut down and + * remove the Transport. At time of writing, the Transport is still owned + * within Peer. + */ +void +/* fn */ ditto_mdns_transport_free_handle ( + TransportHandle_MdnsPlatformEvent_t * handle); + +/** */ +typedef struct CAttachment { + /** */ + slice_boxed_uint8_t id; + + /** */ + uint64_t len; + + /** */ + AttachmentHandle_t * handle; +} CAttachment_t; + +/** \brief + * Creates new Attachment from a blob of bytes link it to the given Document. + * + * Returns following error codes: + * + * * `0` -- no error + * * `1` -- an error + * + * In case of a non-zero return value, error message can be retrieved using + * `ditto_error_message` function. + */ +uint32_t +/* fn */ ditto_new_attachment_from_bytes ( + CDitto_t const * ditto, + slice_ref_uint8_t bytes, + CAttachment_t * out_attachment); + +/** \brief + * Describes how an attachment file should be handled by our Rust code. + * + * In most cases copying the file will be desirable but with the Android SDK, + * for example, we sometimes want to create a tempfile from an InputStream + * associated with the attachment file and then move that tempfile rather than + * copy it, so as to not make unnecessary copies. + */ +typedef enum AttachmentFileOperation { + /** */ + ATTACHMENT_FILE_OPERATION_COPY = 1, + /** */ + ATTACHMENT_FILE_OPERATION_MOVE, +} AttachmentFileOperation_t; + +/** \brief + * Creates new Attachment from a file and link it to the given Document. + * + * Returns following error codes: + * + * * `0` -- no error + * * `1` -- an error + * * `2` -- file not found + * * `3` -- permission denied + * + * In case of a non-zero return value, error message can be retrieved using + * `ditto_error_message` function. + */ +uint32_t +/* fn */ ditto_new_attachment_from_file ( + CDitto_t const * ditto, + char const * source_path, + AttachmentFileOperation_t file_operation, + CAttachment_t * out_attachment); + +/** \brief + * Request data showing who we are connected to in a user-friendly way. + */ +char * +/* fn */ ditto_presence_v1 ( + CDitto_t const * ditto); + +/** \brief + * Request data showing who we are connected to in a user-friendly way. + */ +char * +/* fn */ ditto_presence_v2 ( + CDitto_t const * ditto); + +/** \brief + * Request data showing who we are connected to in a user-friendly way. + */ +char * +/* fn */ ditto_presence_v3 ( + CDitto_t const * ditto); + +/** \brief + * `&'lt [T]` but with a guaranteed `#[repr(C)]` layout. + * + * # C layout (for some given type T) + * + * ```c + * typedef struct { + * // Cannot be NULL + * T * ptr; + * size_t len; + * } slice_T; + * ``` + * + * # Nullable pointer? + * + * If you want to support the above typedef, but where the `ptr` field is + * allowed to be `NULL` (with the contents of `len` then being undefined) + * use the `Option< slice_ptr<_> >` type. + */ +typedef struct slice_ref_char_const_ptr { + /** \brief + * Pointer to the first element (if any). + */ + char const * const * ptr; + + /** \brief + * Element count + */ + size_t len; +} slice_ref_char_const_ptr_t; + +/** */ +U64Result_t +/* fn */ ditto_queries_hash ( + CDitto_t const * ditto, + slice_ref_char_const_ptr_t coll_names, + slice_ref_char_const_ptr_t queries); + +/** */ +BoxedCharPtrResult_t +/* fn */ ditto_queries_hash_mnemonic ( + CDitto_t const * ditto, + slice_ref_char_const_ptr_t coll_names, + slice_ref_char_const_ptr_t queries); + +/** */ +typedef struct CReadTransactionResult { + /** */ + int32_t status_code; + + /** */ + CReadTransaction_t * txn; +} CReadTransactionResult_t; + +/** */ +CReadTransactionResult_t +/* fn */ ditto_read_transaction ( + CDitto_t const * ditto); + +/** */ +void +/* fn */ ditto_read_transaction_free ( + CReadTransaction_t * transaction); + +/** \brief + * Guard for a specific disk usage callback; drop to "unregister" the callback. + */ +typedef struct DiskUsageObserver DiskUsageObserver_t; + +/** \brief + * Register a function that will be called every time + * the given path directory or file is updated. + * Return a handle that should be given to ditto_release_disk_usage_callback + * to drop the callback + */ +DiskUsageObserver_t * +/* fn */ ditto_register_disk_usage_callback ( + CDitto_t const * ditto, + FsComponent_t component, + void * ctx, + void (*retain)(void *), + void (*release)(void *), + void (*c_cb)(void *, slice_ref_uint8_t)); + +/** \brief + * Register a function that will be called every time the connection state + * of remote peers changes. + */ +void +/* fn */ ditto_register_presence_callback_v3 ( + CDitto_t const * ditto, + void * ctx, + void (*retain)(void *), + void (*release)(void *), + void (*c_cb)(void *, char const *)); + +/** \brief + * Register a function that will be called every time the connection state + * of remote peers changes. + */ +void +/* fn */ ditto_register_presence_callback_v3_owned ( + CDitto_t const * ditto, + void * ctx, + void (*retain)(void *), + void (*release)(void *), + void (*c_cb)(void *, char *)); + +/** \brief + * Register a function that will be called every time the connection state + * of remote peers changes. + * REMOVE THIS IN V4 + */ +void +/* fn */ ditto_register_presence_v1_callback ( + CDitto_t const * ditto, + void * ctx, + void (*retain)(void *), + void (*release)(void *), + void (*c_cb)(void *, char const *)); + +/** \brief + * Register a function that will be called every time the connection state + * of remote peers changes. + * REMOVE THIS IN V4 + */ +void +/* fn */ ditto_register_presence_v2_callback ( + CDitto_t const * ditto, + void * ctx, + void (*retain)(void *), + void (*release)(void *), + void (*c_cb)(void *, char const *)); + +/** \brief + * User-friendly categories describing where condition events arose + */ +typedef enum ConditionSource { + /** */ + CONDITION_SOURCE_BLUETOOTH, + /** */ + CONDITION_SOURCE_TCP, + /** */ + CONDITION_SOURCE_AWDL, + /** */ + CONDITION_SOURCE_MDNS, + /** */ + CONDITION_SOURCE_WIFI_AWARE, +} ConditionSource_t; + +/** \brief + * Register a function that will be called every time a transport changes + * condition. + * + * This should drive UI indicators to indicate overall connectivity via methods + * such as BLE, WiFi, or an internet-based server on a dedicated + * WsConnectTransport. + */ +void +/* fn */ ditto_register_transport_condition_changed_callback ( + CDitto_t const * ditto, + void * ctx, + void (*retain)(void *), + void (*release)(void *), + void (*c_cb)(void *, ConditionSource_t, TransportCondition_t)); + +/** \brief + * Release the disk usage observer obtained from `ditto_register_disk_usage_callback` + */ +void +/* fn */ ditto_release_disk_usage_callback ( + DiskUsageObserver_t * _handle); + +/** */ +int32_t +/* fn */ ditto_remove_subscription ( + CDitto_t const * ditto, + char const * collection, + char const * query, + slice_ref_uint8_t query_args_cbor, + slice_ref_COrderByParam_t order_by, + int32_t limit, + uint32_t offset); + +/** */ +typedef struct CancelTokenResult { + /** */ + int32_t status_code; + + /** */ + int64_t cancel_token; +} CancelTokenResult_t; + +/** \brief + * Register a new callback to resolve the attachment. + * + * The callback status could be: + * * `0` -- complete, with a handle that can be used in ditto_get_complete_attachment_path + * * `1` -- progress, with additional info about bytes downloaded and total bytes to download + * * `2` -- deleted, as the attachment ceased to exist in the doc database + * + * A cancel token with value `0` represents nil/invalid. This means either an error + * occured, or the token has already been fetched or deleted. Note that in this case + * the `on_complete_cb` and `on_deleted_cb` callbacks _may_ be called synchronously + * even before this function completes. + * + * Returns following error codes: + * + * * `0` -- no error + * * `1` -- an error + * * `2` -- invalid id + * * `3` -- attachment not found + * + * In case of a non-zero status code, error message can be retrieved using + * `ditto_error_message` function. + */ +CancelTokenResult_t +/* fn */ ditto_resolve_attachment ( + CDitto_t const * ditto, + slice_ref_uint8_t id, + void * ctx, + void (*retain)(void *), + void (*release)(void *), + void (*on_complete_cb)(void *, AttachmentHandle_t *), + void (*on_progress_cb)(void *, uint64_t, uint64_t), + void (*on_deleted_cb)(void *)); + +/** */ +uint32_t +/* fn */ ditto_run_garbage_collection ( + CDitto_t const * ditto); + +/** */ +bool +/* fn */ ditto_sdk_transports_android_is_inited (void); + +/** */ +char * +/* fn */ ditto_sdk_transports_android_missing_permissions (void); + +/** */ +void * +/* fn */ ditto_sdk_transports_android_missing_permissions_jni_array (void); + +/** */ +void +/* fn */ ditto_sdk_transports_android_shutdown (void); + +/** */ +typedef enum DittoSdkTransportsError { + /** */ + DITTO_SDK_TRANSPORTS_ERROR_NONE = 0, + /** */ + DITTO_SDK_TRANSPORTS_ERROR_GENERIC = 1, + /** */ + DITTO_SDK_TRANSPORTS_ERROR_UNAVAILABLE = 2, + /** */ + DITTO_SDK_TRANSPORTS_ERROR_MISSING_BLUETOOTH_INFO_PLIST_ENTRY = 3, + /** */ + DITTO_SDK_TRANSPORTS_ERROR_MISSING_BLUETOOTH_U_I_BACKGROUND_MODES_INFO_PLIST_ENTRY = 4, + /** */ + DITTO_SDK_TRANSPORTS_ERROR_MISSING_LOCAL_NETWORK_INFO_PLIST_ENTRY = 5, + /** */ + DITTO_SDK_TRANSPORTS_ERROR_MISSING_BONJOUR_SERVICES_INFO_PLIST_ENTRY = 6, +} DittoSdkTransportsError_t; + +/** */ +char const * +/* fn */ ditto_sdk_transports_error_description ( + DittoSdkTransportsError_t error); + +/** \brief + * Frees the output of `ditto_sdk_transports_error_new`. + */ +void +/* fn */ ditto_sdk_transports_error_free ( + DittoSdkTransportsError_t * it); + +/** \brief + * Obtain a fresh heap-allocated pointer to a (dummy) `DittoSdkTransportsError`. + * + * This is useful for languages with no access to inline/stack allocations and/or unable + * to produce pointers themselves. + */ +DittoSdkTransportsError_t * +/* fn */ ditto_sdk_transports_error_new (void); + +/** \brief + * Obtain the value of a pointer to `DittoSdkTransportsError` + */ +DittoSdkTransportsError_t +/* fn */ ditto_sdk_transports_error_value ( + DittoSdkTransportsError_t const * it); + +/** */ +bool +/* fn */ ditto_sdk_transports_init ( + DittoSdkTransportsError_t * out_error); + +/** \brief + * Must be called from the main thread, before `ditto_sdk_transports_init`. + * Calling this from a background thread can result in "Error finding class live/ditto/...". + * This is because the class loader for that thread may be the system one, + * so attempting to find app-specific classes will fail. + * More info at: + */ +bool +/* fn */ ditto_sdk_transports_set_android_context ( + void * env, + void * context); + +/** */ +char * +/* fn */ ditto_set_device_name ( + CDitto_t const * ditto, + char const * device_name); + +/** \brief + * Shut down Ditto. + * + * All of the `Peer`'s subsystems are told to shut down, which includes, but is not limited to, the + * following happening: + * - all advertisers shut down + * - all servers stopped + * - all TCP listeners stopped + * - outbound replication stopped + * + * All of the live queries associated with the Ditto instance are also stopped. Any file lock + * handles are dropped once any long-running tasks have had a chance to complete. + */ +void +/* fn */ ditto_shutdown ( + CDitto_t const * ditto); + +/** \brief + * Indicates whether small peer info feature is currently enabled. + * + * `true` if enabled, and `false` if currently disabled. Small peer info + * consists of information scraped into a system collection at repeated + * interval. + * + * Note: whether the background ingestion process is enabled or not is a + * separate decision to whether this information is allowed to sync to other + * peers (including the big peer). This is controlled by [`SyncScope`]s. For + * the FFI function to get the current sync scope, see + * [`ditto_small_peer_info_get_sync_scope`]. By default, the small peer info + * document will sync to the big peer. + * + * [`SyncScope`]: DittoSmallPeerInfoSyncScope + */ +bool +/* fn */ ditto_small_peer_info_get_is_enabled ( + CDitto_t const * ditto); + +/** \brief + * Gets the JSON metadata being used in the small peer info document. + * + * The metadata is free-form, user-provided JSON data that is inserted into + * the small peer info system doc at each collection interval. The data has no + * schema so it is returned as a c_string. We validated the incoming data with + * our constraints, and we do not modify this data, so the same constraints + * hold. The validation constraints are: + * 1. The size of the metadata does not exceed [`SMALL_PEER_INFO_METADATA_SIZE_BYTES_MAX`] + * 2. The metadata can be parsed as a JSON string and its max depth does not exceed + * [`SMALL_PEER_INFO_METADATA_DEPTH_MAX`] + * 3. The metadata represents a JSON object that can be deserialized into a Map + * + * An empty JSON object string is returned if the data has not been set. + * + * This does not return the metadata from persistent storage. It only returns + * the data that has been set to be used by the collector + * (via [`ditto_small_peer_info_set_metadata`]) at each collector + */ +char * +/* fn */ ditto_small_peer_info_get_metadata ( + CDitto_t const * ditto); + +/** \brief + * Which peers to replicate the `__small_peer_info` collection to. + * + * The syncing behavior is dictated by internal [`SyncScope`]s. + * + * By default, the small peer info will sync with the big peer, as dictated by + * the default `BigPeerOnly` scope. + * + * NOTE: Currently SDKs can only set [`BigPeerOnly`] or [`LocalPeerOnly`] sync + * scopes. [`AllPeers`] and [`SmallPeersOnly`] sync scopes are currently + * unsupported. Support for `AllPeers` and `SmallPeersOnly` will be added in + * the future, but for that we will need an API for users to subscribe to the + * small peer info of other peers. + * + * [`SyncScope`]: ::ditto_store::sync_scope::SyncScope + * [`BigPeerOnly`]: ::ditto_store::sync_scope::SyncScope::BigPeerOnly + * [`LocalPeerOnly`]: ::ditto_store::sync_scope::SyncScope::LocalPeerOnly + * [`AllPeers`]: ::ditto_store::sync_scope::SyncScope::AllPeers + * [`SmallPeersOnly`]: ::ditto_store::sync_scope::SyncScope::SmallPeersOnly + */ +typedef enum DittoSmallPeerInfoSyncScope { + /** */ + DITTO_SMALL_PEER_INFO_SYNC_SCOPE_BIG_PEER_ONLY, + /** */ + DITTO_SMALL_PEER_INFO_SYNC_SCOPE_LOCAL_PEER_ONLY, +} DittoSmallPeerInfoSyncScope_t; + +/** \brief + * Gets the sync scope for the Small Peer Info collection. + * + * A collection's [SyncScope] determines which "kind" of peers it will + * replicate to. The collection does not need to exist locally for this + * function to succeed. If no custom sync scope has been set or if the + * collection does not exist, the returned scope will be the default + * [`LocalPeerOnly`]. Currently, only [`BigPeerOnly`] and [`LocalPeerOnly`] are + * supported for small peer info; see [`DittoSmallPeerInfoSyncScope`] for + * details. + * + * # Return Values + * + * - Always returns a sync scope - either the custom override set by the user, or the default + * scope. + * + * The function currently has no error conditions. + * + * [`SyncScope`]: DittoSmallPeerInfoSyncScope + * [`BigPeerOnly`]: DittoSmallPeerInfoSyncScope::BigPeerOnly + * [`LocalPeerOnly`]: DittoSmallPeerInfoSyncScope::LocalPeerOnly + */ +DittoSmallPeerInfoSyncScope_t +/* fn */ ditto_small_peer_info_get_sync_scope ( + CDitto_t const * ditto); + +/** \brief + * Enables or disables the small peer info feature. + * + * Small peer info consists of information scraped into a system collection at + * repeated intervals. + * + * Note: whether the background ingestion process is enabled or not is a + * separate decision to whether this information is allowed to sync to other + * peers (including the big peer). This is controlled by [`SyncScope`]s. For + * the FFI function to set sync scopes, see + * [`ditto_small_peer_info_set_sync_scope`]. By default, the small peer info + * document will sync to the big peer. + * + * [`SyncScope`]: DittoSmallPeerInfoSyncScope + */ +void +/* fn */ ditto_small_peer_info_set_enabled ( + CDitto_t const * ditto, + bool set_enabled); + +/** \brief + * Sets the JSON metadata to be used in the small peer info document. + * + * The metadata is free-form, user-provided JSON data that is inserted into + * the small peer info system doc at each collection interval. The data has no + * schema and is provided as a char_p, so data validation must be performed + * here. We validate: + * 1. The size of the metadata does not exceed [`SMALL_PEER_INFO_METADATA_SIZE_BYTES_MAX`] + * 2. The metadata can be parsed as a JSON string and its max depth does not exceed + * [`SMALL_PEER_INFO_METADATA_DEPTH_MAX`] + * 3. The metadata represents a JSON object that can be deserialized into a Map + * + * # Return Values + * + * - Returns `0` if the input passes validation and is successfully set to be + * used in the small peer info document. + * - Returns `-1` in case the observability subsystem is unavailable (which + * should never be the case for the small peer). + * - Returns `1` if the amount of data is too large according to our + * self-imposed limits. + * - Returns `2` if the amount of JSON data is too nested according to our + * self-imposed limits, or if the data cannot be parsed to determine the depth. + * - Returns `3` if the data cannot be parsed as a Map + */ +int32_t +/* fn */ ditto_small_peer_info_set_metadata ( + CDitto_t const * ditto, + char const * metadata); + +/** \brief + * Set the sync scope for the Small Peer Info collection. + * + * A collection's [SyncScope] determines which "kind" of peers it will + * replicate to. This function can be used even if the Small Peer Info + * collection does not yet exist. Currently, only [`BigPeerOnly`] and + * [`LocalPeerOnly`] sync scopes are supported for small peer info; see + * [`DittoSmallPeerInfoSyncScope`] for details. + * + * The function currently has no error conditions. + * + * [`SyncScope`]: DittoSmallPeerInfoSyncScope + * [`BigPeerOnly`]: DittoSmallPeerInfoSyncScope::BigPeerOnly + * [`LocalPeerOnly`]: DittoSmallPeerInfoSyncScope::LocalPeerOnly + */ +void +/* fn */ ditto_small_peer_info_set_sync_scope ( + CDitto_t const * ditto, + DittoSmallPeerInfoSyncScope_t scope); + +/** \brief + * Allows you to free the vector without dropping the Documents + */ +void +/* fn */ ditto_sparse_vec_documents_free ( + Vec_CDocument_ptr_t docs); + +/** */ +void +/* fn */ ditto_transports_ble_advertisement_heard ( + TransportHandle_BlePlatformEvent_t const * handle, + uint8_16_array_t const * peripheral_uuid, + slice_ref_uint8_t manufacturer_data, + bool manufacturer_data_includes_id, + slice_ref_uint8_t name, + float rssi); + +/** \brief + * Request bulk status information about the transports. Intended mostly for + * statistical or debugging purposes. + */ +char * +/* fn */ ditto_transports_diagnostics ( + CDitto_t const * ditto); + +/** \brief + * The whole point + */ +int32_t +/* fn */ ditto_unregister_and_free_legacy_subscription ( + CDitto_t const * ditto, + LegacySubscriptionHandle_t * handle); + +/** */ +uint32_t +/* fn */ ditto_validate_document_id ( + slice_ref_uint8_t cbor, + slice_boxed_uint8_t * out_cbor); + +/** */ +void +/* fn */ ditto_vec_char_ptr_free ( + Vec_char_ptr_t char_p); + +/** */ +void +/* fn */ ditto_vec_slice_boxed_uint8_t_free ( + Vec_slice_boxed_uint8_t slice_boxed); + +/** */ +typedef enum LicenseVerificationResult { + /** */ + LICENSE_VERIFICATION_RESULT_LICENSE_OK = 0, + /** */ + LICENSE_VERIFICATION_RESULT_VERIFICATION_FAILED = -1, + /** */ + LICENSE_VERIFICATION_RESULT_LICENSE_EXPIRED = -2, + /** */ + LICENSE_VERIFICATION_RESULT_UNSUPPORTED_FUTURE_VERSION = -3, +} LicenseVerificationResult_t; + +/** \brief + * Legacy version of `dittoffi_ditto_set_offline_only_license_token_throws`. + * + * Verify a base64 encoded license string + * + * # Parameters + * - `ditto`: The Ditto instance to activate. + * - `license`: A base64 encoded license string. This should be the output of + * `ditto_licenser::license_mgr::generate()`. + * - `out_error_msg`: An optional error message out parameter which will be written to if the + * license verification. This error message is simplified and appropriate to show directly to an + * SDK user. + */ +LicenseVerificationResult_t +/* fn */ ditto_verify_license ( + CDitto_t const * ditto, + char const * license, + char * * out_err_msg); + +/** \brief + * The platform tells Rust that it should go offline. + */ +void +/* fn */ ditto_wifi_aware_client_go_offline_request ( + TransportHandle_WifiAwarePlatformEvent_t const * handle); + +/** \brief + * The platform tells Rust that it should go online (because the platform has attached to the WiFi + * Aware session) + */ +void +/* fn */ ditto_wifi_aware_client_go_online_request ( + TransportHandle_WifiAwarePlatformEvent_t const * handle); + +/** \brief + * The platform advises Rust that we have resolved a peer's hostname and port + */ +void +/* fn */ ditto_wifi_aware_client_network_did_create ( + TransportHandle_WifiAwarePlatformEvent_t const * handle, + char const * announce_string, + char const * hostname, + uint16_t port); + +/** \brief + * The platform advises Rust that a peer has been identified. + */ +void +/* fn */ ditto_wifi_aware_client_peer_appeared ( + TransportHandle_WifiAwarePlatformEvent_t const * handle, + char const * announce_string); + +/** \brief + * The platform advises Rust that we failed to resolve a peer's hostname and + * port + */ +void +/* fn */ ditto_wifi_aware_client_peer_did_not_connect ( + TransportHandle_WifiAwarePlatformEvent_t const * handle, + char const * announce_string); + +/** \brief + * The platform advises Rust that a peer's service has disappeared from WifiAware. + */ +void +/* fn */ ditto_wifi_aware_client_peer_disappeared ( + TransportHandle_WifiAwarePlatformEvent_t const * handle, + char const * announce_string); + +/** \brief + * The platform advises Rust that the status of searching for services has + * changed. + */ +void +/* fn */ ditto_wifi_aware_client_scanning_state_changed ( + TransportHandle_WifiAwarePlatformEvent_t const * handle, + OnlineState_t state, + TransportCondition_t condition); + +/** \brief + * The platform advises Rust that the status of publishing our service has + * changed. + */ +void +/* fn */ ditto_wifi_aware_server_advertising_state_changed ( + TransportHandle_WifiAwarePlatformEvent_t const * handle, + OnlineState_t state, + TransportCondition_t condition); + +/** \brief + * The platform tells Rust that it should go offline. + */ +void +/* fn */ ditto_wifi_aware_server_go_offline_request ( + TransportHandle_WifiAwarePlatformEvent_t const * handle); + +/** \brief + * The platform tells Rust that it should go online (because the platform has attached to the WiFi + * Aware session) + */ +void +/* fn */ ditto_wifi_aware_server_go_online_request ( + TransportHandle_WifiAwarePlatformEvent_t const * handle); + +/** \brief + * The platform tells Rust that a WiFi Aware network has been added + */ +void +/* fn */ ditto_wifi_aware_server_network_scope_id_added ( + TransportHandle_WifiAwarePlatformEvent_t const * handle, + uint32_t scope_id); + +/** \brief + * The platform tells Rust that a WiFi Aware network has been removed + */ +void +/* fn */ ditto_wifi_aware_server_network_scope_id_removed ( + TransportHandle_WifiAwarePlatformEvent_t const * handle, + uint32_t scope_id); + +/** \brief + * The SDK requests to drop its handle to the WifiAware transport + * + * At some point dropping this events channel will effectively shut down and + * remove the Transport. At time of writing, the Transport is still owned + * within Peer. + */ +void +/* fn */ ditto_wifi_aware_transport_free_handle ( + TransportHandle_WifiAwarePlatformEvent_t * handle); + +/** */ +typedef struct CWriteTransactionResult { + /** */ + int32_t status_code; + + /** */ + CWriteTransaction_t * txn; +} CWriteTransactionResult_t; + +/** */ +CWriteTransactionResult_t +/* fn */ ditto_write_transaction ( + CDitto_t const * ditto, + char const * log_hint); + +/** \brief + * Sets some arbitrary metadata on a write transaction. + * + * This is currently only useful and relevant if history tracking is enabled in + * the store that the write transaction relates to. If history tracking is + * enabled and metadata is set on a write transaction then the document + * inserted into the `__history` collection will have (at least) the provided + * metadata stored under the `meta` key of the document. + * + * Return codes: + * + * * `0` -- success + * * `1` -- invalid metadata CBOR + * * `-1` -- valid metadata CBOR but the CBOR does not represent an object + * * `-2` -- [js only] missing `await`s + */ +int32_t +/* fn */ ditto_write_transaction_add_metadata ( + CWriteTransaction_t * transaction, + slice_ref_uint8_t metadata_cbor); + +/** \brief + * Commits the given txn. + * + * [js only]: returns -1 on failure, in case of missing `await`s. + */ +int32_t +/* fn */ ditto_write_transaction_commit ( + CDitto_t const * _ditto, + CWriteTransaction_t * transaction); + +/** \brief + * Frees the txn handle, *falling back* to a rollback, which requires + * `async`-in-drop. Only useful as a safeguard for RAII-with-proper-ownership + * languages, _i.e._, the Rust SDK. + * + * For other languages, favor using `ditto_write_transaction_rollback` + */ +void +/* fn */ ditto_write_transaction_free ( + CWriteTransaction_t * transaction); + +/** \brief + * For SDKs using the batched/scoped write-txn APIs, if an error occurs + * mid-operation (_e.g._, customer callback throwing an exception), then the + * txn must not be committed, but it ought to be disposed of, _via_ a rollback. + * + * [js only]: returns -1 on failure, in case of missing `await`s. + */ +int32_t +/* fn */ ditto_write_transaction_rollback ( + CDitto_t const * _ditto, + CWriteTransaction_t * transaction); + +/** \brief + * This is not meant to be part of the SDK surface: it's a shared secret that SDKs use when + * constructing a "login provider" for development (fka "online playground"). + */ +char const * +/* fn */ dittoffi_DITTO_DEVELOPMENT_PROVIDER (void); + +/** */ +void +/* fn */ dittoffi_authentication_register_local_server_backend ( + CDitto_t const * ditto, + void * ctx, + void (*retain)(void *), + void (*release)(void *), + void (*auth_cb)(void *, CAuthServerAuthRequest_t *, slice_ref_uint8_t), + void (*refresh_cb)(void *, CAuthServerRefreshRequest_t *, slice_ref_uint8_t)); + +/** */ +typedef struct dittoffi_authentication_status dittoffi_authentication_status_t; + +/** \brief + * Dispose of the auth status. + */ +void +/* fn */ dittoffi_authentication_status_free ( + dittoffi_authentication_status_t * __arg_0); + +/** \brief + * Extract the authenticated state. + */ +bool +/* fn */ dittoffi_authentication_status_is_authenticated ( + dittoffi_authentication_status_t const * auth_status); + +/** \brief + * Extract the user ID. + */ +char * +/* fn */ dittoffi_authentication_status_user_id ( + dittoffi_authentication_status_t const * auth_status); + +/** \brief + * To be used when base64 encoding or decoding. + * + * When encoding, specifies whether to produce padded or unpadded output. When decoding, specifies + * whether or not to accept a padded input string. + */ +typedef enum Base64PaddingMode { + /** */ + BASE64_PADDING_MODE_PADDED = 1, + /** */ + BASE64_PADDING_MODE_UNPADDED, +} Base64PaddingMode_t; + +/** \brief + * Encodes a slice of bytes as a URL-safe base64 string. The caller can specify whether or not they + * want the output to be padded. + * + * The returned string needs to be freed by the caller using `ditto_c_string_free`. + */ +char * +/* fn */ dittoffi_base64_encode ( + slice_ref_uint8_t bytes, + Base64PaddingMode_t padding_mode); + +/** */ +BoolResult_t +/* fn */ dittoffi_check_doc_cbor_against_provided_cbor ( + slice_ref_uint8_t document_cbor, + slice_ref_uint8_t provided_cbor); + +/** \brief + * Opaque type encapsulating the different args provided to the `.on_connecting()` + * callback in a future-proof fashion. + * + * This is the lowest-level "wrapped" callback, i.e. the most convenient set of types for + * passing across the FFI barrier. + * + * Typically, SDKs will have a wrapping method that does the (de)serialization to/from CBOR + * to create a more user-friendly function signature for `connecting_peer`. + */ +typedef struct dittoffi_connection_request dittoffi_connection_request_t; + +/** */ +typedef enum dittoffi_connection_request_authorization { + /** */ + DITTOFFI_CONNECTION_REQUEST_AUTHORIZATION_DENY, + /** */ + DITTOFFI_CONNECTION_REQUEST_AUTHORIZATION_ALLOW, +} dittoffi_connection_request_authorization_t; + +/** \brief + * Answer/output of the `connection_request_handler`, communicated through the `connection_request` + * object. + * `true` allows the connection, `false` rejects it. + */ +void +/* fn */ dittoffi_connection_request_authorize ( + dittoffi_connection_request_t const * r, + dittoffi_connection_request_authorization_t authorized); + +/** \brief + * A simplified [`ConnectionType`] exposed to the SDKs + */ +typedef enum dittoffi_connection_type { + /** */ + DITTOFFI_CONNECTION_TYPE_BLUETOOTH, + /** */ + DITTOFFI_CONNECTION_TYPE_ACCESS_POINT, + /** */ + DITTOFFI_CONNECTION_TYPE_P2_P_WI_FI, + /** */ + DITTOFFI_CONNECTION_TYPE_WEB_SOCKET, +} dittoffi_connection_type_t; + +/** \brief + * The connection type being used to connect with the connecting peer. + */ +dittoffi_connection_type_t +/* fn */ dittoffi_connection_request_connection_type ( + dittoffi_connection_request_t const * r); + +/** */ +void +/* fn */ dittoffi_connection_request_free ( + dittoffi_connection_request_t * __arg_0); + +/** \brief + * Getter for the `identity_service` as a JSON (string / UTF-8 data). + */ +slice_ref_uint8_t +/* fn */ dittoffi_connection_request_identity_service_metadata_json ( + dittoffi_connection_request_t const * r); + +/** \brief + * The connecting peer's (pub) key (empty for legacy peers), hex-encoded as a string + */ +char * +/* fn */ dittoffi_connection_request_peer_key_string ( + dittoffi_connection_request_t const * r); + +/** \brief + * Getter for the `peer_metadata` as a JSON (string / UTF-8 data). + */ +slice_ref_uint8_t +/* fn */ dittoffi_connection_request_peer_metadata_json ( + dittoffi_connection_request_t const * r); + +/** \brief + * Generates 32 random bytes and returns them as a base64 (URL safe and padded) encoded string. + * + * The returned string needs to be freed using `ditto_c_string_free`. + * + * Note: This is currently only being used by the JS SDK. Any other usage of this function is + * likely indicative of a deficiency in the API being provided to SDKs. + */ +char * +/* fn */ dittoffi_crypto_generate_secure_random_token (void); + +/** \brief + * An FFI appropriate, opaque representation of a differ. + */ +typedef struct dittoffi_differ dittoffi_differ_t; + +/** \brief + * An individual result item from a query result (which holds a list of these items). + */ +typedef struct dittoffi_query_result_item dittoffi_query_result_item_t; + +/** \brief + * `&'lt [T]` but with a guaranteed `#[repr(C)]` layout. + * + * # C layout (for some given type T) + * + * ```c + * typedef struct { + * // Cannot be NULL + * T * ptr; + * size_t len; + * } slice_T; + * ``` + * + * # Nullable pointer? + * + * If you want to support the above typedef, but where the `ptr` field is + * allowed to be `NULL` (with the contents of `len` then being undefined) + * use the `Option< slice_ptr<_> >` type. + */ +typedef struct slice_ref_dittoffi_query_result_item_ptr { + /** \brief + * Pointer to the first element (if any). + */ + dittoffi_query_result_item_t * const * ptr; + + /** \brief + * Element count + */ + size_t len; +} slice_ref_dittoffi_query_result_item_ptr_t; + +/** */ +typedef slice_boxed_uint8_t dittoffi_cbor_data_t; + +/** \brief + * Generate a diff between the given items and the differ's current list of items. + * + * The diff is returned as a CBOR serialized object, in the form of an object like this: + * + * ```json + * { + * "insertions": [0, 1], + * "deletions": [2, 3], + * "updates": [4, 5], + * "moves": [[6, 7], [8, 9]] + * } + * ``` + * + * Note that the `moves` array is an array of arrays, where each inner array is a pair of indices + * representing `from` and `to` indices. The `from` index is the first element in the array and the + * `to` index is the second element in the array, for each array in the `moves` array. + */ +dittoffi_cbor_data_t +/* fn */ dittoffi_differ_diff ( + dittoffi_differ_t const * differ, + slice_ref_dittoffi_query_result_item_ptr_t items); + +/** \brief + * Free the differ. + */ +void +/* fn */ dittoffi_differ_free ( + dittoffi_differ_t * differ); + +/** \brief + * Returns the identity key path at the given index in the differ's list of identity key paths. + * + * # Safety + * + * The caller must ensure that the index is valid (i.e. less than the count of identity key paths). + */ +char * +/* fn */ dittoffi_differ_identity_key_path_at ( + dittoffi_differ_t const * differ, + size_t idx); + +/** \brief + * Returns the number of identity key paths in use by the differ. + */ +size_t +/* fn */ dittoffi_differ_identity_key_path_count ( + dittoffi_differ_t const * differ); + +/** \brief + * Create a new differ. + * + * This differ will use the default identity key paths list, which is just `["_id"]`. This is the + * default because the legacy query builder differ code uses the equivalent to this. + */ +dittoffi_differ_t * +/* fn */ dittoffi_differ_new (void); + +/** \brief + * The ditto error type, opaque. + */ +typedef struct dittoffi_error dittoffi_error_t; + +/** */ +typedef struct dittoffi_result_dittoffi_differ_ptr { + /** \brief + * Non-`NULL` pointer to opaque object on error, `NULL` otherwise. + */ + dittoffi_error_t * error; + + /** \brief + * When no error occurred, the success value payload can be retrieved here. + * + * Otherwise, the value is to be ignored. + */ + dittoffi_differ_t * success; +} dittoffi_result_dittoffi_differ_ptr_t; + +/** \brief + * Create a new differ using the provided identity key paths. + */ +dittoffi_result_dittoffi_differ_ptr_t +/* fn */ dittoffi_differ_new_with_identity_key_paths_throws ( + slice_ref_char_const_ptr_t identity_key_paths); + +/** \brief + * Internal helper function to do integration testing of stacktrace generation in the SDKs. + */ +char * +/* fn */ dittoffi_ditto_capture_stack_trace_string_internal (void); + +/** \brief + * Getter for `DittoConfig` serialized as CBOR, according to the DittoConfig.schema.json schema. + */ +slice_boxed_uint8_t +/* fn */ dittoffi_ditto_config ( + CDitto_t const * ditto); + +/** */ +typedef struct dittoffi_result_uint64 { + /** \brief + * Non-`NULL` pointer to opaque object on error, `NULL` otherwise. + */ + dittoffi_error_t * error; + + /** \brief + * When no error occurred, the success value payload can be retrieved here. + * + * Otherwise, the value is to be ignored. + */ + uint64_t success; +} dittoffi_result_uint64_t; + +/** */ +dittoffi_result_uint64_t +/* fn */ dittoffi_ditto_get_system_parameter_u64 ( + CDitto_t const * ditto, + char const * parameter_name); + +/** \brief + * Returns whether or not the Ditto instance has been activated with a valid license token. + * + * When a Ditto instance is using non-online identity types then this will always return `true`. + */ +bool +/* fn */ dittoffi_ditto_is_activated ( + CDitto_t const * ditto); + +/** */ +bool +/* fn */ dittoffi_ditto_is_sync_active ( + CDitto_t const * ditto); + +/** \brief + * Whether or not the default values for parts of a `TransportConfig` that could be + * platform-dependent should be determined based on the platform that the SDK is running on. + * + * For example, if `PlatformDependent` is chosen for the `TransportConfigMode`, then the default + * value for whether AWDL would be enabled would be based on whether the SDK is running on an Apple + * platform. Specifically, if you were running on an iOS device, for example, then AWDL would + * default to enabled, but if you were using the .NET SDK running on a Windows machine then AWDL + * would default to false. + * + * If `TransportConfigMode::PlatformIndependent` is chosen, then the default value would always be + * true (at least in the case of whether or not AWDL is enabled). + * + * This really only exists to cater for the difference in behavior between the JS (and Flutter) and + * other SDKs. The JS SDK's default value for platform-specific transports will be determined by + * the platform that the JS SDK is running on, whereas the other SDKs will default to the same + * value regardless of the platform that they are running on. + */ +typedef enum TransportConfigMode { + /** */ + TRANSPORT_CONFIG_MODE_PLATFORM_DEPENDENT, + /** */ + TRANSPORT_CONFIG_MODE_PLATFORM_INDEPENDENT, +} TransportConfigMode_t; + +/** */ +typedef struct dittoffi_result_CDitto_ptr { + /** \brief + * Non-`NULL` pointer to opaque object on error, `NULL` otherwise. + */ + dittoffi_error_t * error; + + /** \brief + * When no error occurred, the success value payload can be retrieved here. + * + * Otherwise, the value is to be ignored. + */ + CDitto_t * success; +} dittoffi_result_CDitto_ptr_t; + +/** \brief + * `Box Ret>` + */ +typedef struct BoxDynFnMut1_void_dittoffi_result_CDitto_ptr { + /** */ + void * env_ptr; + + /** */ + void (*call)(void *, dittoffi_result_CDitto_ptr_t); + + /** */ + void (*free)(void *); +} BoxDynFnMut1_void_dittoffi_result_CDitto_ptr_t; + +/** \brief + * Continuation (`repr_c::Box` FFI-safe callback) to be used as + * the *completion handler* for conceptually-`async` APIs. + */ +typedef BoxDynFnMut1_void_dittoffi_result_CDitto_ptr_t continuation_dittoffi_result_CDitto_ptr_t; + +/** \brief + * One of the two supported factory functions / constructors for opening a Ditto instance. + * + * * `config_cbor` - `DittoConfig` serialized as CBOR, according to the DittoConfig.schema.json + * schema + * + * Nothing interesting happens in this function: it simply calls `Ditto::new` after creating a + * `TaskRuntime`. + * + * See: `dittoffi_ditto_open_throws` for a synchronous version. + */ +void +/* fn */ dittoffi_ditto_open_async_throws ( + slice_ref_uint8_t config_cbor, + TransportConfigMode_t transport_config_mode, + continuation_dittoffi_result_CDitto_ptr_t continuation); + +/** \brief + * One of the two supported factory functions / constructors for opening a Ditto instance. + * + * * `config_cbor` - `DittoConfig` serialized as CBOR, according to the DittoConfig.schema.json + * schema + * + * Nothing interesting happens in this function: it simply calls *and blocks on* `Ditto::new` after + * creating a `TaskRuntime`. + * + * See: `dittoffi_ditto_open_async_throws` for an asynchronous version. + */ +dittoffi_result_CDitto_ptr_t +/* fn */ dittoffi_ditto_open_throws ( + slice_ref_uint8_t config_cbor, + TransportConfigMode_t transport_config_mode); + +/** \brief + * `Box Ret>` + */ +typedef struct BoxDynFnMut1_void_dittoffi_authentication_status_ptr { + /** */ + void * env_ptr; + + /** */ + void (*call)(void *, dittoffi_authentication_status_t *); + + /** */ + void (*free)(void *); +} BoxDynFnMut1_void_dittoffi_authentication_status_ptr_t; + +/** */ +typedef BoxDynFnMut1_void_dittoffi_authentication_status_ptr_t dittoffi_authentication_status_handler_t; + +/** */ +void +/* fn */ dittoffi_ditto_set_authentication_status_handler ( + CDitto_t const * ditto, + dittoffi_authentication_status_handler_t handler); + +/** \brief + * Set whether or not the cloud sync should be enabled for the Ditto instance. + * + * This is a bit of a hack for now. It should only be called once, at the start of a (SDK) Ditto's + * instance's lifecycle. Calling this ensures that correct transport configs will be computed when + * using the "transports behind core" logic (i.e. using the core-defined logic for ensuring the + * correct transports are started/stopped at the correct time). + * + * Eventually this should likely be folded into `TransportConfig` somehow. + */ +void +/* fn */ dittoffi_ditto_set_cloud_sync_enabled ( + CDitto_t const * ditto, + bool enabled); + +/** */ +typedef struct dittoffi_result_void { + /** \brief + * Non-`NULL` pointer to opaque object on error, `NULL` otherwise. + */ + dittoffi_error_t * error; +} dittoffi_result_void_t; + +/** \brief + * Verify a base64 encoded license string. + * + * # Parameters + * - `ditto`: The Ditto instance to activate. + * - `license`: A base64 encoded license string. This should be the output of + * `ditto_licenser::license_mgr::generate()`. + */ +dittoffi_result_void_t +/* fn */ dittoffi_ditto_set_offline_only_license_token_throws ( + CDitto_t const * ditto, + char const * license); + +/** */ +typedef struct dittoffi_panic dittoffi_panic_t; + +/** \brief + * `Box Ret>` + */ +typedef struct BoxDynFnMut1_void_dittoffi_panic_ptr { + /** */ + void * env_ptr; + + /** */ + void (*call)(void *, dittoffi_panic_t *); + + /** */ + void (*free)(void *); +} BoxDynFnMut1_void_dittoffi_panic_ptr_t; + +/** */ +typedef BoxDynFnMut1_void_dittoffi_panic_ptr_t dittoffi_panic_handler_t; + +/** \brief + * Registers a custom callback/hook to report a panic message and stacktrace right before the + * process aborts, if none have been registered beforehand. + * + * Else, a default console logging hooks takes place, which for certain SDKs such as Android, + * yields hard-to-access crash reports. + * + * Do note that this "handler" does not really "handle" anything, insofar it cannot prevent the + * impending doom/abort. It's really just a reporter, to say the last words of the process. + */ +void +/* fn */ dittoffi_ditto_set_panic_handler ( + dittoffi_panic_handler_t panic_handler); + +/** */ +void +/* fn */ dittoffi_ditto_stop_sync ( + CDitto_t const * ditto); + +/** */ +slice_boxed_uint8_t +/* fn */ dittoffi_ditto_transport_config ( + CDitto_t const * ditto); + +/** \brief + * Internal helper function to do integration testing of panics in the SDKs. + */ +int32_t +/* fn */ dittoffi_ditto_trigger_test_panic (void); + +/** \brief + * Internal helper function to do integration testing of panics in the SDKs. + */ +void +/* fn */ dittoffi_ditto_trigger_test_panic_in_background (void); + +/** \brief + * Same as `ditto_make`, but properly fallible (but not yet `async`). + */ +dittoffi_result_CDitto_ptr_t +/* fn */ dittoffi_ditto_try_new_blocking ( + char const * working_dir, + CIdentityConfig_t * identity_config, + HistoryTracking_t history_tracking, + char const * experimental_passphrase, + TransportConfigMode_t transport_config_mode); + +/** \brief + * Set the transport config, start/stop transports as needed. + * + * * `ditto` - The Ditto instance. + * * `transport_config_cbor` - `TransportConfig` serialized as CBOR. + * * `should_validate` - If true, the `TransportConfig` will be validated before being set. + * + * Returns error on failure to deserialize `transport_config_cbor`, or if `should_validate` is true + * and the `TransportConfig` fails validation. + */ +dittoffi_result_void_t +/* fn */ dittoffi_ditto_try_set_transport_config ( + CDitto_t const * ditto, + slice_ref_uint8_t transport_config_cbor, + bool should_validate); + +/** */ +dittoffi_result_void_t +/* fn */ dittoffi_ditto_try_start_sync ( + CDitto_t const * ditto); + +/** \brief + * Whether to use a helper thread for calling into the panic handler. + * + * Defaults to `false` when the `js` feature is enabled (Node.js & + * Wasm), and `true` otherwise. + */ +void +/* fn */ dittoffi_ditto_use_helper_thread_for_panic_handler_internal ( + bool value); + +/** \brief + * The error codes for `ditto_error_t` + */ +typedef enum dittoffi_error_code { + /** \brief + * The license is valid but expired. + */ + DITTOFFI_ERROR_CODE_ACTIVATION_LICENSE_TOKEN_EXPIRED, + /** \brief + * The license signature failed verification. This could be due to incorrectly + * encoded/truncated data or could indicate tampering. + */ + DITTOFFI_ERROR_CODE_ACTIVATION_LICENSE_TOKEN_INVALID, + /** \brief + * The provided license data was from a future version of Ditto and is incompatible with this + * version. + */ + DITTOFFI_ERROR_CODE_ACTIVATION_LICENSE_UNSUPPORTED_FUTURE_VERSION, + /** \brief + * The operation failed because the Ditto instance is not yet activated, which is achieved by + * setting a valid license token. + */ + DITTOFFI_ERROR_CODE_ACTIVATION_NOT_ACTIVATED, + /** \brief + * Activation (via setting a valid license token) is unnecessary for the active identity type. + */ + DITTOFFI_ERROR_CODE_ACTIVATION_UNNECESSARY, + /** \brief + * Invalid input provided for base64 decoding. + */ + DITTOFFI_ERROR_CODE_BASE64_INVALID, + /** \brief + * Invalid CBOR-encoded input. + */ + DITTOFFI_ERROR_CODE_CBOR_INVALID, + /** \brief + * Unsupported CBOR type. + */ + DITTOFFI_ERROR_CODE_CBOR_UNSUPPORTED, + /** */ + DITTOFFI_ERROR_CODE_CRDT, + /** */ + DITTOFFI_ERROR_CODE_DIFFER_IDENTITY_KEY_PATH_INVALID, + /** \brief + * Dql query execution failed in flight. + */ + DITTOFFI_ERROR_CODE_DQL_EVALUATION_ERROR, + /** \brief + * Invalid CBOR-encoded query arguments. + */ + DITTOFFI_ERROR_CODE_DQL_INVALID_QUERY_ARGS, + /** \brief + * Failed to compile the given query. + * + * For more information on Ditto's query language see: + * + */ + DITTOFFI_ERROR_CODE_DQL_QUERY_COMPILATION, + /** \brief + * Unsupported features were used in a DQL statement or query. + */ + DITTOFFI_ERROR_CODE_DQL_UNSUPPORTED, + /** \brief + * Unexpected passphrase provided for the currently unencrypted store. + */ + DITTOFFI_ERROR_CODE_ENCRYPTION_EXTRANEOUS_PASSPHRASE_GIVEN, + /** \brief + * Incorrect passphrase provided for the currently encrypted store. + */ + DITTOFFI_ERROR_CODE_ENCRYPTION_PASSPHRASE_INVALID, + /** \brief + * Missing passphrase for the currently encrypted store. + */ + DITTOFFI_ERROR_CODE_ENCRYPTION_PASSPHRASE_NOT_GIVEN, + /** \brief + * Javascript only. Missing `await` on outstanding store operation. + */ + DITTOFFI_ERROR_CODE_JS_FLOATING_STORE_OPERATION, + /** \brief + * An I/O operation failed because the specified entity (such as a file) already exists. + */ + DITTOFFI_ERROR_CODE_IO_ALREADY_EXISTS, + /** \brief + * An I/O operation failed because the specified entity (such as a file) was not found. + */ + DITTOFFI_ERROR_CODE_IO_NOT_FOUND, + /** \brief + * An I/O operation failed. + */ + DITTOFFI_ERROR_CODE_IO_OPERATION_FAILED, + /** \brief + * An I/O operation failed because the necessary privileges to complete it were not present. + */ + DITTOFFI_ERROR_CODE_IO_PERMISSION_DENIED, + /** \brief + * Outstanding usage of ditto's working directory detected when trying to instantiate a new + * `Ditto`, which would have led to concurrent usage of the backing database files. + */ + DITTOFFI_ERROR_CODE_LOCKED_DITTO_WORKING_DIRECTORY, + /** \brief + * A query to alter or retrieve a system parameter (ALTER SYSTEM or SHOW) failed. + */ + DITTOFFI_ERROR_CODE_PARAMETER_QUERY, + /** */ + DITTOFFI_ERROR_CODE_STORE_DATABASE, + /** \brief + * Found an invalid document id. + */ + DITTOFFI_ERROR_CODE_STORE_DOCUMENT_ID, + /** \brief + * The requested document could not be found. + */ + DITTOFFI_ERROR_CODE_STORE_DOCUMENT_NOT_FOUND, + /** */ + DITTOFFI_ERROR_CODE_STORE_QUERY, + /** \brief + * A mutating DQL query was attempted using a read-only transaction. + */ + DITTOFFI_ERROR_CODE_STORE_TRANSACTION_READ_ONLY, + /** \brief + * Error from the transport layer. + */ + DITTOFFI_ERROR_CODE_TRANSPORT, + /** \brief + * Feature is not (yet?) supported (on this platform?). + * + * See the documentation of the feature for more info. + */ + DITTOFFI_ERROR_CODE_UNSUPPORTED, + /** \brief + * Exceeded a depth limit. + */ + DITTOFFI_ERROR_CODE_VALIDATION_DEPTH_LIMIT_EXCEEDED, + /** \brief + * Invalid CBOR provided. + */ + DITTOFFI_ERROR_CODE_VALIDATION_INVALID_CBOR, + /** \brief + * Invalid JSON provided. + */ + DITTOFFI_ERROR_CODE_VALIDATION_INVALID_JSON, + /** \brief + * Invalid TransportConfig. + */ + DITTOFFI_ERROR_CODE_VALIDATION_INVALID_TRANSPORT_CONFIG, + /** \brief + * The value was not a map. + */ + DITTOFFI_ERROR_CODE_VALIDATION_NOT_A_MAP, + /** \brief + * Exceeded the size limit. + */ + DITTOFFI_ERROR_CODE_VALIDATION_SIZE_LIMIT_EXCEEDED, + /** \brief + * Attempted to use a Ditto feature after closing Ditto. + * An unknown error occurred. + */ + DITTOFFI_ERROR_CODE_UNKNOWN, + /** \brief + * Some not-yet-categorized error occurred. + */ + DITTOFFI_ERROR_CODE_INTERNAL, +} dittoffi_error_code_t; + +/** */ +dittoffi_error_code_t +/* fn */ dittoffi_error_code ( + dittoffi_error_t const * error); + +/** */ +char * +/* fn */ dittoffi_error_description ( + dittoffi_error_t const * error); + +/** */ +void +/* fn */ dittoffi_error_free ( + dittoffi_error_t * error); + +/** \brief + * Internal helper function to extract the inner error code from `Internal` errors. + * + * Must only be called after having checked that the `dittoffi_error_code()` does yield + * `FfiErrorCode::Internal`, lest it panic. + */ +DittoErrorCode_t +/* fn */ dittoffi_error_internal_get_legacy_error_code ( + dittoffi_error_t const * error); + +/** \brief + * Returns a human-readable SDK version string, restricted to the SemVer + * "number" (including the pre-release specifier, if any). + * + * The returned string must be freed. + */ +char * +/* fn */ dittoffi_get_sdk_semver (void); + +/** \brief + * `Box Ret>` + */ +typedef struct BoxDynFnMut1_void_dittoffi_result_uint64 { + /** */ + void * env_ptr; + + /** */ + void (*call)(void *, dittoffi_result_uint64_t); + + /** */ + void (*free)(void *); +} BoxDynFnMut1_void_dittoffi_result_uint64_t; + +/** \brief + * Continuation (`repr_c::Box` FFI-safe callback) to be used as + * the *completion handler* for conceptually-`async` APIs. + */ +typedef BoxDynFnMut1_void_dittoffi_result_uint64_t continuation_dittoffi_result_uint64_t; + +/** \brief + * Export previously collected on-disk logs to a single file at the specified path. + * + * Returns one of the following errors on failure: + * + * - [`FfiError::IoNotFound`] + * - [`FfiError::IoPermissionDenied`] + * - [`FfiError::IoAlreadyExists`] + * - [`FfiError::IoOperationFailed`] + * - [`FfiError::Unsupported`] + * - [`FfiError::Unknown`] + */ +void +/* fn */ dittoffi_logger_try_export_to_file_async ( + char const * dest_path, + continuation_dittoffi_result_uint64_t continuation); + +/** \brief + * The same as `ditto_make` but it allows for an explicit value for `TransportConfigMode` to be + * provided. + */ +CDitto_t * +/* fn */ dittoffi_make_with_transport_config_mode ( + char const * working_dir, + CIdentityConfig_t * identity_config, + HistoryTracking_t history_tracking, + TransportConfigMode_t transport_config_mode); + +/** \brief + * Dispose of the panic handle (even if the process is about to abort anyways). + */ +void +/* fn */ dittoffi_panic_free ( + dittoffi_panic_t * __arg_0); + +/** \brief + * Extract the panic message. + */ +char * +/* fn */ dittoffi_panic_message ( + dittoffi_panic_t const * panic); + +/** \brief + * Extract the stacktrace whence the panic occurred, currently as a C string with newlines in it. + */ +char * +/* fn */ dittoffi_panic_stack_trace_string ( + dittoffi_panic_t const * panic); + +/** \brief + * Getter for the `peer_metadata` as a JSON (string / UTF-8 data). + */ +slice_boxed_uint8_t +/* fn */ dittoffi_presence_peer_metadata_json ( + CDitto_t const * ditto); + +/** */ +typedef struct Erased Erased_t; + +/** */ +typedef struct FfiConnectionRequestHandlerVTable { + /** */ + void (*release_vptr)(Erased_t *); + + /** */ + Erased_t * (*retain_vptr)(Erased_t const *); + + /** */ + void (*on_connecting)(Erased_t const *, dittoffi_connection_request_t *); +} FfiConnectionRequestHandlerVTable_t; + +/** */ +typedef struct VirtualPtr__Erased_ptr_FfiConnectionRequestHandlerVTable { + /** */ + Erased_t * ptr; + + /** */ + FfiConnectionRequestHandlerVTable_t vtable; +} VirtualPtr__Erased_ptr_FfiConnectionRequestHandlerVTable_t; + +/** \brief + * Register a function that will be called every time a peer connection attempt is made. + * The function can return true to continue connecting, and false to reject the connection, + * based on the supplied metadata about the peer. + */ +void +/* fn */ dittoffi_presence_set_connection_request_handler ( + CDitto_t const * ditto, + VirtualPtr__Erased_ptr_FfiConnectionRequestHandlerVTable_t ffi_handler); + +/** \brief + * Sets the signed peer info / peer metadata to which the `on_connecting` / + * `connectionRequestHandler` callback shall have access. + * + * The `peer_info` is expected to represent the UTF-8 bytes of a serialized JSON instead of CBOR. + */ +dittoffi_result_void_t +/* fn */ dittoffi_presence_try_set_peer_metadata_json ( + CDitto_t const * ditto, + slice_ref_uint8_t peer_info); + +/** */ +typedef struct dittoffi_query_result dittoffi_query_result_t; + +/** */ +void +/* fn */ dittoffi_query_result_free ( + dittoffi_query_result_t * result); + +/** */ +dittoffi_query_result_item_t * +/* fn */ dittoffi_query_result_item_at ( + dittoffi_query_result_t const * result, + size_t idx); + +/** */ +slice_boxed_uint8_t +/* fn */ dittoffi_query_result_item_cbor ( + dittoffi_query_result_item_t const * item); + +/** */ +size_t +/* fn */ dittoffi_query_result_item_count ( + dittoffi_query_result_t const * result); + +/** */ +void +/* fn */ dittoffi_query_result_item_free ( + dittoffi_query_result_item_t * item); + +/** */ +char * +/* fn */ dittoffi_query_result_item_json ( + dittoffi_query_result_item_t const * item); + +/** */ +typedef struct dittoffi_result_dittoffi_query_result_item_ptr { + /** \brief + * Non-`NULL` pointer to opaque object on error, `NULL` otherwise. + */ + dittoffi_error_t * error; + + /** \brief + * When no error occurred, the success value payload can be retrieved here. + * + * Otherwise, the value is to be ignored. + */ + dittoffi_query_result_item_t * success; +} dittoffi_result_dittoffi_query_result_item_ptr_t; + +/** \brief + * Create a query result item from JSON data. + * + * `query_result_item` is expected to represent the UTF-8 bytes of a serialized JSON instead of + * CBOR. + * + * Note that this is only expected to be called by SDKs as part of generating test data, e.g. for + * testing behaviour of the differ. + */ +dittoffi_result_dittoffi_query_result_item_ptr_t +/* fn */ dittoffi_query_result_item_new ( + slice_ref_uint8_t query_result_item); + +/** */ +slice_boxed_uint8_t +/* fn */ dittoffi_query_result_mutated_document_id_at ( + dittoffi_query_result_t const * result, + size_t idx); + +/** */ +size_t +/* fn */ dittoffi_query_result_mutated_document_id_count ( + dittoffi_query_result_t const * result); + +/** \brief + * Alias for `Ditto`, to better convey the notion of a store handle for store APIs, + * TownHouseโ„ข-style. + * + * SDK code casts references to `Ditto`s into references to `FfiStore`s, so it's important for + * safety that FfiStore doesn't add future invariants without checking `Transaction::store_ptr` + * (and potentially other places too) to make sure those invariants are upheld. + */ +typedef CDitto_t dittoffi_store_t; + +/** \brief + * FFI appropriate representation of the options available when beginning a transaction. + */ +typedef struct dittoffi_store_begin_transaction_options { + /** \brief + * Whether the transaction is read-only. Defaults to `false`. + */ + bool is_read_only; + + /** \brief + * An optional hint for the transaction. This is often useful for identifying a transaction in + * logs. + */ + char const * hint; +} dittoffi_store_begin_transaction_options_t; + +/** */ +typedef struct dittoffi_transaction dittoffi_transaction_t; + +/** */ +typedef struct dittoffi_result_dittoffi_transaction_ptr { + /** \brief + * Non-`NULL` pointer to opaque object on error, `NULL` otherwise. + */ + dittoffi_error_t * error; + + /** \brief + * When no error occurred, the success value payload can be retrieved here. + * + * Otherwise, the value is to be ignored. + */ + dittoffi_transaction_t * success; +} dittoffi_result_dittoffi_transaction_ptr_t; + +/** \brief + * `Box Ret>` + */ +typedef struct BoxDynFnMut1_void_dittoffi_result_dittoffi_transaction_ptr { + /** */ + void * env_ptr; + + /** */ + void (*call)(void *, dittoffi_result_dittoffi_transaction_ptr_t); + + /** */ + void (*free)(void *); +} BoxDynFnMut1_void_dittoffi_result_dittoffi_transaction_ptr_t; + +/** \brief + * Continuation (`repr_c::Box` FFI-safe callback) to be used as + * the *completion handler* for conceptually-`async` APIs. + */ +typedef BoxDynFnMut1_void_dittoffi_result_dittoffi_transaction_ptr_t continuation_dittoffi_result_dittoffi_transaction_ptr_t; + +/** \brief + * Creates a new transaction. + */ +void +/* fn */ dittoffi_store_begin_transaction_async_throws ( + dittoffi_store_t const * store, + dittoffi_store_begin_transaction_options_t options, + continuation_dittoffi_result_dittoffi_transaction_ptr_t continuation); + +/** */ +dittoffi_store_begin_transaction_options_t +/* fn */ dittoffi_store_begin_transaction_options_make (void); + +/** \brief + * An opaque, unique handle for a `StoreObserver`. + * + * This handle will be held by SDK callers above the FFI boundary. It is a required input to most + * of the other FFI store observer functions. + */ +typedef struct dittoffi_store_observer dittoffi_store_observer_t; + +/** \brief + * Cancels the observer and removes it from the list of registered observers. + */ +void +/* fn */ dittoffi_store_observer_cancel ( + dittoffi_store_observer_t const * observer); + +/** \brief + * Free an [`FfiStoreObserver`]. + */ +void +/* fn */ dittoffi_store_observer_free ( + dittoffi_store_observer_t * _observer); + +/** \brief + * Same as [`Vec`][`rust::Vec`], but with guaranteed `#[repr(C)]` layout + */ +typedef struct Vec_dittoffi_store_observer_ptr { + /** */ + dittoffi_store_observer_t * * ptr; + + /** */ + size_t len; + + /** */ + size_t cap; +} Vec_dittoffi_store_observer_ptr_t; + +/** \brief + * Free a Vec of [`FfiStoreObserver`] + */ +void +/* fn */ dittoffi_store_observer_free_sparse ( + Vec_dittoffi_store_observer_ptr_t _vec); + +/** \brief + * Returns the inner ID of the given observer. + * + * This is an implementation detail and should not be relied upon by third parties. + */ +slice_boxed_uint8_t +/* fn */ dittoffi_store_observer_id ( + dittoffi_store_observer_t const * observer); + +/** \brief + * Returns true if the given observer is cancelled. + */ +bool +/* fn */ dittoffi_store_observer_is_cancelled ( + dittoffi_store_observer_t const * observer); + +/** \brief + * Returns the DQL query arguments of the given observer, if any were given. + */ +slice_boxed_uint8_t +/* fn */ dittoffi_store_observer_query_arguments ( + dittoffi_store_observer_t const * observer); + +/** \brief + * Returns the DQL query string of the given observer. + */ +char * +/* fn */ dittoffi_store_observer_query_string ( + dittoffi_store_observer_t const * observer); + +/** \brief + * Returns a list of all registered observers. + */ +Vec_dittoffi_store_observer_ptr_t +/* fn */ dittoffi_store_observers ( + CDitto_t const * ditto); + +/** \brief + * `Arc Ret>` + */ +typedef struct ArcDynFn0_void { + /** */ + void * env_ptr; + + /** */ + void (*call)(void *); + + /** */ + void (*release)(void *); + + /** */ + void (*retain)(void *); +} ArcDynFn0_void_t; + +/** \brief + * `Box Ret>` + */ +typedef struct BoxDynFnMut2_void_dittoffi_query_result_ptr_ArcDynFn0_void { + /** */ + void * env_ptr; + + /** */ + void (*call)(void *, dittoffi_query_result_t *, ArcDynFn0_void_t); + + /** */ + void (*free)(void *); +} BoxDynFnMut2_void_dittoffi_query_result_ptr_ArcDynFn0_void_t; + +/** */ +typedef struct dittoffi_result_dittoffi_store_observer_ptr { + /** \brief + * Non-`NULL` pointer to opaque object on error, `NULL` otherwise. + */ + dittoffi_error_t * error; + + /** \brief + * When no error occurred, the success value payload can be retrieved here. + * + * Otherwise, the value is to be ignored. + */ + dittoffi_store_observer_t * success; +} dittoffi_result_dittoffi_store_observer_ptr_t; + +/** \brief + * Registers a new `StoreObserver` for the given DQL query and arguments. + * + * The observer will be notified of changes to the query results. + */ +dittoffi_result_dittoffi_store_observer_ptr_t +/* fn */ dittoffi_store_register_observer_throws ( + CDitto_t const * ditto, + char const * query, + slice_ref_uint8_t query_args_cbor, + BoxDynFnMut2_void_dittoffi_query_result_ptr_ArcDynFn0_void_t callback); + +/** \brief + * Returns all transactions currently in flight. + */ +dittoffi_cbor_data_t +/* fn */ dittoffi_store_transactions ( + dittoffi_store_t const * ffi_store); + +/** \brief + * An object that causes Ditto to continuously sync documents that match a query from other peers. + */ +typedef struct dittoffi_sync_subscription dittoffi_sync_subscription_t; + +/** */ +typedef struct dittoffi_result_dittoffi_sync_subscription_ptr { + /** \brief + * Non-`NULL` pointer to opaque object on error, `NULL` otherwise. + */ + dittoffi_error_t * error; + + /** \brief + * When no error occurred, the success value payload can be retrieved here. + * + * Otherwise, the value is to be ignored. + */ + dittoffi_sync_subscription_t * success; +} dittoffi_result_dittoffi_sync_subscription_ptr_t; + +/** \brief + * Create a new [`FfiSyncSubscription`] from a DQL query and arguments. + * + * Until the subscription is cancelled, Ditto will continue to sync data matching the + * subscription's query from other peers. + */ +dittoffi_result_dittoffi_sync_subscription_ptr_t +/* fn */ dittoffi_sync_register_subscription_throws ( + CDitto_t const * ditto, + char const * query, + slice_ref_uint8_t query_args_cbor); + +/** \brief + * Cancels the given sync subscription, after which Ditto will no longer sync the data matching + * the subscription's query. + */ +void +/* fn */ dittoffi_sync_subscription_cancel ( + dittoffi_sync_subscription_t const * sync_subscription); + +/** \brief + * Free a singular boxed [`FfiSyncSubscription`]. + */ +void +/* fn */ dittoffi_sync_subscription_free ( + dittoffi_sync_subscription_t * __arg_0); + +/** \brief + * Implementation detail needed for implementing Eq+Ord+Hash on `SyncSubscription`. + */ +slice_boxed_uint8_t +/* fn */ dittoffi_sync_subscription_id ( + dittoffi_sync_subscription_t const * sync_subscription); + +/** \brief + * Returns true if the given sync subscription has been cancelled. + */ +bool +/* fn */ dittoffi_sync_subscription_is_cancelled ( + dittoffi_sync_subscription_t const * sync_subscription); + +/** \brief + * Returns the DQL arguments object associated with the given sync subscription, if one exists. + */ +slice_boxed_uint8_t +/* fn */ dittoffi_sync_subscription_query_arguments ( + dittoffi_sync_subscription_t const * sync_subscription); + +/** \brief + * Returns the DQL query string associated with the given sync subscription. + */ +char * +/* fn */ dittoffi_sync_subscription_query_string ( + dittoffi_sync_subscription_t const * sync_subscription); + +/** \brief + * Same as [`Vec`][`rust::Vec`], but with guaranteed `#[repr(C)]` layout + */ +typedef struct Vec_dittoffi_sync_subscription_ptr { + /** */ + dittoffi_sync_subscription_t * * ptr; + + /** */ + size_t len; + + /** */ + size_t cap; +} Vec_dittoffi_sync_subscription_ptr_t; + +/** \brief + * Returns a list of all active sync subscriptions. + */ +Vec_dittoffi_sync_subscription_ptr_t +/* fn */ dittoffi_sync_subscriptions ( + CDitto_t const * ditto); + +/** \brief + * Free a vector of boxed [`FfiSyncSubscription`]s. + * + * # IMPORTANT + * + * This freeing function ignores the given `.len` and treats it as if `.len = 0` + * (to avoid double-freeing). + * + * SDK callers should have taken ownership of each individual `FfiSyncSubscription` + * (either by having freed each, or by having wrapped them in some SDK class that + * eventually will), in order to avoid memory leaks. + */ +void +/* fn */ dittoffi_sync_subscriptions_free_sparse ( + Vec_dittoffi_sync_subscription_ptr_t v); + +/** \brief + * The action to take when completing a transaction. + */ +typedef enum dittoffi_transaction_completion_action { + /** */ + DITTOFFI_TRANSACTION_COMPLETION_ACTION_COMMIT, + /** */ + DITTOFFI_TRANSACTION_COMPLETION_ACTION_ROLLBACK, +} dittoffi_transaction_completion_action_t; + +/** */ +typedef struct dittoffi_result_dittoffi_transaction_completion_action { + /** \brief + * Non-`NULL` pointer to opaque object on error, `NULL` otherwise. + */ + dittoffi_error_t * error; + + /** \brief + * When no error occurred, the success value payload can be retrieved here. + * + * Otherwise, the value is to be ignored. + */ + dittoffi_transaction_completion_action_t success; +} dittoffi_result_dittoffi_transaction_completion_action_t; + +/** \brief + * `Box Ret>` + */ +typedef struct BoxDynFnMut1_void_dittoffi_result_dittoffi_transaction_completion_action { + /** */ + void * env_ptr; + + /** */ + void (*call)(void *, dittoffi_result_dittoffi_transaction_completion_action_t); + + /** */ + void (*free)(void *); +} BoxDynFnMut1_void_dittoffi_result_dittoffi_transaction_completion_action_t; + +/** \brief + * Continuation (`repr_c::Box` FFI-safe callback) to be used as + * the *completion handler* for conceptually-`async` APIs. + */ +typedef BoxDynFnMut1_void_dittoffi_result_dittoffi_transaction_completion_action_t continuation_dittoffi_result_dittoffi_transaction_completion_action_t; + +/** \brief + * Complete a transaction asynchronously. + * + * In practice this means either committing or rolling back the transaction. + */ +void +/* fn */ dittoffi_transaction_complete_async_throws ( + dittoffi_transaction_t const * transaction, + dittoffi_transaction_completion_action_t action, + continuation_dittoffi_result_dittoffi_transaction_completion_action_t continuation); + +/** */ +typedef struct dittoffi_result_dittoffi_query_result_ptr { + /** \brief + * Non-`NULL` pointer to opaque object on error, `NULL` otherwise. + */ + dittoffi_error_t * error; + + /** \brief + * When no error occurred, the success value payload can be retrieved here. + * + * Otherwise, the value is to be ignored. + */ + dittoffi_query_result_t * success; +} dittoffi_result_dittoffi_query_result_ptr_t; + +/** \brief + * `Box Ret>` + */ +typedef struct BoxDynFnMut1_void_dittoffi_result_dittoffi_query_result_ptr { + /** */ + void * env_ptr; + + /** */ + void (*call)(void *, dittoffi_result_dittoffi_query_result_ptr_t); + + /** */ + void (*free)(void *); +} BoxDynFnMut1_void_dittoffi_result_dittoffi_query_result_ptr_t; + +/** \brief + * Continuation (`repr_c::Box` FFI-safe callback) to be used as + * the *completion handler* for conceptually-`async` APIs. + */ +typedef BoxDynFnMut1_void_dittoffi_result_dittoffi_query_result_ptr_t continuation_dittoffi_result_dittoffi_query_result_ptr_t; + +/** \brief + * Execute a query using the passed in transaction. + */ +void +/* fn */ dittoffi_transaction_execute_async_throws ( + dittoffi_transaction_t const * transaction, + char const * query, + slice_ref_uint8_t query_args_cbor, + continuation_dittoffi_result_dittoffi_query_result_ptr_t continuation); + +/** \brief + * Free the passed in transaction. + */ +void +/* fn */ dittoffi_transaction_free ( + dittoffi_transaction_t * _transaction); + +/** \brief + * Get info about a given transaction. + */ +dittoffi_cbor_data_t +/* fn */ dittoffi_transaction_info ( + dittoffi_transaction_t const * transaction); + +/** */ +void +/* fn */ dittoffi_transports_refresh_permissions ( + CDitto_t const * ditto); + +/** */ +void +/* fn */ dittoffi_transports_update_app_in_foreground ( + CDitto_t const * ditto, + bool in_foreground); + +/** */ +dittoffi_result_void_t +/* fn */ dittoffi_try_add_subscription ( + CDitto_t const * ditto, + char const * collection, + char const * query, + slice_ref_uint8_t query_args_cbor, + slice_ref_COrderByParam_t order_by, + int32_t limit, + uint32_t offset); + +/** \brief + * Adds a DQL sync subscription. + * + * Only `SELECT` statements are supported here. + * + * Returns no meaningful value but for the resulting potential `.error`. + */ +dittoffi_result_void_t +/* fn */ dittoffi_try_add_sync_subscription ( + CDitto_t const * ditto, + char const * query, + slice_ref_uint8_t query_args_cbor); + +/** */ +typedef struct dittoffi_result_slice_boxed_uint8 { + /** \brief + * Non-`NULL` pointer to opaque object on error, `NULL` otherwise. + */ + dittoffi_error_t * error; + + /** \brief + * When no error occurred, the success value payload can be retrieved here. + * + * Otherwise, the value is to be ignored. + */ + slice_boxed_uint8_t success; +} dittoffi_result_slice_boxed_uint8_t; + +/** \brief + * Decodes a URL-safe base64-encoded string. The caller can specify whether or not they want to + * allow padded input. By default, both padded and unpadded input is accepted. + * + * In the success case, the returned bytes need to be freed by the caller using + * `ditto_c_bytes_free`. + * + * Throws `FfiError::Base64Invalid` if: + * - the input string is not a valid base64-encoded string, or + * - the desired padding mode is specified as `Unpadded` and the input string is padded. + */ +dittoffi_result_slice_boxed_uint8_t +/* fn */ dittoffi_try_base64_decode ( + char const * str, + Base64PaddingMode_t padding_mode); + +/** */ +dittoffi_result_void_t +/* fn */ dittoffi_try_collection ( + CDitto_t const * ditto, + char const * name); + +/** */ +typedef struct dittoffi_result_bool { + /** \brief + * Non-`NULL` pointer to opaque object on error, `NULL` otherwise. + */ + dittoffi_error_t * error; + + /** \brief + * When no error occurred, the success value payload can be retrieved here. + * + * Otherwise, the value is to be ignored. + */ + bool success; +} dittoffi_result_bool_t; + +/** */ +dittoffi_result_bool_t +/* fn */ dittoffi_try_collection_evict ( + CDitto_t const * ditto, + char const * coll_name, + CWriteTransaction_t * transaction, + slice_ref_uint8_t id); + +/** */ +typedef struct dittoffi_result_Vec_slice_boxed_uint8 { + /** \brief + * Non-`NULL` pointer to opaque object on error, `NULL` otherwise. + */ + dittoffi_error_t * error; + + /** \brief + * When no error occurred, the success value payload can be retrieved here. + * + * Otherwise, the value is to be ignored. + */ + Vec_slice_boxed_uint8_t success; +} dittoffi_result_Vec_slice_boxed_uint8_t; + +/** */ +dittoffi_result_Vec_slice_boxed_uint8_t +/* fn */ dittoffi_try_collection_evict_by_ids ( + CDitto_t const * ditto, + char const * coll_name, + CWriteTransaction_t * transaction, + slice_ref_slice_boxed_uint8_t ids); + +/** */ +dittoffi_result_Vec_slice_boxed_uint8_t +/* fn */ dittoffi_try_collection_evict_query_str ( + CDitto_t const * ditto, + char const * coll_name, + CWriteTransaction_t * transaction, + char const * query, + slice_ref_uint8_t query_args_cbor, + slice_ref_COrderByParam_t order_by_params, + int32_t limit, + uint32_t offset); + +/** */ +typedef struct docs_and_ids { + /** */ + Vec_CDocument_ptr_t documents; + + /** */ + Vec_slice_boxed_uint8_t ids; +} docs_and_ids_t; + +/** */ +typedef struct dittoffi_result_docs_and_ids { + /** \brief + * Non-`NULL` pointer to opaque object on error, `NULL` otherwise. + */ + dittoffi_error_t * error; + + /** \brief + * When no error occurred, the success value payload can be retrieved here. + * + * Otherwise, the value is to be ignored. + */ + docs_and_ids_t success; +} dittoffi_result_docs_and_ids_t; + +/** */ +dittoffi_result_docs_and_ids_t +/* fn */ dittoffi_try_collection_find_by_ids ( + CDitto_t const * ditto, + char const * coll_name, + slice_ref_slice_boxed_uint8_t ids, + CReadTransaction_t * transaction); + +/** */ +typedef struct dittoffi_result_CDocument_ptr { + /** \brief + * Non-`NULL` pointer to opaque object on error, `NULL` otherwise. + */ + dittoffi_error_t * error; + + /** \brief + * When no error occurred, the success value payload can be retrieved here. + * + * Otherwise, the value is to be ignored. + */ + CDocument_t * success; +} dittoffi_result_CDocument_ptr_t; + +/** \brief + * [js only] Returns `-1` in case of outstanding non-`awaited` transaction operation. + */ +dittoffi_result_CDocument_ptr_t +/* fn */ dittoffi_try_collection_get ( + CDitto_t const * _ditto, + char const * coll_name, + slice_ref_uint8_t id, + CReadTransaction_t * transaction); + +/** */ +dittoffi_result_slice_boxed_uint8_t +/* fn */ dittoffi_try_collection_insert_value ( + CDitto_t const * ditto, + char const * coll_name, + slice_ref_uint8_t doc_cbor, + WriteStrategyRs_t write_strategy, + char const * log_hint, + CWriteTransaction_t * txn); + +/** */ +dittoffi_result_bool_t +/* fn */ dittoffi_try_collection_remove ( + CDitto_t const * _ditto, + char const * coll_name, + CWriteTransaction_t * transaction, + slice_ref_uint8_t id); + +/** */ +dittoffi_result_Vec_slice_boxed_uint8_t +/* fn */ dittoffi_try_collection_remove_by_ids ( + CDitto_t const * ditto, + char const * coll_name, + CWriteTransaction_t * transaction, + slice_ref_slice_boxed_uint8_t ids); + +/** */ +dittoffi_result_Vec_slice_boxed_uint8_t +/* fn */ dittoffi_try_collection_remove_query_str ( + CDitto_t const * ditto, + char const * coll_name, + CWriteTransaction_t * transaction, + char const * query, + slice_ref_uint8_t query_args_cbor, + slice_ref_COrderByParam_t order_by_params, + int32_t limit, + uint32_t offset); + +/** */ +dittoffi_result_void_t +/* fn */ dittoffi_try_collection_update ( + CDitto_t const * _ditto, + char const * coll_name, + CWriteTransaction_t * transaction, + CDocument_t * document); + +/** */ +dittoffi_result_void_t +/* fn */ dittoffi_try_collection_update_multiple ( + CDitto_t const * _ditto, + char const * coll_name, + CWriteTransaction_t * transaction, + Vec_CDocument_ptr_t documents); + +/** */ +dittoffi_result_slice_boxed_uint8_t +/* fn */ dittoffi_try_document_get_cbor_with_path_type ( + CDocument_t const * document, + char const * pointer, + PathAccessorType_t path_type); + +/** \brief + * Execute specified DQL statement. + * + * Returns a [`FfiQueryResult`], which contains a vector of [`FfiQueryResultItem`]s. + * + * This is replacement for the old FFI, which was returning documents, but still uses the "old" + * style of FFI transaction API. + * + * [`FfiQueryResult`]: crate::store::dql::response::FfiQueryResult + * [`FfiQueryResultItem`]: crate::store::dql::response::FfiQueryResultItem + */ +dittoffi_result_dittoffi_query_result_ptr_t +/* fn */ dittoffi_try_exec_statement ( + CDitto_t const * ditto, + char const * statement, + slice_ref_uint8_t args_cbor); + +/** */ +typedef struct ChangeHandlerWithQueryResult { + /** \brief + * Must be freed with `dittoffi_query_result_free`. + */ + dittoffi_query_result_t * query_result; +} ChangeHandlerWithQueryResult_t; + +/** */ +typedef struct dittoffi_result_int64 { + /** \brief + * Non-`NULL` pointer to opaque object on error, `NULL` otherwise. + */ + dittoffi_error_t * error; + + /** \brief + * When no error occurred, the success value payload can be retrieved here. + * + * Otherwise, the value is to be ignored. + */ + int64_t success; +} dittoffi_result_int64_t; + +/** */ +dittoffi_result_int64_t +/* fn */ dittoffi_try_experimental_register_change_observer_str ( + CDitto_t const * ditto, + char const * query, + slice_ref_uint8_t query_args_cbor, + LiveQueryAvailability_t lq_availability, + void * ctx, + void (*retain)(void *), + void (*release)(void *), + void (*c_cb)(void *, ChangeHandlerWithQueryResult_t)); + +/** */ +typedef struct dittoffi_result_Vec_char_ptr { + /** \brief + * Non-`NULL` pointer to opaque object on error, `NULL` otherwise. + */ + dittoffi_error_t * error; + + /** \brief + * When no error occurred, the success value payload can be retrieved here. + * + * Otherwise, the value is to be ignored. + */ + Vec_char_ptr_t success; +} dittoffi_result_Vec_char_ptr_t; + +/** */ +dittoffi_result_Vec_char_ptr_t +/* fn */ dittoffi_try_get_collection_names ( + CDitto_t const * ditto); + +/** */ +dittoffi_result_void_t +/* fn */ dittoffi_try_live_query_start ( + CDitto_t const * ditto, + int64_t legacy_id); + +/** */ +dittoffi_result_uint64_t +/* fn */ dittoffi_try_queries_hash ( + CDitto_t const * ditto, + slice_ref_char_const_ptr_t coll_names, + slice_ref_char_const_ptr_t queries); + +/** */ +typedef struct dittoffi_result_char_ptr { + /** \brief + * Non-`NULL` pointer to opaque object on error, `NULL` otherwise. + */ + dittoffi_error_t * error; + + /** \brief + * When no error occurred, the success value payload can be retrieved here. + * + * Otherwise, the value is to be ignored. + */ + char * success; +} dittoffi_result_char_ptr_t; + +/** */ +dittoffi_result_char_ptr_t +/* fn */ dittoffi_try_queries_hash_mnemonic ( + CDitto_t const * ditto, + slice_ref_char_const_ptr_t coll_names, + slice_ref_char_const_ptr_t queries); + +/** */ +dittoffi_result_int64_t +/* fn */ dittoffi_try_register_store_observer ( + CDitto_t const * ditto, + char const * coll_name, + char const * query, + slice_ref_uint8_t query_args_cbor, + slice_ref_COrderByParam_t order_by, + int32_t limit, + uint32_t offset, + LiveQueryAvailability_t lq_availability, + void * ctx, + void (*retain)(void *), + void (*release)(void *), + void (*c_cb)(void *, c_cb_params_t)); + +/** */ +dittoffi_result_void_t +/* fn */ dittoffi_try_remove_subscription ( + CDitto_t const * ditto, + char const * collection, + char const * query, + slice_ref_uint8_t query_args_cbor, + slice_ref_COrderByParam_t order_by, + int32_t limit, + uint32_t offset); + +/** \brief + * Removes a DQL sync subscription. + * + * The arguments should be identical to the ones used during adding the subscription. + * Returns no meaningful value but for the resulting potential `.error`. + */ +dittoffi_result_void_t +/* fn */ dittoffi_try_remove_sync_subscription ( + CDitto_t const * ditto, + char const * query, + slice_ref_uint8_t query_args_cbor); + +/** \brief + * Verify a base64 encoded license string. + * + * # Parameters + * - `ditto`: The Ditto instance to activate. + * - `license`: A base64 encoded license string. This should be the output of + * `ditto_licenser::license_mgr::generate()`. + */ +dittoffi_result_void_t +/* fn */ dittoffi_try_verify_license ( + CDitto_t const * ditto, + char const * license); + +/** \brief + * The platform advises Rust that the status of publishing our service has + * changed. + */ +void +/* fn */ mdns_advertising_state_changed ( + TransportHandle_MdnsPlatformEvent_t const * handle, + OnlineState_t state, + TransportCondition_t condition); + +/** \brief + * The platform advises Rust that a peer has been identified. + */ +void +/* fn */ mdns_platform_peer_appeared ( + TransportHandle_MdnsPlatformEvent_t const * handle, + char const * announce_string); + +/** \brief + * The platform advises Rust that a peer's service has disappeared from mDNS. + */ +void +/* fn */ mdns_platform_peer_disappeared ( + TransportHandle_MdnsPlatformEvent_t const * handle, + char const * announce_string); + +/** \brief + * The platform advises Rust that the status of searching for services has + * changed. + */ +void +/* fn */ mdns_scanning_state_changed ( + TransportHandle_MdnsPlatformEvent_t const * handle, + OnlineState_t state, + TransportCondition_t condition); + +/** \brief + * The platform advises Rust that the TCP listener will need to be restarted. + */ +void +/* fn */ mdns_server_invalidate_listener ( + TransportHandle_MdnsPlatformEvent_t const * handle); + +/** \brief + * The platform advises Rust that we failed to resolve a peer's hostname and + * port + */ +void +/* fn */ mdns_service_did_not_resolve ( + TransportHandle_MdnsPlatformEvent_t const * handle, + char const * announce_string); + +/** \brief + * The platform advises Rust that we have resolved a peer's hostname and port + */ +void +/* fn */ mdns_service_did_resolve ( + TransportHandle_MdnsPlatformEvent_t const * handle, + char const * announce_string, + char const * hostname, + uint16_t port); + + +#ifdef __cplusplus +} /* extern \"C\" */ +#endif + +#endif /* __RUST_DITTOFFI__ */ diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Resources/Info.plist b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Resources/Info.plist new file mode 100644 index 0000000..3de314c --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/Resources/Info.plist @@ -0,0 +1,48 @@ + + + + + BuildMachineOSBuild + 24E263 + CFBundleDevelopmentRegion + en + CFBundleExecutable + DittoObjC + CFBundleIdentifier + live.ditto.DittoObjC + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + DittoObjC + CFBundlePackageType + FMWK + CFBundleShortVersionString + 4.11.1 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 44401 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 24C94 + DTPlatformName + macosx + DTPlatformVersion + 15.2 + DTSDKBuild + 24C94 + DTSDKName + macosx15.2 + DTXcode + 1620 + DTXcodeBuild + 16C5032a + DittoVersionString + 4.11.1 + LSMinimumSystemVersion + 11.0 + + diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/_CodeSignature/CodeResources b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/_CodeSignature/CodeResources new file mode 100644 index 0000000..75415f9 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/A/_CodeSignature/CodeResources @@ -0,0 +1,1353 @@ + + + + + files + + Resources/Info.plist + + InTo6WFDObX7sL8lyNO3d+12Z6U= + + + files2 + + Headers/DITAWDLConfig.h + + hash2 + + hfjr6/OjZY7493mlz6a2n02OHZaDsg6T5uClRf4Zo/s= + + + Headers/DITAddress.h + + hash2 + + kYmnaJMfSX74vN9FW6M9kNQvV/FxeexD/xrznSKHUrk= + + + Headers/DITAttachment.h + + hash2 + + zFy1s2vbAwQHt8mRUT/lgEZ68prp6ouo6WQxhxetgHk= + + + Headers/DITAttachmentFetchEvent.h + + hash2 + + 9XBU9LwLzTaQkfN+Akl5Cl7z9n15czW+MWcRjCn4aeA= + + + Headers/DITAttachmentFetcher.h + + hash2 + + SGiBYZP8ne+e+7iuo9LiBXsWRltxbM6x0Jh/BXLr8a8= + + + Headers/DITAttachmentToken.h + + hash2 + + 4okPppaZ1k0XLx6SRJWLtnG5bzaWp5rH33NIDMT4rIo= + + + Headers/DITAuthenticationDelegate.h + + hash2 + + Fic1dx979ore/6rG7pP4mwN0mQiBoJzYe4t3fI6dvgs= + + + Headers/DITAuthenticationRequest.h + + hash2 + + YcIVBzhMN1RBUJrhqt3XVdAM4uumPTRUQg9Rdhukr/s= + + + Headers/DITAuthenticationStatus.h + + hash2 + + Fo6NinjHBloI8MOyyQfMY9GbCNUdwk7IQabE8LsGM00= + + + Headers/DITAuthenticationSuccess.h + + hash2 + + 8Q+qqcoTtf9LOAp/MOBoJvuausmuAVKqZ2a4AGFEQ5U= + + + Headers/DITAuthenticator.h + + hash2 + + Cvq7cRbvdyfzrrcOV7syBFcj2UsSV0BlJketWfnl2Q0= + + + Headers/DITBluetoothLEConfig.h + + hash2 + + 6cG+CpU9p13Y0HGyb3+YmyqHVV27rq+GHaHRYDeRq0E= + + + Headers/DITCollection.h + + hash2 + + akTjejJReMrlx6unJn6jOifXM0rA/CZ72WozFkVmoDg= + + + Headers/DITCollectionsEvent.h + + hash2 + + Y0RkKTiNP9j0dBcd83CjWKUsef92Q9cyxAKB7mdXGiA= + + + Headers/DITConnect.h + + hash2 + + IZKcqk3MA//MbGbvTSPfZcy4sY+9CAMLrQuWOqz1AF8= + + + Headers/DITConnection.h + + hash2 + + KrnhaK8zfKVXEDhB32h5cEzwcJ87/rF7jfpmY0Z4770= + + + Headers/DITConnectionPriority.h + + hash2 + + pPXkMyXL3N5bj7vS8yCJv2NrlodX5K9qb/9zg3zS990= + + + Headers/DITConnectionType.h + + hash2 + + 83cC0BUmhSEbaQXDhI1IKAUXC5S9AiJnnN4tz3cS4Y0= + + + Headers/DITCounter.h + + hash2 + + Une+65XsCjSwmyllW45SAjj65okOtzgZd63NYsocRKU= + + + Headers/DITDiskUsage.h + + hash2 + + FNpqjFXoIXOXGSvV44U4SQ1a2Jp/jrM+ul/VFfviJgs= + + + Headers/DITDiskUsageItem.h + + hash2 + + SgPBjeYkBvCnostQ575YleQtC9UfYcyzKmG9+gR053U= + + + Headers/DITDiskUsageObserverHandle.h + + hash2 + + BaxVWYFuiZdBANtpDi3l7gZu6KtTI5+ijTKHu6dWJdI= + + + Headers/DITDitto.h + + hash2 + + nNOCXnyGhyOhC2Z50JmD9EXY9Tioz8JMNnoeSFBluOw= + + + Headers/DITDittoDelegate.h + + hash2 + + uB3YMtsSV2Z3tcVOtuEet8liFyjdO8ycp938JLOXF1A= + + + Headers/DITDocument.h + + hash2 + + RwkeiNNAooKRHnkvZwx5i01LGvTCld2oUFDv3v6f05o= + + + Headers/DITDocumentID.h + + hash2 + + 0eICM4JcwZyoBWLWhtKZuC2XuHlvSqlFaXzajG6RUEc= + + + Headers/DITDocumentIDPath.h + + hash2 + + 0hAJW9kSORubZhdrhNH1GoGgqKnw12O3l9zXlYwqR0U= + + + Headers/DITDocumentPath.h + + hash2 + + FaqfXtBsYwV8uEKg1YYDvJLJxtyaf7iLG2xvs6P+l7A= + + + Headers/DITErrors.h + + hash2 + + UKGRUUjZOHhfAFYCKAAp7S5MK3T8elHSgngkq6aCyNc= + + + Headers/DITExperimental.h + + hash2 + + hB6RbyyqZ1ALuBwfd6edKXj60BPHPJtIfARMazS2Axc= + + + Headers/DITFileSystemType.h + + hash2 + + 4GkxUJEe9ZdCxmUlC+EsCbbcEBMgEd2WvllNhECFenU= + + + Headers/DITGlobalConfig.h + + hash2 + + WwzJV8WB42xTretuOfxUj6urUmaMsEUuRl1GaiZQH8s= + + + Headers/DITHTTPListenConfig.h + + hash2 + + qCpy5tTGPPVVJhCv45HEhlC7TDAnKv1rAfb7L/Loc/c= + + + Headers/DITIdentity.h + + hash2 + + jHFFNA3eZMzayWZ1/sQxWAGP1qZJk9HfFMwTMqY2oOI= + + + Headers/DITLANConfig.h + + hash2 + + LvGBHplipGlvMBlfkF8SZIec1rWv2kwFNDPyhVKwkd8= + + + Headers/DITListen.h + + hash2 + + CUpKfG/NTcsg3YFASUsN1DKC3bpnxWoK2oyHctpVXC0= + + + Headers/DITLiveQuery.h + + hash2 + + NnLuHAXLeh/rr5uc/glCKQbIgxTOTnnLCVCtPgaZQnw= + + + Headers/DITLiveQueryEvent.h + + hash2 + + uwGsAzTksOmH3vCAx7cowow6Q5Zx7ggcRpjOKmj+BJ0= + + + Headers/DITLiveQueryMove.h + + hash2 + + N5XDHGzeN2QTkDSGmlB4RWsyMCavoaZXLAA4beExTL4= + + + Headers/DITLogLevel.h + + hash2 + + w3tqVLyOlT41/2o+OahUh5Ww7EM/gqp2iLb9YxqdcX8= + + + Headers/DITLogger.h + + hash2 + + r5Y2A8vbH41kJscwFO1S5tUWsC1iUOoEUYNdopZ94Kg= + + + Headers/DITMutableAWDLConfig.h + + hash2 + + NK4EQXx3TS5blRXb6Q6EHCd0bDFr6KfFQuf4YplcFn0= + + + Headers/DITMutableBluetoothLEConfig.h + + hash2 + + lDKpaezDfSsUggufErTo+kcYfSbSMm6TSi+Y99YYAmY= + + + Headers/DITMutableConnect.h + + hash2 + + FETNlpw5M3u6qYi5fcDn54UHyplBXKZr4JFw0j2vj2s= + + + Headers/DITMutableCounter.h + + hash2 + + Z7GONDyVQLzhcAeBpqPXme4NuXDZbXphr177flaP8lE= + + + Headers/DITMutableDocument.h + + hash2 + + o/F/dJUXhOvkYOsOV91WOAICpSkXiKFYfGtFqJiUoJ0= + + + Headers/DITMutableDocumentPath.h + + hash2 + + xcXCeh/8bDxnwBs+nDrC8k3FCz6UVKMqjZqz5QIMBlw= + + + Headers/DITMutableGlobalConfig.h + + hash2 + + j+0HHmw9IKnyVn2JZU9q7pt42HfBKDKNTYKrZi1rBoE= + + + Headers/DITMutableHTTPListenConfig.h + + hash2 + + e6WSc8UlIPymrJmZDjOvBhsO7YQdPuQqvNFT1uFv/I4= + + + Headers/DITMutableLANConfig.h + + hash2 + + zxi99Xoj3qtvYoJW8qfjCIKoZQ810ljavGJABGOjACI= + + + Headers/DITMutableListen.h + + hash2 + + kbvfO5gOx6uw/DFcbQ/Bjtz4B3P3kBwHcAW9NTV5ocM= + + + Headers/DITMutablePeerToPeer.h + + hash2 + + ezmBGyk6YMjWYCRbLUlKWo+2bt5Y5yRCIDlawWFWTEw= + + + Headers/DITMutableRegister.h + + hash2 + + KyJLkUj7KabrLrXXTAbfSCmSkDQJ1mH4osAjklQDEP0= + + + Headers/DITMutableTCPListenConfig.h + + hash2 + + 0YxRw7pEccrtop8pBovFT0EN7oZjagSf7S282WH7XIw= + + + Headers/DITMutableTransportConfig.h + + hash2 + + aQrYsBvWLxgza6pF6KxvwmIZOTd9YArQsNXfcbCJXeI= + + + Headers/DITObserver.h + + hash2 + + ESohjd2NEJiP7Kn7XHnIi3XJNqm1gsSLHOlPGnlFDME= + + + Headers/DITPeer.h + + hash2 + + zTTlBo1y436fSjV9JsomreO/wzAMcIFsxJQjrXlnwZ0= + + + Headers/DITPeerToPeer.h + + hash2 + + dhbx+RXlYPSgbik5lZ9RoGi6Porjrxh5hAMh7z3fX3Y= + + + Headers/DITPeerV2Parser.h + + hash2 + + jBHljPPAPbUrzmGe7PpiMs67/5TTbGeUyXtNzX4+Ato= + + + Headers/DITPeersObserver.h + + hash2 + + J7tqnmxMnoGK4kz/MiF/OvuYxPgOBGEJbdx+Ptvnv7U= + + + Headers/DITPeersObserverV2.h + + hash2 + + SQLH5RwB1ibABeZV/Xrd+cycRdGatYfBFUtqK/esCB8= + + + Headers/DITPendingCollectionsOperation.h + + hash2 + + kx9gMqf8ry72xtxOODAhHiT9oLOju7imdDMItroSd94= + + + Headers/DITPendingCursorOperation.h + + hash2 + + 92sLqZ6gyqXfA8IyM7418bcBTT+Ch9F1Lcv9SVIVkzQ= + + + Headers/DITPendingIDSpecificOperation.h + + hash2 + + QWJbcH6nS/5y7yTcjD62d2qn7wcYbM8wsur/0bfNGiE= + + + Headers/DITPresence.h + + hash2 + + 1iruFh3AemlGE7/7aYJqwPs4gZ6T/6GhXbaNTER+M3w= + + + Headers/DITPresenceGraph.h + + hash2 + + zBNpyODq8vGbrZtOThdM2rEW5qOWzB6zvRsfaL8KIKE= + + + Headers/DITRegister.h + + hash2 + + /rTwuJoOkiEDkoekDc0m7Wf29lHHGFVsEyHN387GjNw= + + + Headers/DITRemotePeer.h + + hash2 + + rsFN1NF5+Uf2A1XCENxWErezpXLT91N3XnNChT5QSog= + + + Headers/DITRemotePeerV2.h + + hash2 + + 3+ESIo787XkV7Og+0+YmtpcfnH0q39w8rfR4vPy0STo= + + + Headers/DITScopedWriteTransaction.h + + hash2 + + pdu4cmliSWQgD18xTGE74p+SIH2XAnoG95yUSz7u6gk= + + + Headers/DITSignalNext.h + + hash2 + + pUDVNDIxNFrkA1ADtUaDdbOf2NIbDNuV3hjojccnGMM= + + + Headers/DITSingleDocumentLiveQueryEvent.h + + hash2 + + xpRjlbCRkoYVI7oBsHDp1FlscXAt0KQxymQQY4YyJno= + + + Headers/DITSortDirection.h + + hash2 + + LkPLKQjlifnm3ly5OaF3vI95pNh0TobbRmEY36WGl+M= + + + Headers/DITStore.h + + hash2 + + vt3P/+K33XlTL6JkQ26Z1S7wLQ5FE3BmvRJu+4SEEsg= + + + Headers/DITStoreObserver.h + + hash2 + + AbkUUwvq+MieRUbBO67Nkj6NsVgzqGOJJNeweBuQcBo= + + + Headers/DITSubscription.h + + hash2 + + cKyP0l/K0Qjgbg4Klm6Z5H5VSwlHMZS5abrUHrLo2D0= + + + Headers/DITTCPListenConfig.h + + hash2 + + 2LEDoFkrmmL4WUAf9pBn7/bV9WlWrrJb/ZX4qc2k3iQ= + + + Headers/DITTransportCondition.h + + hash2 + + zc/1EN7WqlKkvb5RGRARDB5766sSE0tRiF3Bj65e+qI= + + + Headers/DITTransportConfig.h + + hash2 + + 3TkOekKhc80GryuVVaBEfEN+0mHjNfXT/aNEifXuKks= + + + Headers/DITTransportDiagnostics.h + + hash2 + + jPL5aQFKiOg5btoLBBYBhf3+NQAK7NYF9DZJ+yk6auA= + + + Headers/DITTransportSnapshot.h + + hash2 + + RLUi4rtqzhtOpr6+EFTmw7DMDfwTWBoOHYznnwdkPtU= + + + Headers/DITUpdateResult.h + + hash2 + + o46dTT/xJvJkD8LnjakZSxwX/y3d3/mOIvP3RVsfhrE= + + + Headers/DITWriteStrategy.h + + hash2 + + YFOhPXzSRxiIcStb5CBfc3Hr40lobhzLGErGbwsdVPY= + + + Headers/DITWriteTransaction.h + + hash2 + + QlVsbKdVf2zJkkLpYh2zHsnSuLhOF7DWBQKW2fzy+/U= + + + Headers/DITWriteTransactionPendingCursorOperation.h + + hash2 + + xTfOogSEUE0diC4ddDRrQG2xpytyb3S5F3f7OvaVuMM= + + + Headers/DITWriteTransactionPendingIDSpecificOperation.h + + hash2 + + QY8bxScGy92aJy4WNzodv6talo5Uol+slwfbXnZlAwI= + + + Headers/DITWriteTransactionResult.h + + hash2 + + 2+MWJHmwvxgdVpaU4Z/yewgNlkLUKm9rtmImHw6AtmQ= + + + Headers/DittoObjC.h + + hash2 + + yLqe4AIz00S/7jgXYoIm2NbRxGOAd1ft439VQidqKZ4= + + + Modules/module.modulemap + + hash2 + + 9J5ZcQA//GhOIJu2C3BkHPP2xnvizLQYpuc46jwGSBk= + + + PrivateHeaders/DITAWDLClientPlatform.h + + hash2 + + Sp1K7EuZh3RYYQROUvffcTT0Qg7DFVhiCg52VVBRA8U= + + + PrivateHeaders/DITAWDLConfig+Private.h + + hash2 + + NE2PfOP52ktctVw2kFme3/m5H3DTVUraaw3QEYmCpXU= + + + PrivateHeaders/DITAWDLServerAdvertiser.h + + hash2 + + jHRNysZfkzVwCUaZELonl1PHERTw01vcvEUDtrsotx0= + + + PrivateHeaders/DITAWDLServerAdvertiserDelegate.h + + hash2 + + fQa1SYh3OU89Ju6uFczU7s2vq87P+H+lxyQdVsjXiX8= + + + PrivateHeaders/DITAWDLServerPeer.h + + hash2 + + zRGuhtzmUAnV788RQbDSCUeTQsrJiiDAWY+mv4VrkSU= + + + PrivateHeaders/DITAWDLServerPlatform.h + + hash2 + + 2hqlDHvGVI0qTQ59W/otZirigEL1nDCyZtJjLJuGazE= + + + PrivateHeaders/DITAddress+Private.h + + hash2 + + 5jrRgyhesSc7U5D8A2tQqF1t4/CcFNPidJzvr0SuCVM= + + + PrivateHeaders/DITAttachment+Private.h + + hash2 + + CRLCIljNPxIbokjXpL00FEx/0oAcbr9Thj7Y/n6WPN0= + + + PrivateHeaders/DITAttachmentFetchEvent+Private.h + + hash2 + + 9SPgJRJ+lB5mkjxm0n3+0wRAEdNx1QjGNJzrOWvGTVU= + + + PrivateHeaders/DITAttachmentFetcher+Private.h + + hash2 + + 3+PjvZcpoObfmyCqo44huXfzgb+ZcPeao3Ro62fZ7JI= + + + PrivateHeaders/DITAttachmentToken+Private.h + + hash2 + + faq6UKg7wMQ07CqcXfczijxQ2QoON0QsBWyOHLC/JbQ= + + + PrivateHeaders/DITAuthenticationStatus+Private.h + + hash2 + + UpliW+uKFqoUIin8loHh9kNc9pItRzicHESIoPJec6w= + + + PrivateHeaders/DITAuthenticator+Private.h + + hash2 + + XaHaxR9y9aZabF08L3GNHWnXcNc4MddK5tByGnd6IqI= + + + PrivateHeaders/DITBluetoothLEConfig+Private.h + + hash2 + + fLn3ahva3/r2KrivsVD0wzXJyAfXXVbOz0hlX73fh5U= + + + PrivateHeaders/DITCollection+Private.h + + hash2 + + 0340G5MJo2YpAQ/wAFRn74wrYuZva3QSPgafBheuvpg= + + + PrivateHeaders/DITCollectionsEvent+Private.h + + hash2 + + WCWQHKokGYjthHLA5SB/ECTuV28ZzO3v+T3qloPD76E= + + + PrivateHeaders/DITConnect+Private.h + + hash2 + + QMPs572GYe8D8/mE7lWsGGP48mw80cFInaw2cGCGRxw= + + + PrivateHeaders/DITConnection+Private.h + + hash2 + + dXa9wb/k+TxXpEeaZaAvGh6hoHVkfjm/X5yE3HmZQNU= + + + PrivateHeaders/DITCounter+Private.h + + hash2 + + OkMoJe0KC/1hHS77aubdcQ2uKln1z0vyRkNpR73MGdY= + + + PrivateHeaders/DITDiskUsage+Private.h + + hash2 + + l23IeyvM1mb3l5MzNpiUbuJxZ70+KyipAx1Us+7yGEs= + + + PrivateHeaders/DITDiskUsageObserverHandle+Private.h + + hash2 + + VbnRvzRKLo1nqMpBddObBLIYh1GBQNqNXm8NWlhvmow= + + + PrivateHeaders/DITDitto+Private.h + + hash2 + + ru3UTCy0G/2+gL4tDhcZNjOA5OlPgz1YmTu77D5pMHo= + + + PrivateHeaders/DITDocument+Private.h + + hash2 + + uxCx3yM8ato2wxkOKYerwWh+EWVH7fk8Jxl7XEJrsD8= + + + PrivateHeaders/DITDocumentID+Private.h + + hash2 + + qfoJz6Wm96yX7uTlud/iU//h11jla34665nwCcPkLuA= + + + PrivateHeaders/DITDocumentIDPath+Private.h + + hash2 + + MfrQY8EzapwvsHPt0qqqGmq0UgiwAGrZFclZQm/WkG0= + + + PrivateHeaders/DITDocumentPath+Private.h + + hash2 + + cyDPI9DYd5JC7ZBlN/WQW57z3ax9Ex2kYOHe3FM6W4U= + + + PrivateHeaders/DITErrors+Private.h + + hash2 + + 6iX+IfhuzG0sgWr+A/4yTMXd9Kx7TvaapacYTfU7NIY= + + + PrivateHeaders/DITGlobalConfig+Private.h + + hash2 + + u8JhD4NYaJPkAl8CGrk+xugRJLA/h4Th/cnCBvJP9zw= + + + PrivateHeaders/DITHTTPListenConfig+Private.h + + hash2 + + o9DYgaP7fl7Z/N9bZEm1G6TiZLB32S6BPldBbQjqFks= + + + PrivateHeaders/DITIdentity+Private.h + + hash2 + + nsjDONdl4dfi8PJtE4H/RiTk4Z0sDYhYevFtY2wEEZY= + + + PrivateHeaders/DITL2CAPConnection.h + + hash2 + + af9dhV3JmzKpADQKyjXyXVJa8UQNLgYVDOs5kZgmXxg= + + + PrivateHeaders/DITL2CAPConnectionDelegate.h + + hash2 + + O89wCUOSzWYXQUH5s67VlO3svMl8CkBBNKUV8iMGPk8= + + + PrivateHeaders/DITLANConfig+Private.h + + hash2 + + ligHQR3U6GNClfpxslM2ASLNZMKACCzGnS//FTRz80s= + + + PrivateHeaders/DITListen+Private.h + + hash2 + + k33KdRB9fgN0E9PCFEgnYiyZtqbO7cDxF6UrkWINu1Y= + + + PrivateHeaders/DITLiveQuery+Private.h + + hash2 + + mMjl/PLrkhhrCwkLWBkmnpT9ykoEt0ttIz7xs463/HA= + + + PrivateHeaders/DITLiveQueryEvent+Private.h + + hash2 + + 2ktTuLeY/QUIyVdWkOlbZkIQv7pPG3bqtO2HyUGxh+4= + + + PrivateHeaders/DITLiveQueryMove+Private.h + + hash2 + + IfWPoaeLpC+p5ITena0Un0iOH8thWjyQWd+JqmaeAS8= + + + PrivateHeaders/DITLogger+Private.h + + hash2 + + Nzm0mpgB6sa06tNiDReWaNknMfWRjned9A55Hq9NmFw= + + + PrivateHeaders/DITMDNSPlatform.h + + hash2 + + DW6XaS9ODZ6oC7+y2X0Hp3F5f+EwdujVHFXwwbqa32g= + + + PrivateHeaders/DITMutableCounter+Private.h + + hash2 + + AbIi9xMofCaiyRIJKcD/zE0mjRyKluvwHbsUpMrYVdU= + + + PrivateHeaders/DITMutableDocument+Private.h + + hash2 + + 7cMs0/XCZ/TIEijxndDgZDgEW002g62sEu2fPIxzW0o= + + + PrivateHeaders/DITMutableDocumentPath+Private.h + + hash2 + + pXKxn7heot1E9KVhhGC6B4d2nDlg7QHzm+RyFqcSyGw= + + + PrivateHeaders/DITMutableRegister+Private.h + + hash2 + + 04sdUBaaV4wiHQ1IFADozAjYu4Ws0Tb2hCHdM8VZ4Sw= + + + PrivateHeaders/DITPeer+Private.h + + hash2 + + b4CRhqmNx3ILT7z6oLezcAVDA8M/1hiS3NL8zsiahlQ= + + + PrivateHeaders/DITPeerToPeer+Private.h + + hash2 + + XHShMPFDptGKiEC6ApSkXslfxKn8joPd6ffoERXkgIY= + + + PrivateHeaders/DITPeersObserver+Private.h + + hash2 + + Fwss8j7/oX5U/yJpps3fEAXCPyxobdujXyDdZPPcZ0w= + + + PrivateHeaders/DITPeersObserverV2+Private.h + + hash2 + + ypPu9rF/v8aYerSWu0vEf2nuIu2xrrC6e/FJ8/hAuwk= + + + PrivateHeaders/DITPendingCollectionsOperation+Private.h + + hash2 + + pbTdiUSL+xAfALz0A1QQITa6PtpIBdCdyKn73lX1ic8= + + + PrivateHeaders/DITPendingCursorOperation+Private.h + + hash2 + + LG6fC9L9pcSNv+CxyHTIp00vbJ5PwnuQJVw3rwTAzfw= + + + PrivateHeaders/DITPendingIDSpecificOperation+Private.h + + hash2 + + RNjtTcVO5yRLTpBtQOLIYqtxiTU3awiXNhTU1W4bIX4= + + + PrivateHeaders/DITPresence+Private.h + + hash2 + + 5GWdYOVJ9CRTuSgQKMcmbLihmUCHcbL90BuICJ+fA9I= + + + PrivateHeaders/DITPresenceGraph+Private.h + + hash2 + + QYYqcLkdckmz7EDUn2oG3u+pVyzwLbX4IjqPXQmG0uo= + + + PrivateHeaders/DITRegister+Private.h + + hash2 + + BPvmTV4/Ns/ZJyda+lds37ewCWpZhnfQMEcmzayBbfI= + + + PrivateHeaders/DITRemotePeer+Private.h + + hash2 + + ZggA9MZtCXt6QRJrP24h3TIyvPt9QpiWqb1Ex23Uc2E= + + + PrivateHeaders/DITScopedWriteTransaction+Private.h + + hash2 + + eZoix4cA0TP4iW3iF/t3QHIncTHFGYTc0ossR3/GEo0= + + + PrivateHeaders/DITSingleDocumentLiveQueryEvent+Private.h + + hash2 + + orsebKJOnYvVESwY3eJ8+y18nAk+oYKIU5JVqQI/Too= + + + PrivateHeaders/DITStore+Private.h + + hash2 + + ykKr8jAJk19XQe+TPX3kWV7iO9sRSMG63T1NBjB7qDo= + + + PrivateHeaders/DITStoreObserver+Private.h + + hash2 + + 8/2GLvBeG9p3/nqP9r5R2RIk839OlUexHct9iXoPrKA= + + + PrivateHeaders/DITSubscription+Private.h + + hash2 + + w9NFHH/5Z9hNaeVQoME2SoEUa3jXSZ2x+v7GMb/44kI= + + + PrivateHeaders/DITTCPListenConfig+Private.h + + hash2 + + ZAx/5Z5ZxS+NQclj7DG9HRx3o6CXHMNAdC6MwIaic70= + + + PrivateHeaders/DITTransportConfig+Private.h + + hash2 + + VTOWtZAqkCtmiaWuMNlqCxeW/LY6vUG6t4gI/yLVOKU= + + + PrivateHeaders/DITTransportDiagnostics+Private.h + + hash2 + + 385R4ElalyOAML77Bg1RZmOGTdN6lkcaRPCWoFN2jWo= + + + PrivateHeaders/DITTransportHandleWrapper.h + + hash2 + + M3kMqFflIbaw6iRb+jpN6q9FY7DYWWUjQIrvwY4AuBM= + + + PrivateHeaders/DITTransportSnapshot+Private.h + + hash2 + + khzi8QVY8anUSKT30/LfcWeb68NECui74XMjgjDem8M= + + + PrivateHeaders/DITUpdateResult+Private.h + + hash2 + + lHvevhLnd43gzoWXQiMGSBnqenSP+35iKTXNpfFNm3U= + + + PrivateHeaders/DITWriteTransaction+Private.h + + hash2 + + HwCaxi4Twz8OBOysXC0rjGghNy7ZR+mMml3waq1utlE= + + + PrivateHeaders/DITWriteTransactionPendingCursorOperation+Private.h + + hash2 + + Q8i9ZWipx0sbOc36q1Eioa94qiZRMRg7UmrtSBWpzqM= + + + PrivateHeaders/DITWriteTransactionPendingIDSpecificOperation+Private.h + + hash2 + + 5v2l5dct4J9tBcK+BDehsq7kI47Bem+lQZn8yah/4Dc= + + + PrivateHeaders/DITWriteTransactionResult+Private.h + + hash2 + + 0DPKgtZeZvFsxPDkfnJAiP2rCMy2ZO1+Imen14p9QhE= + + + PrivateHeaders/DittoTransportsObjC.h + + hash2 + + PXAin9gI9XtOPL6WO0MfyRxTNkhKiOv5GnavoBSTH5I= + + + PrivateHeaders/Log.h + + hash2 + + 8IxXniCLmIWLyYHgSzvGMuuTYa12wbXXrg1uHoAV9Zc= + + + PrivateHeaders/_DITAuthenticationStatusObserver+Private.h + + hash2 + + lm3A2X0xsWbMZsVrmuaTqaOA/9qpyimqKFbXnxcHozw= + + + PrivateHeaders/_DITAuthenticationStatusObserver.h + + hash2 + + tS5pryTzJ2dxEyu3bqnV9vWORrNyT9fDat+fGDR/JFY= + + + PrivateHeaders/_DITDittoHandleWrapper.h + + hash2 + + FPEMqbbCrJgPqxT/1xkC1ma/oO229nsPHpWHtXMSGRI= + + + PrivateHeaders/_DITDittoSwiftHelpers.h + + hash2 + + ACBYhXVGa5KpMUKtZbqwUEH59/Pe2RlFmLzzqypj4ZI= + + + PrivateHeaders/_DITDocumentHandleWrapper.h + + hash2 + + k1Ovt9Cig1vjSB8cHJMt5Cvjn4OHhs/J1TFwSVfFYE8= + + + PrivateHeaders/_DITFFIObject.h + + hash2 + + iWYZ6Gtzi/3495j8TW0l18Mxu9KOtK5Wse4lxwZtnmg= + + + PrivateHeaders/_DITPresenceGraphFromCBORTransformer.h + + hash2 + + UjuJIungLdW90MILQa7CwtSoPaUV2bQ1M9FvlGTpGmE= + + + PrivateHeaders/_DITPresenceManagerV1.h + + hash2 + + zhVwm0EqaqDsqNchlZ0SqqglAchxTS9QPF8Rwfbj5qo= + + + PrivateHeaders/_DITPresenceManagerV2.h + + hash2 + + 6VvsWxDvQMYrMiXS479tXDXEk+D2Lu8elPSDY88RgCs= + + + PrivateHeaders/_DITPresenceObserver+Private.h + + hash2 + + P2I8H879/HsNyd00efT3EmuqPnllIIzeZP/17+mPkY8= + + + PrivateHeaders/_DITPresenceObserver.h + + hash2 + + H+GvuXGWgmfbnpP2RbDZoQSp+uSokA1Yy6wdp5JCDig= + + + PrivateHeaders/_DITQueryOperator.h + + hash2 + + xgIveYX1CY9UMN2CJ5cfaLw+ufLpziQzl5RZvLj5cqo= + + + PrivateHeaders/_DITTransportConditionHelpers.h + + hash2 + + 94vj61MJH1u8KUmxSpS1LRyQZvX2+VfWzRmCOif6/Og= + + + PrivateHeaders/_DITTypeHelpers.h + + hash2 + + W68HliRP7kTDRgEaxPJDomBtHxpoAfMU7jwg/Y3pFFg= + + + PrivateHeaders/dittoffi.h + + hash2 + + qugdRaSwewX3a7DwKjK/DDEr71NxS8IKiXoL5/vkb/U= + + + Resources/Info.plist + + hash2 + + YBMVFMVA+B3IXDRMwCRIZYAb6Am3lKB5w9gGw0OUIwE= + + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/Current b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/Current new file mode 120000 index 0000000..8c7e5a6 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoObjC.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/DittoSwift b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/DittoSwift new file mode 120000 index 0000000..5d3c3c6 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/DittoSwift @@ -0,0 +1 @@ +Versions/Current/DittoSwift \ No newline at end of file diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Headers b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Headers new file mode 120000 index 0000000..a177d2a --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Headers @@ -0,0 +1 @@ +Versions/Current/Headers \ No newline at end of file diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Modules b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Modules new file mode 120000 index 0000000..5736f31 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Modules @@ -0,0 +1 @@ +Versions/Current/Modules \ No newline at end of file diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Resources b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Resources new file mode 120000 index 0000000..953ee36 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Resources @@ -0,0 +1 @@ +Versions/Current/Resources \ No newline at end of file diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/DittoSwift b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/DittoSwift new file mode 100755 index 0000000..a6280ba Binary files /dev/null and b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/DittoSwift differ diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Headers/DittoSwift-Swift.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Headers/DittoSwift-Swift.h new file mode 100644 index 0000000..d3f578d --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Headers/DittoSwift-Swift.h @@ -0,0 +1,632 @@ +#if 0 +#elif defined(__arm64__) && __arm64__ +// Generated by Apple Swift version 6.0.3 effective-5.10 (swiftlang-6.0.3.1.10 clang-1600.0.30.1) +#ifndef DITTOSWIFT_SWIFT_H +#define DITTOSWIFT_SWIFT_H +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wgcc-compat" + +#if !defined(__has_include) +# define __has_include(x) 0 +#endif +#if !defined(__has_attribute) +# define __has_attribute(x) 0 +#endif +#if !defined(__has_feature) +# define __has_feature(x) 0 +#endif +#if !defined(__has_warning) +# define __has_warning(x) 0 +#endif + +#if __has_include() +# include +#endif + +#pragma clang diagnostic ignored "-Wauto-import" +#if defined(__OBJC__) +#include +#endif +#if defined(__cplusplus) +#include +#include +#include +#include +#include +#include +#include +#else +#include +#include +#include +#include +#endif +#if defined(__cplusplus) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module" +#if defined(__arm64e__) && __has_include() +# include +#else +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wreserved-macro-identifier" +# ifndef __ptrauth_swift_value_witness_function_pointer +# define __ptrauth_swift_value_witness_function_pointer(x) +# endif +# ifndef __ptrauth_swift_class_method_pointer +# define __ptrauth_swift_class_method_pointer(x) +# endif +#pragma clang diagnostic pop +#endif +#pragma clang diagnostic pop +#endif + +#if !defined(SWIFT_TYPEDEFS) +# define SWIFT_TYPEDEFS 1 +# if __has_include() +# include +# elif !defined(__cplusplus) +typedef uint_least16_t char16_t; +typedef uint_least32_t char32_t; +# endif +typedef float swift_float2 __attribute__((__ext_vector_type__(2))); +typedef float swift_float3 __attribute__((__ext_vector_type__(3))); +typedef float swift_float4 __attribute__((__ext_vector_type__(4))); +typedef double swift_double2 __attribute__((__ext_vector_type__(2))); +typedef double swift_double3 __attribute__((__ext_vector_type__(3))); +typedef double swift_double4 __attribute__((__ext_vector_type__(4))); +typedef int swift_int2 __attribute__((__ext_vector_type__(2))); +typedef int swift_int3 __attribute__((__ext_vector_type__(3))); +typedef int swift_int4 __attribute__((__ext_vector_type__(4))); +typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); +typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); +typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); +#endif + +#if !defined(SWIFT_PASTE) +# define SWIFT_PASTE_HELPER(x, y) x##y +# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) +#endif +#if !defined(SWIFT_METATYPE) +# define SWIFT_METATYPE(X) Class +#endif +#if !defined(SWIFT_CLASS_PROPERTY) +# if __has_feature(objc_class_property) +# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ +# else +# define SWIFT_CLASS_PROPERTY(...) +# endif +#endif +#if !defined(SWIFT_RUNTIME_NAME) +# if __has_attribute(objc_runtime_name) +# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) +# else +# define SWIFT_RUNTIME_NAME(X) +# endif +#endif +#if !defined(SWIFT_COMPILE_NAME) +# if __has_attribute(swift_name) +# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) +# else +# define SWIFT_COMPILE_NAME(X) +# endif +#endif +#if !defined(SWIFT_METHOD_FAMILY) +# if __has_attribute(objc_method_family) +# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) +# else +# define SWIFT_METHOD_FAMILY(X) +# endif +#endif +#if !defined(SWIFT_NOESCAPE) +# if __has_attribute(noescape) +# define SWIFT_NOESCAPE __attribute__((noescape)) +# else +# define SWIFT_NOESCAPE +# endif +#endif +#if !defined(SWIFT_RELEASES_ARGUMENT) +# if __has_attribute(ns_consumed) +# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) +# else +# define SWIFT_RELEASES_ARGUMENT +# endif +#endif +#if !defined(SWIFT_WARN_UNUSED_RESULT) +# if __has_attribute(warn_unused_result) +# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +# else +# define SWIFT_WARN_UNUSED_RESULT +# endif +#endif +#if !defined(SWIFT_NORETURN) +# if __has_attribute(noreturn) +# define SWIFT_NORETURN __attribute__((noreturn)) +# else +# define SWIFT_NORETURN +# endif +#endif +#if !defined(SWIFT_CLASS_EXTRA) +# define SWIFT_CLASS_EXTRA +#endif +#if !defined(SWIFT_PROTOCOL_EXTRA) +# define SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_ENUM_EXTRA) +# define SWIFT_ENUM_EXTRA +#endif +#if !defined(SWIFT_CLASS) +# if __has_attribute(objc_subclassing_restricted) +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# else +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# endif +#endif +#if !defined(SWIFT_RESILIENT_CLASS) +# if __has_attribute(objc_class_stub) +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) +# else +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) +# endif +#endif +#if !defined(SWIFT_PROTOCOL) +# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_EXTENSION) +# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) +#endif +#if !defined(OBJC_DESIGNATED_INITIALIZER) +# if __has_attribute(objc_designated_initializer) +# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) +# else +# define OBJC_DESIGNATED_INITIALIZER +# endif +#endif +#if !defined(SWIFT_ENUM_ATTR) +# if __has_attribute(enum_extensibility) +# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) +# else +# define SWIFT_ENUM_ATTR(_extensibility) +# endif +#endif +#if !defined(SWIFT_ENUM) +# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# if __has_feature(generalized_swift_name) +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# else +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) +# endif +#endif +#if !defined(SWIFT_UNAVAILABLE) +# define SWIFT_UNAVAILABLE __attribute__((unavailable)) +#endif +#if !defined(SWIFT_UNAVAILABLE_MSG) +# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) +#endif +#if !defined(SWIFT_AVAILABILITY) +# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) +#endif +#if !defined(SWIFT_WEAK_IMPORT) +# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) +#endif +#if !defined(SWIFT_DEPRECATED) +# define SWIFT_DEPRECATED __attribute__((deprecated)) +#endif +#if !defined(SWIFT_DEPRECATED_MSG) +# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) +#endif +#if !defined(SWIFT_DEPRECATED_OBJC) +# if __has_feature(attribute_diagnose_if_objc) +# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) +# else +# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) +# endif +#endif +#if defined(__OBJC__) +#if !defined(IBSegueAction) +# define IBSegueAction +#endif +#endif +#if !defined(SWIFT_EXTERN) +# if defined(__cplusplus) +# define SWIFT_EXTERN extern "C" +# else +# define SWIFT_EXTERN extern +# endif +#endif +#if !defined(SWIFT_CALL) +# define SWIFT_CALL __attribute__((swiftcall)) +#endif +#if !defined(SWIFT_INDIRECT_RESULT) +# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result)) +#endif +#if !defined(SWIFT_CONTEXT) +# define SWIFT_CONTEXT __attribute__((swift_context)) +#endif +#if !defined(SWIFT_ERROR_RESULT) +# define SWIFT_ERROR_RESULT __attribute__((swift_error_result)) +#endif +#if defined(__cplusplus) +# define SWIFT_NOEXCEPT noexcept +#else +# define SWIFT_NOEXCEPT +#endif +#if !defined(SWIFT_C_INLINE_THUNK) +# if __has_attribute(always_inline) +# if __has_attribute(nodebug) +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug)) +# else +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) +# endif +# else +# define SWIFT_C_INLINE_THUNK inline +# endif +#endif +#if defined(_WIN32) +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport) +#endif +#else +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL +#endif +#endif +#if defined(__OBJC__) +#if __has_feature(objc_modules) +#if __has_warning("-Watimport-in-framework-header") +#pragma clang diagnostic ignored "-Watimport-in-framework-header" +#endif +#endif + +#endif +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" +#pragma clang diagnostic ignored "-Wduplicate-method-arg" +#if __has_warning("-Wpragma-clang-attribute") +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" +#endif +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wnullability" +#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" +#pragma clang diagnostic ignored "-Wunsafe-buffer-usage" + +#if __has_attribute(external_source_symbol) +# pragma push_macro("any") +# undef any +# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="DittoSwift",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) +# pragma pop_macro("any") +#endif + +#if defined(__OBJC__) + + + +#endif +#if __has_attribute(external_source_symbol) +# pragma clang attribute pop +#endif +#if defined(__cplusplus) +#endif +#pragma clang diagnostic pop +#endif + +#elif defined(__x86_64__) && __x86_64__ +// Generated by Apple Swift version 6.0.3 effective-5.10 (swiftlang-6.0.3.1.10 clang-1600.0.30.1) +#ifndef DITTOSWIFT_SWIFT_H +#define DITTOSWIFT_SWIFT_H +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wgcc-compat" + +#if !defined(__has_include) +# define __has_include(x) 0 +#endif +#if !defined(__has_attribute) +# define __has_attribute(x) 0 +#endif +#if !defined(__has_feature) +# define __has_feature(x) 0 +#endif +#if !defined(__has_warning) +# define __has_warning(x) 0 +#endif + +#if __has_include() +# include +#endif + +#pragma clang diagnostic ignored "-Wauto-import" +#if defined(__OBJC__) +#include +#endif +#if defined(__cplusplus) +#include +#include +#include +#include +#include +#include +#include +#else +#include +#include +#include +#include +#endif +#if defined(__cplusplus) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module" +#if defined(__arm64e__) && __has_include() +# include +#else +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wreserved-macro-identifier" +# ifndef __ptrauth_swift_value_witness_function_pointer +# define __ptrauth_swift_value_witness_function_pointer(x) +# endif +# ifndef __ptrauth_swift_class_method_pointer +# define __ptrauth_swift_class_method_pointer(x) +# endif +#pragma clang diagnostic pop +#endif +#pragma clang diagnostic pop +#endif + +#if !defined(SWIFT_TYPEDEFS) +# define SWIFT_TYPEDEFS 1 +# if __has_include() +# include +# elif !defined(__cplusplus) +typedef uint_least16_t char16_t; +typedef uint_least32_t char32_t; +# endif +typedef float swift_float2 __attribute__((__ext_vector_type__(2))); +typedef float swift_float3 __attribute__((__ext_vector_type__(3))); +typedef float swift_float4 __attribute__((__ext_vector_type__(4))); +typedef double swift_double2 __attribute__((__ext_vector_type__(2))); +typedef double swift_double3 __attribute__((__ext_vector_type__(3))); +typedef double swift_double4 __attribute__((__ext_vector_type__(4))); +typedef int swift_int2 __attribute__((__ext_vector_type__(2))); +typedef int swift_int3 __attribute__((__ext_vector_type__(3))); +typedef int swift_int4 __attribute__((__ext_vector_type__(4))); +typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); +typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); +typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); +#endif + +#if !defined(SWIFT_PASTE) +# define SWIFT_PASTE_HELPER(x, y) x##y +# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) +#endif +#if !defined(SWIFT_METATYPE) +# define SWIFT_METATYPE(X) Class +#endif +#if !defined(SWIFT_CLASS_PROPERTY) +# if __has_feature(objc_class_property) +# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ +# else +# define SWIFT_CLASS_PROPERTY(...) +# endif +#endif +#if !defined(SWIFT_RUNTIME_NAME) +# if __has_attribute(objc_runtime_name) +# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) +# else +# define SWIFT_RUNTIME_NAME(X) +# endif +#endif +#if !defined(SWIFT_COMPILE_NAME) +# if __has_attribute(swift_name) +# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) +# else +# define SWIFT_COMPILE_NAME(X) +# endif +#endif +#if !defined(SWIFT_METHOD_FAMILY) +# if __has_attribute(objc_method_family) +# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) +# else +# define SWIFT_METHOD_FAMILY(X) +# endif +#endif +#if !defined(SWIFT_NOESCAPE) +# if __has_attribute(noescape) +# define SWIFT_NOESCAPE __attribute__((noescape)) +# else +# define SWIFT_NOESCAPE +# endif +#endif +#if !defined(SWIFT_RELEASES_ARGUMENT) +# if __has_attribute(ns_consumed) +# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) +# else +# define SWIFT_RELEASES_ARGUMENT +# endif +#endif +#if !defined(SWIFT_WARN_UNUSED_RESULT) +# if __has_attribute(warn_unused_result) +# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +# else +# define SWIFT_WARN_UNUSED_RESULT +# endif +#endif +#if !defined(SWIFT_NORETURN) +# if __has_attribute(noreturn) +# define SWIFT_NORETURN __attribute__((noreturn)) +# else +# define SWIFT_NORETURN +# endif +#endif +#if !defined(SWIFT_CLASS_EXTRA) +# define SWIFT_CLASS_EXTRA +#endif +#if !defined(SWIFT_PROTOCOL_EXTRA) +# define SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_ENUM_EXTRA) +# define SWIFT_ENUM_EXTRA +#endif +#if !defined(SWIFT_CLASS) +# if __has_attribute(objc_subclassing_restricted) +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# else +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# endif +#endif +#if !defined(SWIFT_RESILIENT_CLASS) +# if __has_attribute(objc_class_stub) +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) +# else +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) +# endif +#endif +#if !defined(SWIFT_PROTOCOL) +# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_EXTENSION) +# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) +#endif +#if !defined(OBJC_DESIGNATED_INITIALIZER) +# if __has_attribute(objc_designated_initializer) +# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) +# else +# define OBJC_DESIGNATED_INITIALIZER +# endif +#endif +#if !defined(SWIFT_ENUM_ATTR) +# if __has_attribute(enum_extensibility) +# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) +# else +# define SWIFT_ENUM_ATTR(_extensibility) +# endif +#endif +#if !defined(SWIFT_ENUM) +# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# if __has_feature(generalized_swift_name) +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# else +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) +# endif +#endif +#if !defined(SWIFT_UNAVAILABLE) +# define SWIFT_UNAVAILABLE __attribute__((unavailable)) +#endif +#if !defined(SWIFT_UNAVAILABLE_MSG) +# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) +#endif +#if !defined(SWIFT_AVAILABILITY) +# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) +#endif +#if !defined(SWIFT_WEAK_IMPORT) +# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) +#endif +#if !defined(SWIFT_DEPRECATED) +# define SWIFT_DEPRECATED __attribute__((deprecated)) +#endif +#if !defined(SWIFT_DEPRECATED_MSG) +# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) +#endif +#if !defined(SWIFT_DEPRECATED_OBJC) +# if __has_feature(attribute_diagnose_if_objc) +# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) +# else +# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) +# endif +#endif +#if defined(__OBJC__) +#if !defined(IBSegueAction) +# define IBSegueAction +#endif +#endif +#if !defined(SWIFT_EXTERN) +# if defined(__cplusplus) +# define SWIFT_EXTERN extern "C" +# else +# define SWIFT_EXTERN extern +# endif +#endif +#if !defined(SWIFT_CALL) +# define SWIFT_CALL __attribute__((swiftcall)) +#endif +#if !defined(SWIFT_INDIRECT_RESULT) +# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result)) +#endif +#if !defined(SWIFT_CONTEXT) +# define SWIFT_CONTEXT __attribute__((swift_context)) +#endif +#if !defined(SWIFT_ERROR_RESULT) +# define SWIFT_ERROR_RESULT __attribute__((swift_error_result)) +#endif +#if defined(__cplusplus) +# define SWIFT_NOEXCEPT noexcept +#else +# define SWIFT_NOEXCEPT +#endif +#if !defined(SWIFT_C_INLINE_THUNK) +# if __has_attribute(always_inline) +# if __has_attribute(nodebug) +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug)) +# else +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) +# endif +# else +# define SWIFT_C_INLINE_THUNK inline +# endif +#endif +#if defined(_WIN32) +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport) +#endif +#else +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL +#endif +#endif +#if defined(__OBJC__) +#if __has_feature(objc_modules) +#if __has_warning("-Watimport-in-framework-header") +#pragma clang diagnostic ignored "-Watimport-in-framework-header" +#endif +#endif + +#endif +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" +#pragma clang diagnostic ignored "-Wduplicate-method-arg" +#if __has_warning("-Wpragma-clang-attribute") +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" +#endif +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wnullability" +#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" +#pragma clang diagnostic ignored "-Wunsafe-buffer-usage" + +#if __has_attribute(external_source_symbol) +# pragma push_macro("any") +# undef any +# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="DittoSwift",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) +# pragma pop_macro("any") +#endif + +#if defined(__OBJC__) + + + +#endif +#if __has_attribute(external_source_symbol) +# pragma clang attribute pop +#endif +#if defined(__cplusplus) +#endif +#pragma clang diagnostic pop +#endif + +#else +#error unsupported Swift architecture +#endif diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Headers/DittoSwift.h b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Headers/DittoSwift.h new file mode 100644 index 0000000..c617895 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Headers/DittoSwift.h @@ -0,0 +1,11 @@ +// +// Copyright ยฉ 2020 DittoLive Incorporated. All rights reserved. +// + +#import + +//! Project version number for DittoSwift. +FOUNDATION_EXPORT double DittoSwiftVersionNumber; + +//! Project version string for DittoSwift. +FOUNDATION_EXPORT const unsigned char DittoSwiftVersionString[]; diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/arm64-apple-macos.abi.json b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/arm64-apple-macos.abi.json new file mode 100644 index 0000000..ef5a434 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/arm64-apple-macos.abi.json @@ -0,0 +1,56783 @@ +{ + "ABIRoot": { + "kind": "Root", + "name": "DittoSwift", + "printedName": "DittoSwift", + "children": [ + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DiskUsage", + "printedName": "DiskUsage", + "children": [ + { + "kind": "Var", + "name": "exec", + "printedName": "exec", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsageItem", + "printedName": "DittoSwift.DiskUsageItem", + "usr": "s:10DittoSwift13DiskUsageItemV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift9DiskUsageC4execAA0cD4ItemVvp", + "mangledName": "$s10DittoSwift9DiskUsageC4execAA0cD4ItemVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsageItem", + "printedName": "DittoSwift.DiskUsageItem", + "usr": "s:10DittoSwift13DiskUsageItemV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift9DiskUsageC4execAA0cD4ItemVvg", + "mangledName": "$s10DittoSwift9DiskUsageC4execAA0cD4ItemVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "observe", + "printedName": "observe(eventHandler:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsageObserverHandle", + "printedName": "DittoSwift.DiskUsage.DiskUsageObserverHandle", + "usr": "s:10DittoSwift9DiskUsageC0cD14ObserverHandleC" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DiskUsageItem) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DiskUsageItem", + "printedName": "DittoSwift.DiskUsageItem", + "usr": "s:10DittoSwift13DiskUsageItemV" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift9DiskUsageC7observe12eventHandlerAC0cD14ObserverHandleCyAA0cD4ItemVc_tF", + "mangledName": "$s10DittoSwift9DiskUsageC7observe12eventHandlerAC0cD14ObserverHandleCyAA0cD4ItemVc_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "DiskUsageObserverHandle", + "printedName": "DiskUsageObserverHandle", + "children": [ + { + "kind": "Function", + "name": "stop", + "printedName": "stop()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift9DiskUsageC0cD14ObserverHandleC4stopyyF", + "mangledName": "$s10DittoSwift9DiskUsageC0cD14ObserverHandleC4stopyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift9DiskUsageC0cD14ObserverHandleC", + "mangledName": "$s10DittoSwift9DiskUsageC0cD14ObserverHandleC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DiskUsagePublisher", + "printedName": "DiskUsagePublisher", + "children": [ + { + "kind": "Function", + "name": "receive", + "printedName": "receive(subscriber:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift9DiskUsageC0cD9PublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0cD4ItemV5InputRtzlF", + "mangledName": "$s10DittoSwift9DiskUsageC0cD9PublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0cD4ItemV5InputRtzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Combine.Subscriber, ฯ„_0_0.Failure == Swift.Never, ฯ„_0_0.Input == DittoSwift.DiskUsageItem>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift9DiskUsageC0cD9PublisherV", + "mangledName": "$s10DittoSwift9DiskUsageC0cD9PublisherV", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Publisher", + "printedName": "Publisher", + "children": [ + { + "kind": "TypeWitness", + "name": "Output", + "printedName": "Output", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsageItem", + "printedName": "DittoSwift.DiskUsageItem", + "usr": "s:10DittoSwift13DiskUsageItemV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Failure", + "printedName": "Failure", + "children": [ + { + "kind": "TypeNominal", + "name": "Never", + "printedName": "Swift.Never", + "usr": "s:s5NeverO" + } + ] + } + ], + "usr": "s:7Combine9PublisherP", + "mangledName": "$s7Combine9PublisherP" + } + ] + }, + { + "kind": "Function", + "name": "diskUsagePublisher", + "printedName": "diskUsagePublisher()", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsagePublisher", + "printedName": "DittoSwift.DiskUsage.DiskUsagePublisher", + "usr": "s:10DittoSwift9DiskUsageC0cD9PublisherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift9DiskUsageC04diskD9PublisherAC0cdF0VyF", + "mangledName": "$s10DittoSwift9DiskUsageC04diskD9PublisherAC0cdF0VyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift9DiskUsageC", + "mangledName": "$s10DittoSwift9DiskUsageC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoAttachmentFetcher", + "printedName": "DittoAttachmentFetcher", + "children": [ + { + "kind": "Var", + "name": "ditto", + "printedName": "ditto", + "children": [ + { + "kind": "TypeNominal", + "name": "WeakStorage", + "printedName": "DittoSwift.Ditto?" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17AttachmentFetcherC5dittoAA0A0CSgvp", + "mangledName": "$s10DittoSwift0A17AttachmentFetcherC5dittoAA0A0CSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "ReferenceOwnership", + "SetterAccess", + "AccessControl", + "RawDocComment" + ], + "ownership": 1, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.Ditto?", + "children": [ + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17AttachmentFetcherC5dittoAA0A0CSgvg", + "mangledName": "$s10DittoSwift0A17AttachmentFetcherC5dittoAA0A0CSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "stop", + "printedName": "stop()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A17AttachmentFetcherC4stopyyF", + "mangledName": "$s10DittoSwift0A17AttachmentFetcherC4stopyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A17AttachmentFetcherC4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A17AttachmentFetcherC4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17AttachmentFetcherC9hashValueSivp", + "mangledName": "$s10DittoSwift0A17AttachmentFetcherC9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17AttachmentFetcherC9hashValueSivg", + "mangledName": "$s10DittoSwift0A17AttachmentFetcherC9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetcher", + "printedName": "DittoSwift.DittoAttachmentFetcher", + "usr": "s:10DittoSwift0A17AttachmentFetcherC" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetcher", + "printedName": "DittoSwift.DittoAttachmentFetcher", + "usr": "s:10DittoSwift0A17AttachmentFetcherC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A17AttachmentFetcherC2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A17AttachmentFetcherC2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A17AttachmentFetcherC", + "mangledName": "$s10DittoSwift0A17AttachmentFetcherC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoUpdateResult", + "printedName": "DittoUpdateResult", + "children": [ + { + "kind": "Var", + "name": "set", + "printedName": "set", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoUpdateResult.Type) -> (DittoSwift.DittoDocumentID, Swift.String, Any?) -> DittoSwift.DittoUpdateResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoDocumentID, Swift.String, Any?) -> DittoSwift.DittoUpdateResult", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoUpdateResult", + "printedName": "DittoSwift.DittoUpdateResult", + "usr": "s:10DittoSwift0A12UpdateResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(docID: DittoSwift.DittoDocumentID, path: Swift.String, value: Any?)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoUpdateResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoUpdateResult", + "printedName": "DittoSwift.DittoUpdateResult", + "usr": "s:10DittoSwift0A12UpdateResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A12UpdateResultO3setyAcA0A10DocumentIDV_SSypSgtcACmF", + "mangledName": "$s10DittoSwift0A12UpdateResultO3setyAcA0A10DocumentIDV_SSypSgtcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "removed", + "printedName": "removed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoUpdateResult.Type) -> (DittoSwift.DittoDocumentID, Swift.String) -> DittoSwift.DittoUpdateResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoDocumentID, Swift.String) -> DittoSwift.DittoUpdateResult", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoUpdateResult", + "printedName": "DittoSwift.DittoUpdateResult", + "usr": "s:10DittoSwift0A12UpdateResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(docID: DittoSwift.DittoDocumentID, path: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoUpdateResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoUpdateResult", + "printedName": "DittoSwift.DittoUpdateResult", + "usr": "s:10DittoSwift0A12UpdateResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A12UpdateResultO7removedyAcA0A10DocumentIDV_SStcACmF", + "mangledName": "$s10DittoSwift0A12UpdateResultO7removedyAcA0A10DocumentIDV_SStcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "incremented", + "printedName": "incremented", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoUpdateResult.Type) -> (DittoSwift.DittoDocumentID, Swift.String, Swift.Double) -> DittoSwift.DittoUpdateResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoDocumentID, Swift.String, Swift.Double) -> DittoSwift.DittoUpdateResult", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoUpdateResult", + "printedName": "DittoSwift.DittoUpdateResult", + "usr": "s:10DittoSwift0A12UpdateResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(docID: DittoSwift.DittoDocumentID, path: Swift.String, amount: Swift.Double)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoUpdateResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoUpdateResult", + "printedName": "DittoSwift.DittoUpdateResult", + "usr": "s:10DittoSwift0A12UpdateResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A12UpdateResultO11incrementedyAcA0A10DocumentIDV_SSSdtcACmF", + "mangledName": "$s10DittoSwift0A12UpdateResultO11incrementedyAcA0A10DocumentIDV_SSSdtcACmF", + "moduleName": "DittoSwift" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A12UpdateResultO", + "mangledName": "$s10DittoSwift0A12UpdateResultO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoSync", + "printedName": "DittoSync", + "children": [ + { + "kind": "Var", + "name": "subscriptions", + "printedName": "subscriptions", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSyncSubscription", + "printedName": "DittoSwift.DittoSyncSubscription", + "usr": "s:10DittoSwift0A16SyncSubscriptionC" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4SyncC13subscriptionsShyAA0aC12SubscriptionCGvp", + "mangledName": "$s10DittoSwift0A4SyncC13subscriptionsShyAA0aC12SubscriptionCGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSyncSubscription", + "printedName": "DittoSwift.DittoSyncSubscription", + "usr": "s:10DittoSwift0A16SyncSubscriptionC" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4SyncC13subscriptionsShyAA0aC12SubscriptionCGvg", + "mangledName": "$s10DittoSwift0A4SyncC13subscriptionsShyAA0aC12SubscriptionCGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "registerSubscription", + "printedName": "registerSubscription(query:arguments:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSyncSubscription", + "printedName": "DittoSwift.DittoSyncSubscription", + "usr": "s:10DittoSwift0A16SyncSubscriptionC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A4SyncC20registerSubscription5query9argumentsAA0acE0CSS_SDySSypSgGSgtKF", + "mangledName": "$s10DittoSwift0A4SyncC20registerSubscription5query9argumentsAA0acE0CSS_SDySSypSgGSgtKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A4SyncC", + "mangledName": "$s10DittoSwift0A4SyncC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoCollectionsEvent", + "printedName": "DittoCollectionsEvent", + "children": [ + { + "kind": "Var", + "name": "isInitial", + "printedName": "isInitial", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16CollectionsEventV9isInitialSbvp", + "mangledName": "$s10DittoSwift0A16CollectionsEventV9isInitialSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16CollectionsEventV9isInitialSbvg", + "mangledName": "$s10DittoSwift0A16CollectionsEventV9isInitialSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "collections", + "printedName": "collections", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoCollection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCollection", + "printedName": "DittoSwift.DittoCollection", + "usr": "s:10DittoSwift0A10CollectionC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16CollectionsEventV11collectionsSayAA0A10CollectionCGvp", + "mangledName": "$s10DittoSwift0A16CollectionsEventV11collectionsSayAA0A10CollectionCGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoCollection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCollection", + "printedName": "DittoSwift.DittoCollection", + "usr": "s:10DittoSwift0A10CollectionC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16CollectionsEventV11collectionsSayAA0A10CollectionCGvg", + "mangledName": "$s10DittoSwift0A16CollectionsEventV11collectionsSayAA0A10CollectionCGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "oldCollections", + "printedName": "oldCollections", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoCollection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCollection", + "printedName": "DittoSwift.DittoCollection", + "usr": "s:10DittoSwift0A10CollectionC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16CollectionsEventV03oldC0SayAA0A10CollectionCGvp", + "mangledName": "$s10DittoSwift0A16CollectionsEventV03oldC0SayAA0A10CollectionCGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoCollection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCollection", + "printedName": "DittoSwift.DittoCollection", + "usr": "s:10DittoSwift0A10CollectionC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16CollectionsEventV03oldC0SayAA0A10CollectionCGvg", + "mangledName": "$s10DittoSwift0A16CollectionsEventV03oldC0SayAA0A10CollectionCGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "insertions", + "printedName": "insertions", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16CollectionsEventV10insertionsSaySiGvp", + "mangledName": "$s10DittoSwift0A16CollectionsEventV10insertionsSaySiGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16CollectionsEventV10insertionsSaySiGvg", + "mangledName": "$s10DittoSwift0A16CollectionsEventV10insertionsSaySiGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "deletions", + "printedName": "deletions", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16CollectionsEventV9deletionsSaySiGvp", + "mangledName": "$s10DittoSwift0A16CollectionsEventV9deletionsSaySiGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16CollectionsEventV9deletionsSaySiGvg", + "mangledName": "$s10DittoSwift0A16CollectionsEventV9deletionsSaySiGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "updates", + "printedName": "updates", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16CollectionsEventV7updatesSaySiGvp", + "mangledName": "$s10DittoSwift0A16CollectionsEventV7updatesSaySiGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16CollectionsEventV7updatesSaySiGvg", + "mangledName": "$s10DittoSwift0A16CollectionsEventV7updatesSaySiGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "moves", + "printedName": "moves", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[(from: Swift.Int, to: Swift.Int)]", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(from: Swift.Int, to: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16CollectionsEventV5movesSaySi4from_Si2totGvp", + "mangledName": "$s10DittoSwift0A16CollectionsEventV5movesSaySi4from_Si2totGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[(from: Swift.Int, to: Swift.Int)]", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(from: Swift.Int, to: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16CollectionsEventV5movesSaySi4from_Si2totGvg", + "mangledName": "$s10DittoSwift0A16CollectionsEventV5movesSaySi4from_Si2totGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16CollectionsEventV11descriptionSSvp", + "mangledName": "$s10DittoSwift0A16CollectionsEventV11descriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16CollectionsEventV11descriptionSSvg", + "mangledName": "$s10DittoSwift0A16CollectionsEventV11descriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "debugDescription", + "printedName": "debugDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16CollectionsEventV16debugDescriptionSSvp", + "mangledName": "$s10DittoSwift0A16CollectionsEventV16debugDescriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16CollectionsEventV16debugDescriptionSSvg", + "mangledName": "$s10DittoSwift0A16CollectionsEventV16debugDescriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A16CollectionsEventV", + "mangledName": "$s10DittoSwift0A16CollectionsEventV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + } + ] + }, + { + "kind": "Import", + "name": "Combine", + "printedName": "Combine", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoAttachmentFetchEvent", + "children": [ + { + "kind": "Var", + "name": "completed", + "printedName": "completed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoAttachmentFetchEvent.Type) -> (DittoSwift.DittoAttachment) -> DittoSwift.DittoAttachmentFetchEvent", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoAttachment) -> DittoSwift.DittoAttachmentFetchEvent", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachment", + "printedName": "DittoSwift.DittoAttachment", + "usr": "s:10DittoSwift0A10AttachmentC" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoAttachmentFetchEvent.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO9completedyAcA0aC0CcACmF", + "mangledName": "$s10DittoSwift0A20AttachmentFetchEventO9completedyAcA0aC0CcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "progress", + "printedName": "progress", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoAttachmentFetchEvent.Type) -> (Swift.UInt64, Swift.UInt64) -> DittoSwift.DittoAttachmentFetchEvent", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.UInt64, Swift.UInt64) -> DittoSwift.DittoAttachmentFetchEvent", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(downloadedBytes: Swift.UInt64, totalBytes: Swift.UInt64)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoAttachmentFetchEvent.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO8progressyACs6UInt64V_AFtcACmF", + "mangledName": "$s10DittoSwift0A20AttachmentFetchEventO8progressyACs6UInt64V_AFtcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "deleted", + "printedName": "deleted", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoAttachmentFetchEvent.Type) -> DittoSwift.DittoAttachmentFetchEvent", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoAttachmentFetchEvent.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO7deletedyA2CmF", + "mangledName": "$s10DittoSwift0A20AttachmentFetchEventO7deletedyA2CmF", + "moduleName": "DittoSwift" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO", + "mangledName": "$s10DittoSwift0A20AttachmentFetchEventO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoTransportSnapshot", + "printedName": "DittoTransportSnapshot", + "children": [ + { + "kind": "Var", + "name": "connectionType", + "printedName": "connectionType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17TransportSnapshotC14connectionTypeSSvp", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC14connectionTypeSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17TransportSnapshotC14connectionTypeSSvg", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC14connectionTypeSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "connecting", + "printedName": "connecting", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int64]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17TransportSnapshotC10connectingSays5Int64VGvp", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC10connectingSays5Int64VGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int64]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17TransportSnapshotC10connectingSays5Int64VGvg", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC10connectingSays5Int64VGvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "connected", + "printedName": "connected", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int64]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17TransportSnapshotC9connectedSays5Int64VGvp", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC9connectedSays5Int64VGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int64]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17TransportSnapshotC9connectedSays5Int64VGvg", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC9connectedSays5Int64VGvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "disconnecting", + "printedName": "disconnecting", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int64]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17TransportSnapshotC13disconnectingSays5Int64VGvp", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC13disconnectingSays5Int64VGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int64]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17TransportSnapshotC13disconnectingSays5Int64VGvg", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC13disconnectingSays5Int64VGvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "disconnected", + "printedName": "disconnected", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int64]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17TransportSnapshotC12disconnectedSays5Int64VGvp", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC12disconnectedSays5Int64VGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int64]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17TransportSnapshotC12disconnectedSays5Int64VGvg", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC12disconnectedSays5Int64VGvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A17TransportSnapshotC", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoDocument", + "printedName": "DittoDocument", + "children": [ + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8DocumentC2idAA0aC2IDVvp", + "mangledName": "$s10DittoSwift0A8DocumentC2idAA0aC2IDVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8DocumentC2idAA0aC2IDVvg", + "mangledName": "$s10DittoSwift0A8DocumentC2idAA0aC2IDVvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8DocumentC5valueSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A8DocumentC5valueSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Lazy", + "SetterAccess", + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8DocumentC5valueSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A8DocumentC5valueSDySSypSgGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentPath", + "printedName": "DittoSwift.DittoDocumentPath", + "usr": "s:10DittoSwift0A12DocumentPathV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A8DocumentCyAA0aC4PathVSScip", + "mangledName": "$s10DittoSwift0A8DocumentCyAA0aC4PathVSScip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentPath", + "printedName": "DittoSwift.DittoDocumentPath", + "usr": "s:10DittoSwift0A12DocumentPathV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8DocumentCyAA0aC4PathVSScig", + "mangledName": "$s10DittoSwift0A8DocumentCyAA0aC4PathVSScig", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "typed", + "printedName": "typed(as:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTypedDocument", + "printedName": "DittoSwift.DittoTypedDocument<ฯ„_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "usr": "s:10DittoSwift0A13TypedDocumentC" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "ฯ„_0_0.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8DocumentC5typed2asAA0a5TypedC0CyxGxm_tKSeRzSERzlF", + "mangledName": "$s10DittoSwift0A8DocumentC5typed2asAA0a5TypedC0CyxGxm_tKSeRzSERzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Swift.Decodable, ฯ„_0_0 : Swift.Encodable>", + "sugared_genericSig": "", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8DocumentC11descriptionSSvp", + "mangledName": "$s10DittoSwift0A8DocumentC11descriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8DocumentC11descriptionSSvg", + "mangledName": "$s10DittoSwift0A8DocumentC11descriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "debugDescription", + "printedName": "debugDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8DocumentC16debugDescriptionSSvp", + "mangledName": "$s10DittoSwift0A8DocumentC16debugDescriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8DocumentC16debugDescriptionSSvg", + "mangledName": "$s10DittoSwift0A8DocumentC16debugDescriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A8DocumentC", + "mangledName": "$s10DittoSwift0A8DocumentC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Identifiable", + "printedName": "Identifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "ID", + "printedName": "ID", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ] + } + ], + "usr": "s:s12IdentifiableP", + "mangledName": "$ss12IdentifiableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoCollection", + "printedName": "DittoCollection", + "children": [ + { + "kind": "Var", + "name": "name", + "printedName": "name", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10CollectionC4nameSSvp", + "mangledName": "$s10DittoSwift0A10CollectionC4nameSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10CollectionC4nameSSvg", + "mangledName": "$s10DittoSwift0A10CollectionC4nameSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "upsert", + "printedName": "upsert(_:writeStrategy:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "hasDefaultArg": true, + "usr": "s:10DittoSwift0A13WriteStrategyO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC6upsert_13writeStrategyAA0A10DocumentIDVSDySSypSgG_AA0a5WriteF0OtKF", + "mangledName": "$s10DittoSwift0A10CollectionC6upsert_13writeStrategyAA0A10DocumentIDVSDySSypSgG_AA0a5WriteF0OtKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "upsert", + "printedName": "upsert(_:writeStrategy:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + }, + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "hasDefaultArg": true, + "usr": "s:10DittoSwift0A13WriteStrategyO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC6upsert_13writeStrategyAA0A10DocumentIDVx_AA0a5WriteF0OtKSERzlF", + "mangledName": "$s10DittoSwift0A10CollectionC6upsert_13writeStrategyAA0A10DocumentIDVx_AA0a5WriteF0OtKSERzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Swift.Encodable>", + "sugared_genericSig": "", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "findByID", + "printedName": "findByID(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPendingIDSpecificOperation", + "printedName": "DittoSwift.DittoPendingIDSpecificOperation", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC" + }, + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC8findByIDyAA0A26PendingIDSpecificOperationCAA0a8DocumentF0VF", + "mangledName": "$s10DittoSwift0A10CollectionC8findByIDyAA0A26PendingIDSpecificOperationCAA0a8DocumentF0VF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "findByID", + "printedName": "findByID(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPendingIDSpecificOperation", + "printedName": "DittoSwift.DittoPendingIDSpecificOperation", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC" + }, + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC8findByIDyAA0A26PendingIDSpecificOperationCypF", + "mangledName": "$s10DittoSwift0A10CollectionC8findByIDyAA0A26PendingIDSpecificOperationCypF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "find", + "printedName": "find(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPendingCursorOperation", + "printedName": "DittoSwift.DittoPendingCursorOperation", + "usr": "s:10DittoSwift0A22PendingCursorOperationC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC4findyAA0A22PendingCursorOperationCSSF", + "mangledName": "$s10DittoSwift0A10CollectionC4findyAA0A22PendingCursorOperationCSSF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "find", + "printedName": "find(_:args:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPendingCursorOperation", + "printedName": "DittoSwift.DittoPendingCursorOperation", + "usr": "s:10DittoSwift0A22PendingCursorOperationC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC4find_4argsAA0A22PendingCursorOperationCSS_SDySSypSgGtF", + "mangledName": "$s10DittoSwift0A10CollectionC4find_4argsAA0A22PendingCursorOperationCSS_SDySSypSgGtF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "findAll", + "printedName": "findAll()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPendingCursorOperation", + "printedName": "DittoSwift.DittoPendingCursorOperation", + "usr": "s:10DittoSwift0A22PendingCursorOperationC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC7findAllAA0A22PendingCursorOperationCyF", + "mangledName": "$s10DittoSwift0A10CollectionC7findAllAA0A22PendingCursorOperationCyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "newAttachment", + "printedName": "newAttachment(path:metadata:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoAttachment?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachment", + "printedName": "DittoSwift.DittoAttachment", + "usr": "s:10DittoSwift0A10AttachmentC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC13newAttachment4path8metadataAA0aE0CSgSS_SDyS2SGtF", + "mangledName": "$s10DittoSwift0A10CollectionC13newAttachment4path8metadataAA0aE0CSgSS_SDyS2SGtF", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "fetchAttachment", + "printedName": "fetchAttachment(token:deliverOn:onFetchEvent:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoAttachmentFetcher?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetcher", + "printedName": "DittoSwift.DittoAttachmentFetcher", + "usr": "s:10DittoSwift0A17AttachmentFetcherC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentToken", + "printedName": "DittoSwift.DittoAttachmentToken", + "usr": "s:10DittoSwift0A15AttachmentTokenC" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoAttachmentFetchEvent) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC15fetchAttachment5token9deliverOn12onFetchEventAA0aE7FetcherCSgAA0aE5TokenC_So17OS_dispatch_queueCyAA0aejK0OctF", + "mangledName": "$s10DittoSwift0A10CollectionC15fetchAttachment5token9deliverOn12onFetchEventAA0aE7FetcherCSgAA0aE5TokenC_So17OS_dispatch_queueCyAA0aejK0OctF", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "FetchAttachmentPublisher", + "printedName": "FetchAttachmentPublisher", + "children": [ + { + "kind": "TypeDecl", + "name": "Progress", + "printedName": "Progress", + "children": [ + { + "kind": "Var", + "name": "percentage", + "printedName": "percentage", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10percentageSfvp", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10percentageSfvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10percentageSfvg", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10percentageSfvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10percentageSfvs", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10percentageSfvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10percentageSfvM", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10percentageSfvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "intro_Macosx": "10.15", + "intro_iOS": "13", + "intro_tvOS": "13", + "intro_watchOS": "6", + "declAttributes": [ + "Available", + "Available", + "Available", + "Available", + "Available", + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "downloadedBytes", + "printedName": "downloadedBytes", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvp", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvg", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvs", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64VvM", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64VvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "intro_Macosx": "10.15", + "intro_iOS": "13", + "intro_tvOS": "13", + "intro_watchOS": "6", + "declAttributes": [ + "Available", + "Available", + "Available", + "Available", + "Available", + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "totalBytes", + "printedName": "totalBytes", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvp", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvg", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvs", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64VvM", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64VvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "intro_Macosx": "10.15", + "intro_iOS": "13", + "intro_tvOS": "13", + "intro_watchOS": "6", + "declAttributes": [ + "Available", + "Available", + "Available", + "Available", + "Available", + "Available" + ], + "accessorKind": "_modify" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Function", + "name": "receive", + "printedName": "receive(subscriber:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0aeD5EventO5InputRtzlF", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0aeD5EventO5InputRtzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Combine.Subscriber, ฯ„_0_0.Failure == Swift.Never, ฯ„_0_0.Input == DittoSwift.DittoAttachmentFetchEvent>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "progress", + "printedName": "progress()", + "children": [ + { + "kind": "TypeNominal", + "name": "AnyPublisher", + "printedName": "Combine.AnyPublisher", + "children": [ + { + "kind": "TypeNominal", + "name": "Progress", + "printedName": "DittoSwift.DittoCollection.FetchAttachmentPublisher.Progress", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV" + }, + { + "kind": "TypeNominal", + "name": "Never", + "printedName": "Swift.Never", + "usr": "s:s5NeverO" + } + ], + "usr": "s:7Combine12AnyPublisherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8progress7Combine03AnyF0VyAE8ProgressVs5NeverOGyF", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8progress7Combine03AnyF0VyAE8ProgressVs5NeverOGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "completed", + "printedName": "completed()", + "children": [ + { + "kind": "TypeNominal", + "name": "AnyPublisher", + "printedName": "Combine.AnyPublisher", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachment", + "printedName": "DittoSwift.DittoAttachment", + "usr": "s:10DittoSwift0A10AttachmentC" + }, + { + "kind": "TypeNominal", + "name": "Never", + "printedName": "Swift.Never", + "usr": "s:s5NeverO" + } + ], + "usr": "s:7Combine12AnyPublisherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV9completed7Combine03AnyF0VyAA0aE0Cs5NeverOGyF", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV9completed7Combine03AnyF0VyAA0aE0Cs5NeverOGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "Available", + "RawDocComment" + ], + "isFromExtension": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Publisher", + "printedName": "Publisher", + "children": [ + { + "kind": "TypeWitness", + "name": "Output", + "printedName": "Output", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Failure", + "printedName": "Failure", + "children": [ + { + "kind": "TypeNominal", + "name": "Never", + "printedName": "Swift.Never", + "usr": "s:s5NeverO" + } + ] + } + ], + "usr": "s:7Combine9PublisherP", + "mangledName": "$s7Combine9PublisherP" + } + ] + }, + { + "kind": "Function", + "name": "fetchAttachmentPublisher", + "printedName": "fetchAttachmentPublisher(attachmentToken:)", + "children": [ + { + "kind": "TypeNominal", + "name": "FetchAttachmentPublisher", + "printedName": "DittoSwift.DittoCollection.FetchAttachmentPublisher", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentToken", + "printedName": "DittoSwift.DittoAttachmentToken", + "usr": "s:10DittoSwift0A15AttachmentTokenC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC24fetchAttachmentPublisher15attachmentTokenAC05FetcheF0VAA0aeH0C_tF", + "mangledName": "$s10DittoSwift0A10CollectionC24fetchAttachmentPublisher15attachmentTokenAC05FetcheF0VAA0aeH0C_tF", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "Available", + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A10CollectionC", + "mangledName": "$s10DittoSwift0A10CollectionC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoPresence", + "printedName": "DittoPresence", + "children": [ + { + "kind": "Var", + "name": "peerMetadata", + "printedName": "peerMetadata", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8PresenceC12peerMetadataSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A8PresenceC12peerMetadataSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8PresenceC12peerMetadataSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A8PresenceC12peerMetadataSDySSypSgGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "setPeerMetadata", + "printedName": "setPeerMetadata(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8PresenceC15setPeerMetadatayySDySSypSgGKF", + "mangledName": "$s10DittoSwift0A8PresenceC15setPeerMetadatayySDySSypSgGKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "peerMetadataJSONData", + "printedName": "peerMetadataJSONData", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8PresenceC20peerMetadataJSONData10Foundation4DataVvp", + "mangledName": "$s10DittoSwift0A8PresenceC20peerMetadataJSONData10Foundation4DataVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8PresenceC20peerMetadataJSONData10Foundation4DataVvg", + "mangledName": "$s10DittoSwift0A8PresenceC20peerMetadataJSONData10Foundation4DataVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "setPeerMetadataJSONData", + "printedName": "setPeerMetadataJSONData(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8PresenceC23setPeerMetadataJSONDatayy10Foundation4DataVKF", + "mangledName": "$s10DittoSwift0A8PresenceC23setPeerMetadataJSONDatayy10Foundation4DataVKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "graph", + "printedName": "graph", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPresenceGraph", + "printedName": "DittoSwift.DittoPresenceGraph", + "usr": "s:10DittoSwift0A13PresenceGraphV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8PresenceC5graphAA0aC5GraphVvp", + "mangledName": "$s10DittoSwift0A8PresenceC5graphAA0aC5GraphVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPresenceGraph", + "printedName": "DittoSwift.DittoPresenceGraph", + "usr": "s:10DittoSwift0A13PresenceGraphV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8PresenceC5graphAA0aC5GraphVvg", + "mangledName": "$s10DittoSwift0A8PresenceC5graphAA0aC5GraphVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "observe", + "printedName": "observe(didChangeHandler:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoObserver", + "printedName": "DittoSwift.DittoObserver", + "usr": "s:10DittoSwift0A8ObserverC" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoPresenceGraph) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoPresenceGraph", + "printedName": "DittoSwift.DittoPresenceGraph", + "usr": "s:10DittoSwift0A13PresenceGraphV" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8PresenceC7observe16didChangeHandlerAA0A8ObserverCyAA0aC5GraphVc_tF", + "mangledName": "$s10DittoSwift0A8PresenceC7observe16didChangeHandlerAA0A8ObserverCyAA0aC5GraphVc_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "connectionRequestHandler", + "printedName": "connectionRequestHandler", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((DittoSwift.DittoConnectionRequest) async -> DittoSwift.DittoConnectionRequestAuthorization)?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionRequest) async -> DittoSwift.DittoConnectionRequestAuthorization", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionRequestAuthorization", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO" + }, + { + "kind": "TypeNominal", + "name": "DittoConnectionRequest", + "printedName": "DittoSwift.DittoConnectionRequest", + "usr": "s:10DittoSwift0A17ConnectionRequestC" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8PresenceC24connectionRequestHandlerAA0a10ConnectionE13AuthorizationOAA0agE0CYacSgvp", + "mangledName": "$s10DittoSwift0A8PresenceC24connectionRequestHandlerAA0a10ConnectionE13AuthorizationOAA0agE0CYacSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((DittoSwift.DittoConnectionRequest) async -> DittoSwift.DittoConnectionRequestAuthorization)?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionRequest) async -> DittoSwift.DittoConnectionRequestAuthorization", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionRequestAuthorization", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO" + }, + { + "kind": "TypeNominal", + "name": "DittoConnectionRequest", + "printedName": "DittoSwift.DittoConnectionRequest", + "usr": "s:10DittoSwift0A17ConnectionRequestC" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8PresenceC24connectionRequestHandlerAA0a10ConnectionE13AuthorizationOAA0agE0CYacSgvg", + "mangledName": "$s10DittoSwift0A8PresenceC24connectionRequestHandlerAA0a10ConnectionE13AuthorizationOAA0agE0CYacSgvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((DittoSwift.DittoConnectionRequest) async -> DittoSwift.DittoConnectionRequestAuthorization)?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionRequest) async -> DittoSwift.DittoConnectionRequestAuthorization", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionRequestAuthorization", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO" + }, + { + "kind": "TypeNominal", + "name": "DittoConnectionRequest", + "printedName": "DittoSwift.DittoConnectionRequest", + "usr": "s:10DittoSwift0A17ConnectionRequestC" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8PresenceC24connectionRequestHandlerAA0a10ConnectionE13AuthorizationOAA0agE0CYacSgvs", + "mangledName": "$s10DittoSwift0A8PresenceC24connectionRequestHandlerAA0a10ConnectionE13AuthorizationOAA0agE0CYacSgvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8PresenceC24connectionRequestHandlerAA0a10ConnectionE13AuthorizationOAA0agE0CYacSgvM", + "mangledName": "$s10DittoSwift0A8PresenceC24connectionRequestHandlerAA0a10ConnectionE13AuthorizationOAA0agE0CYacSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "TypeDecl", + "name": "GraphPublisher", + "printedName": "GraphPublisher", + "children": [ + { + "kind": "Function", + "name": "receive", + "printedName": "receive(subscriber:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8PresenceC14GraphPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0acD0V5InputRtzlF", + "mangledName": "$s10DittoSwift0A8PresenceC14GraphPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0acD0V5InputRtzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Combine.Subscriber, ฯ„_0_0.Failure == Swift.Never, ฯ„_0_0.Input == DittoSwift.DittoPresenceGraph>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A8PresenceC14GraphPublisherV", + "mangledName": "$s10DittoSwift0A8PresenceC14GraphPublisherV", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Publisher", + "printedName": "Publisher", + "children": [ + { + "kind": "TypeWitness", + "name": "Output", + "printedName": "Output", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPresenceGraph", + "printedName": "DittoSwift.DittoPresenceGraph", + "usr": "s:10DittoSwift0A13PresenceGraphV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Failure", + "printedName": "Failure", + "children": [ + { + "kind": "TypeNominal", + "name": "Never", + "printedName": "Swift.Never", + "usr": "s:s5NeverO" + } + ] + } + ], + "usr": "s:7Combine9PublisherP", + "mangledName": "$s7Combine9PublisherP" + } + ] + }, + { + "kind": "Function", + "name": "graphPublisher", + "printedName": "graphPublisher()", + "children": [ + { + "kind": "TypeNominal", + "name": "GraphPublisher", + "printedName": "DittoSwift.DittoPresence.GraphPublisher", + "usr": "s:10DittoSwift0A8PresenceC14GraphPublisherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8PresenceC14graphPublisherAC05GraphE0VyF", + "mangledName": "$s10DittoSwift0A8PresenceC14graphPublisherAC05GraphE0VyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A8PresenceC", + "mangledName": "$s10DittoSwift0A8PresenceC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoRegister", + "printedName": "DittoRegister", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(value:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoRegister", + "printedName": "DittoSwift.DittoRegister", + "usr": "s:10DittoSwift0A8RegisterC" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A8RegisterC5valueACypSg_tcfc", + "mangledName": "$s10DittoSwift0A8RegisterC5valueACypSg_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC5valueypSgvp", + "mangledName": "$s10DittoSwift0A8RegisterC5valueypSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC5valueypSgvg", + "mangledName": "$s10DittoSwift0A8RegisterC5valueypSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "string", + "printedName": "string", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC6stringSSSgvp", + "mangledName": "$s10DittoSwift0A8RegisterC6stringSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC6stringSSSgvg", + "mangledName": "$s10DittoSwift0A8RegisterC6stringSSSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "stringValue", + "printedName": "stringValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC11stringValueSSvp", + "mangledName": "$s10DittoSwift0A8RegisterC11stringValueSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC11stringValueSSvg", + "mangledName": "$s10DittoSwift0A8RegisterC11stringValueSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "bool", + "printedName": "bool", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC4boolSbSgvp", + "mangledName": "$s10DittoSwift0A8RegisterC4boolSbSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC4boolSbSgvg", + "mangledName": "$s10DittoSwift0A8RegisterC4boolSbSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "boolValue", + "printedName": "boolValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC9boolValueSbvp", + "mangledName": "$s10DittoSwift0A8RegisterC9boolValueSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC9boolValueSbvg", + "mangledName": "$s10DittoSwift0A8RegisterC9boolValueSbvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "int", + "printedName": "int", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC3intSiSgvp", + "mangledName": "$s10DittoSwift0A8RegisterC3intSiSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC3intSiSgvg", + "mangledName": "$s10DittoSwift0A8RegisterC3intSiSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "intValue", + "printedName": "intValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC8intValueSivp", + "mangledName": "$s10DittoSwift0A8RegisterC8intValueSivp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC8intValueSivg", + "mangledName": "$s10DittoSwift0A8RegisterC8intValueSivg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uint", + "printedName": "uint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC4uintSuSgvp", + "mangledName": "$s10DittoSwift0A8RegisterC4uintSuSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC4uintSuSgvg", + "mangledName": "$s10DittoSwift0A8RegisterC4uintSuSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uintValue", + "printedName": "uintValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC9uintValueSuvp", + "mangledName": "$s10DittoSwift0A8RegisterC9uintValueSuvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC9uintValueSuvg", + "mangledName": "$s10DittoSwift0A8RegisterC9uintValueSuvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "float", + "printedName": "float", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC5floatSfSgvp", + "mangledName": "$s10DittoSwift0A8RegisterC5floatSfSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC5floatSfSgvg", + "mangledName": "$s10DittoSwift0A8RegisterC5floatSfSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "floatValue", + "printedName": "floatValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC10floatValueSfvp", + "mangledName": "$s10DittoSwift0A8RegisterC10floatValueSfvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC10floatValueSfvg", + "mangledName": "$s10DittoSwift0A8RegisterC10floatValueSfvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "double", + "printedName": "double", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC6doubleSdSgvp", + "mangledName": "$s10DittoSwift0A8RegisterC6doubleSdSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC6doubleSdSgvg", + "mangledName": "$s10DittoSwift0A8RegisterC6doubleSdSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "doubleValue", + "printedName": "doubleValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC11doubleValueSdvp", + "mangledName": "$s10DittoSwift0A8RegisterC11doubleValueSdvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC11doubleValueSdvg", + "mangledName": "$s10DittoSwift0A8RegisterC11doubleValueSdvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "array", + "printedName": "array", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC5arraySayypSgGSgvp", + "mangledName": "$s10DittoSwift0A8RegisterC5arraySayypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC5arraySayypSgGSgvg", + "mangledName": "$s10DittoSwift0A8RegisterC5arraySayypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "arrayValue", + "printedName": "arrayValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC10arrayValueSayypSgGvp", + "mangledName": "$s10DittoSwift0A8RegisterC10arrayValueSayypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC10arrayValueSayypSgGvg", + "mangledName": "$s10DittoSwift0A8RegisterC10arrayValueSayypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionary", + "printedName": "dictionary", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC10dictionarySDySSypSgGSgvp", + "mangledName": "$s10DittoSwift0A8RegisterC10dictionarySDySSypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC10dictionarySDySSypSgGSgvg", + "mangledName": "$s10DittoSwift0A8RegisterC10dictionarySDySSypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionaryValue", + "printedName": "dictionaryValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC15dictionaryValueSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A8RegisterC15dictionaryValueSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC15dictionaryValueSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A8RegisterC15dictionaryValueSDySSypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A8RegisterC", + "mangledName": "$s10DittoSwift0A8RegisterC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoConnectionType", + "printedName": "DittoConnectionType", + "children": [ + { + "kind": "Var", + "name": "bluetooth", + "printedName": "bluetooth", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionType.Type) -> DittoSwift.DittoConnectionType", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConnectionType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A14ConnectionTypeO9bluetoothyA2CmF", + "mangledName": "$s10DittoSwift0A14ConnectionTypeO9bluetoothyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "accessPoint", + "printedName": "accessPoint", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionType.Type) -> DittoSwift.DittoConnectionType", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConnectionType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A14ConnectionTypeO11accessPointyA2CmF", + "mangledName": "$s10DittoSwift0A14ConnectionTypeO11accessPointyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "p2pWiFi", + "printedName": "p2pWiFi", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionType.Type) -> DittoSwift.DittoConnectionType", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConnectionType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A14ConnectionTypeO7p2pWiFiyA2CmF", + "mangledName": "$s10DittoSwift0A14ConnectionTypeO7p2pWiFiyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "webSocket", + "printedName": "webSocket", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionType.Type) -> DittoSwift.DittoConnectionType", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConnectionType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A14ConnectionTypeO9webSocketyA2CmF", + "mangledName": "$s10DittoSwift0A14ConnectionTypeO9webSocketyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoConnectionType?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A14ConnectionTypeO8rawValueACSgSS_tcfc", + "mangledName": "$s10DittoSwift0A14ConnectionTypeO8rawValueACSgSS_tcfc", + "moduleName": "DittoSwift", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14ConnectionTypeO8rawValueSSvp", + "mangledName": "$s10DittoSwift0A14ConnectionTypeO8rawValueSSvp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14ConnectionTypeO8rawValueSSvg", + "mangledName": "$s10DittoSwift0A14ConnectionTypeO8rawValueSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "allCases", + "printedName": "allCases", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoConnectionType]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14ConnectionTypeO8allCasesSayACGvpZ", + "mangledName": "$s10DittoSwift0A14ConnectionTypeO8allCasesSayACGvpZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "declAttributes": [ + "Nonisolated" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoConnectionType]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14ConnectionTypeO8allCasesSayACGvgZ", + "mangledName": "$s10DittoSwift0A14ConnectionTypeO8allCasesSayACGvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A14ConnectionTypeO", + "mangledName": "$s10DittoSwift0A14ConnectionTypeO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "enumRawTypeName": "String", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "CaseIterable", + "printedName": "CaseIterable", + "children": [ + { + "kind": "TypeWitness", + "name": "AllCases", + "printedName": "AllCases", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoConnectionType]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ], + "usr": "s:Sa" + } + ] + } + ], + "usr": "s:s12CaseIterableP", + "mangledName": "$ss12CaseIterableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoObserver", + "printedName": "DittoObserver", + "children": [ + { + "kind": "Function", + "name": "stop", + "printedName": "stop()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8ObserverC4stopyyF", + "mangledName": "$s10DittoSwift0A8ObserverC4stopyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A8ObserverC", + "mangledName": "$s10DittoSwift0A8ObserverC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoWriteTransactionResult", + "printedName": "DittoWriteTransactionResult", + "children": [ + { + "kind": "Var", + "name": "inserted", + "printedName": "inserted", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoWriteTransactionResult.Type) -> (DittoSwift.DittoDocumentID, Swift.String) -> DittoSwift.DittoWriteTransactionResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoDocumentID, Swift.String) -> DittoSwift.DittoWriteTransactionResult", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionResult", + "printedName": "DittoSwift.DittoWriteTransactionResult", + "usr": "s:10DittoSwift0A22WriteTransactionResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(id: DittoSwift.DittoDocumentID, collection: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoWriteTransactionResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionResult", + "printedName": "DittoSwift.DittoWriteTransactionResult", + "usr": "s:10DittoSwift0A22WriteTransactionResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A22WriteTransactionResultO8insertedyAcA0A10DocumentIDV_SStcACmF", + "mangledName": "$s10DittoSwift0A22WriteTransactionResultO8insertedyAcA0A10DocumentIDV_SStcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "updated", + "printedName": "updated", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoWriteTransactionResult.Type) -> (DittoSwift.DittoDocumentID, Swift.String) -> DittoSwift.DittoWriteTransactionResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoDocumentID, Swift.String) -> DittoSwift.DittoWriteTransactionResult", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionResult", + "printedName": "DittoSwift.DittoWriteTransactionResult", + "usr": "s:10DittoSwift0A22WriteTransactionResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(id: DittoSwift.DittoDocumentID, collection: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoWriteTransactionResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionResult", + "printedName": "DittoSwift.DittoWriteTransactionResult", + "usr": "s:10DittoSwift0A22WriteTransactionResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A22WriteTransactionResultO7updatedyAcA0A10DocumentIDV_SStcACmF", + "mangledName": "$s10DittoSwift0A22WriteTransactionResultO7updatedyAcA0A10DocumentIDV_SStcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "evicted", + "printedName": "evicted", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoWriteTransactionResult.Type) -> (DittoSwift.DittoDocumentID, Swift.String) -> DittoSwift.DittoWriteTransactionResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoDocumentID, Swift.String) -> DittoSwift.DittoWriteTransactionResult", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionResult", + "printedName": "DittoSwift.DittoWriteTransactionResult", + "usr": "s:10DittoSwift0A22WriteTransactionResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(id: DittoSwift.DittoDocumentID, collection: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoWriteTransactionResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionResult", + "printedName": "DittoSwift.DittoWriteTransactionResult", + "usr": "s:10DittoSwift0A22WriteTransactionResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A22WriteTransactionResultO7evictedyAcA0A10DocumentIDV_SStcACmF", + "mangledName": "$s10DittoSwift0A22WriteTransactionResultO7evictedyAcA0A10DocumentIDV_SStcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "removed", + "printedName": "removed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoWriteTransactionResult.Type) -> (DittoSwift.DittoDocumentID, Swift.String) -> DittoSwift.DittoWriteTransactionResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoDocumentID, Swift.String) -> DittoSwift.DittoWriteTransactionResult", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionResult", + "printedName": "DittoSwift.DittoWriteTransactionResult", + "usr": "s:10DittoSwift0A22WriteTransactionResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(id: DittoSwift.DittoDocumentID, collection: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoWriteTransactionResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionResult", + "printedName": "DittoSwift.DittoWriteTransactionResult", + "usr": "s:10DittoSwift0A22WriteTransactionResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A22WriteTransactionResultO7removedyAcA0A10DocumentIDV_SStcACmF", + "mangledName": "$s10DittoSwift0A22WriteTransactionResultO7removedyAcA0A10DocumentIDV_SStcACmF", + "moduleName": "DittoSwift" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A22WriteTransactionResultO", + "mangledName": "$s10DittoSwift0A22WriteTransactionResultO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoMutableCounter", + "printedName": "DittoMutableCounter", + "children": [ + { + "kind": "Function", + "name": "increment", + "printedName": "increment(by:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A14MutableCounterC9increment2byySd_tF", + "mangledName": "$s10DittoSwift0A14MutableCounterC9increment2byySd_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A14MutableCounterC", + "mangledName": "$s10DittoSwift0A14MutableCounterC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "superclassUsr": "s:10DittoSwift0A7CounterC", + "hasMissingDesignatedInitializers": true, + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "DittoSwift.DittoCounter" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "DittoDiffer", + "printedName": "DittoDiffer", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDiffer", + "printedName": "DittoSwift.DittoDiffer", + "usr": "s:10DittoSwift0A6DifferC" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A6DifferCACycfc", + "mangledName": "$s10DittoSwift0A6DifferCACycfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "diff", + "printedName": "diff(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDiff", + "printedName": "DittoSwift.DittoDiff", + "usr": "s:10DittoSwift0A4DiffV" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoQueryResultItem]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoQueryResultItem", + "printedName": "DittoSwift.DittoQueryResultItem", + "usr": "s:10DittoSwift0A15QueryResultItemC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A6DifferC4diffyAA0A4DiffVSayAA0A15QueryResultItemCGF", + "mangledName": "$s10DittoSwift0A6DifferC4diffyAA0A4DiffVSayAA0A15QueryResultItemCGF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A6DifferC", + "mangledName": "$s10DittoSwift0A6DifferC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "CBOR", + "printedName": "CBOR", + "children": [ + { + "kind": "Var", + "name": "unsignedInt", + "printedName": "unsignedInt", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> (Swift.UInt64) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.UInt64) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO11unsignedIntyACs6UInt64VcACmF", + "mangledName": "$s10DittoSwift4CBORO11unsignedIntyACs6UInt64VcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "negativeInt", + "printedName": "negativeInt", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> (Swift.UInt64) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.UInt64) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO11negativeIntyACs6UInt64VcACmF", + "mangledName": "$s10DittoSwift4CBORO11negativeIntyACs6UInt64VcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "byteString", + "printedName": "byteString", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> ([Swift.UInt8]) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "([Swift.UInt8]) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO10byteStringyACSays5UInt8VGcACmF", + "mangledName": "$s10DittoSwift4CBORO10byteStringyACSays5UInt8VGcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "utf8String", + "printedName": "utf8String", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> (Swift.String) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO10utf8StringyACSScACmF", + "mangledName": "$s10DittoSwift4CBORO10utf8StringyACSScACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "array", + "printedName": "array", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> ([DittoSwift.CBOR]) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "([DittoSwift.CBOR]) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.CBOR]", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "usr": "s:Sa" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO5arrayyACSayACGcACmF", + "mangledName": "$s10DittoSwift4CBORO5arrayyACSayACGcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "map", + "printedName": "map", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> ([DittoSwift.CBOR : DittoSwift.CBOR]) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "([DittoSwift.CBOR : DittoSwift.CBOR]) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DittoSwift.CBOR : DittoSwift.CBOR]", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "usr": "s:SD" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO3mapyACSDyA2CGcACmF", + "mangledName": "$s10DittoSwift4CBORO3mapyACSDyA2CGcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "tagged", + "printedName": "tagged", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> (DittoSwift.CBOR.Tag, DittoSwift.CBOR) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Tag, DittoSwift.CBOR) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DittoSwift.CBOR.Tag, DittoSwift.CBOR)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + }, + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO6taggedyA2C3TagV_ACtcACmF", + "mangledName": "$s10DittoSwift4CBORO6taggedyA2C3TagV_ACtcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "simple", + "printedName": "simple", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> (Swift.UInt8) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.UInt8) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO6simpleyACs5UInt8VcACmF", + "mangledName": "$s10DittoSwift4CBORO6simpleyACs5UInt8VcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "boolean", + "printedName": "boolean", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> (Swift.Bool) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Bool) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO7booleanyACSbcACmF", + "mangledName": "$s10DittoSwift4CBORO7booleanyACSbcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "null", + "printedName": "null", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO4nullyA2CmF", + "mangledName": "$s10DittoSwift4CBORO4nullyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "undefined", + "printedName": "undefined", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO9undefinedyA2CmF", + "mangledName": "$s10DittoSwift4CBORO9undefinedyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "half", + "printedName": "half", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> (Swift.Float) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Float) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO4halfyACSfcACmF", + "mangledName": "$s10DittoSwift4CBORO4halfyACSfcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "float", + "printedName": "float", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> (Swift.Float) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Float) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO5floatyACSfcACmF", + "mangledName": "$s10DittoSwift4CBORO5floatyACSfcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "double", + "printedName": "double", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> (Swift.Double) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Double) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO6doubleyACSdcACmF", + "mangledName": "$s10DittoSwift4CBORO6doubleyACSdcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "break", + "printedName": "break", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO5breakyA2CmF", + "mangledName": "$s10DittoSwift4CBORO5breakyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "date", + "printedName": "date", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> (Foundation.Date) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Foundation.Date) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Date", + "printedName": "Foundation.Date", + "usr": "s:10Foundation4DateV" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO4dateyAC10Foundation4DateVcACmF", + "mangledName": "$s10DittoSwift4CBORO4dateyAC10Foundation4DateVcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift4CBORO4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift4CBORO4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.CBOR?", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift4CBOROyACSgACcip", + "mangledName": "$s10DittoSwift4CBOROyACSgACcip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.CBOR?", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBOROyACSgACcig", + "mangledName": "$s10DittoSwift4CBOROyACSgACcig", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.CBOR?", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBOROyACSgACcis", + "mangledName": "$s10DittoSwift4CBOROyACSgACcis", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBOROyACSgACciM", + "mangledName": "$s10DittoSwift4CBOROyACSgACciM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(nilLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift4CBORO10nilLiteralACyt_tcfc", + "mangledName": "$s10DittoSwift4CBORO10nilLiteralACyt_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(integerLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift4CBORO14integerLiteralACSi_tcfc", + "mangledName": "$s10DittoSwift4CBORO14integerLiteralACSi_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(extendedGraphemeClusterLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift4CBORO30extendedGraphemeClusterLiteralACSS_tcfc", + "mangledName": "$s10DittoSwift4CBORO30extendedGraphemeClusterLiteralACSS_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(unicodeScalarLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift4CBORO20unicodeScalarLiteralACSS_tcfc", + "mangledName": "$s10DittoSwift4CBORO20unicodeScalarLiteralACSS_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(stringLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift4CBORO13stringLiteralACSS_tcfc", + "mangledName": "$s10DittoSwift4CBORO13stringLiteralACSS_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(arrayLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.CBOR]", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift4CBORO12arrayLiteralA2Cd_tcfc", + "mangledName": "$s10DittoSwift4CBORO12arrayLiteralA2Cd_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(dictionaryLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[(DittoSwift.CBOR, DittoSwift.CBOR)]", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DittoSwift.CBOR, DittoSwift.CBOR)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift4CBORO17dictionaryLiteralA2C_ACtd_tcfc", + "mangledName": "$s10DittoSwift4CBORO17dictionaryLiteralA2C_ACtd_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(booleanLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift4CBORO14booleanLiteralACSb_tcfc", + "mangledName": "$s10DittoSwift4CBORO14booleanLiteralACSb_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(floatLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift4CBORO12floatLiteralACSf_tcfc", + "mangledName": "$s10DittoSwift4CBORO12floatLiteralACSf_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift4CBORO2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift4CBORO2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "Tag", + "printedName": "Tag", + "children": [ + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV8rawValues6UInt64Vvp", + "mangledName": "$s10DittoSwift4CBORO3TagV8rawValues6UInt64Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV8rawValues6UInt64Vvg", + "mangledName": "$s10DittoSwift4CBORO3TagV8rawValues6UInt64Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift4CBORO3TagV8rawValueAEs6UInt64V_tcfc", + "mangledName": "$s10DittoSwift4CBORO3TagV8rawValueAEs6UInt64V_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV9hashValueSivp", + "mangledName": "$s10DittoSwift4CBORO3TagV9hashValueSivp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV9hashValueSivg", + "mangledName": "$s10DittoSwift4CBORO3TagV9hashValueSivg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "standardDateTimeString", + "printedName": "standardDateTimeString", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV22standardDateTimeStringAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV22standardDateTimeStringAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV22standardDateTimeStringAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV22standardDateTimeStringAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "epochBasedDateTime", + "printedName": "epochBasedDateTime", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV18epochBasedDateTimeAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV18epochBasedDateTimeAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV18epochBasedDateTimeAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV18epochBasedDateTimeAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "positiveBignum", + "printedName": "positiveBignum", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV14positiveBignumAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV14positiveBignumAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV14positiveBignumAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV14positiveBignumAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "negativeBignum", + "printedName": "negativeBignum", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV14negativeBignumAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV14negativeBignumAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV14negativeBignumAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV14negativeBignumAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "decimalFraction", + "printedName": "decimalFraction", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV15decimalFractionAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV15decimalFractionAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV15decimalFractionAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV15decimalFractionAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "bigfloat", + "printedName": "bigfloat", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV8bigfloatAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV8bigfloatAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV8bigfloatAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV8bigfloatAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "expectedConversionToBase64URLEncoding", + "printedName": "expectedConversionToBase64URLEncoding", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV37expectedConversionToBase64URLEncodingAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV37expectedConversionToBase64URLEncodingAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV37expectedConversionToBase64URLEncodingAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV37expectedConversionToBase64URLEncodingAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "expectedConversionToBase64Encoding", + "printedName": "expectedConversionToBase64Encoding", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV34expectedConversionToBase64EncodingAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV34expectedConversionToBase64EncodingAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV34expectedConversionToBase64EncodingAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV34expectedConversionToBase64EncodingAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "expectedConversionToBase16Encoding", + "printedName": "expectedConversionToBase16Encoding", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV34expectedConversionToBase16EncodingAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV34expectedConversionToBase16EncodingAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV34expectedConversionToBase16EncodingAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV34expectedConversionToBase16EncodingAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "encodedCBORDataItem", + "printedName": "encodedCBORDataItem", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV19encodedCBORDataItemAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV19encodedCBORDataItemAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV19encodedCBORDataItemAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV19encodedCBORDataItemAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uri", + "printedName": "uri", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV3uriAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV3uriAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV3uriAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV3uriAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "base64Url", + "printedName": "base64Url", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV9base64UrlAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV9base64UrlAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV9base64UrlAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV9base64UrlAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "base64", + "printedName": "base64", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV6base64AEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV6base64AEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV6base64AEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV6base64AEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "regularExpression", + "printedName": "regularExpression", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV17regularExpressionAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV17regularExpressionAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV17regularExpressionAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV17regularExpressionAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "mimeMessage", + "printedName": "mimeMessage", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV11mimeMessageAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV11mimeMessageAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV11mimeMessageAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV11mimeMessageAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uuid", + "printedName": "uuid", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV4uuidAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV4uuidAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV4uuidAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV4uuidAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "selfDescribeCBOR", + "printedName": "selfDescribeCBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV012selfDescribeC0AEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV012selfDescribeC0AEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV012selfDescribeC0AEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV012selfDescribeC0AEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift4CBORO3TagV", + "mangledName": "$s10DittoSwift4CBORO3TagV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO9hashValueSivp", + "mangledName": "$s10DittoSwift4CBORO9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO9hashValueSivg", + "mangledName": "$s10DittoSwift4CBORO9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift4CBORO", + "mangledName": "$s10DittoSwift4CBORO", + "moduleName": "DittoSwift", + "declAttributes": [ + "Indirect", + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "ExpressibleByNilLiteral", + "printedName": "ExpressibleByNilLiteral", + "usr": "s:s23ExpressibleByNilLiteralP", + "mangledName": "$ss23ExpressibleByNilLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByStringLiteral", + "printedName": "ExpressibleByStringLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "StringLiteralType", + "printedName": "StringLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s26ExpressibleByStringLiteralP", + "mangledName": "$ss26ExpressibleByStringLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByArrayLiteral", + "printedName": "ExpressibleByArrayLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "ArrayLiteralElement", + "printedName": "ArrayLiteralElement", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ], + "usr": "s:s25ExpressibleByArrayLiteralP", + "mangledName": "$ss25ExpressibleByArrayLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByDictionaryLiteral", + "printedName": "ExpressibleByDictionaryLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "Key", + "printedName": "Key", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Value", + "printedName": "Value", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ], + "usr": "s:s30ExpressibleByDictionaryLiteralP", + "mangledName": "$ss30ExpressibleByDictionaryLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByBooleanLiteral", + "printedName": "ExpressibleByBooleanLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "BooleanLiteralType", + "printedName": "BooleanLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + } + ], + "usr": "s:s27ExpressibleByBooleanLiteralP", + "mangledName": "$ss27ExpressibleByBooleanLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByFloatLiteral", + "printedName": "ExpressibleByFloatLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "FloatLiteralType", + "printedName": "FloatLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ] + } + ], + "usr": "s:s25ExpressibleByFloatLiteralP", + "mangledName": "$ss25ExpressibleByFloatLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByExtendedGraphemeClusterLiteral", + "printedName": "ExpressibleByExtendedGraphemeClusterLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "ExtendedGraphemeClusterLiteralType", + "printedName": "ExtendedGraphemeClusterLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s43ExpressibleByExtendedGraphemeClusterLiteralP", + "mangledName": "$ss43ExpressibleByExtendedGraphemeClusterLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByUnicodeScalarLiteral", + "printedName": "ExpressibleByUnicodeScalarLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "UnicodeScalarLiteralType", + "printedName": "UnicodeScalarLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s33ExpressibleByUnicodeScalarLiteralP", + "mangledName": "$ss33ExpressibleByUnicodeScalarLiteralP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoBluetoothLEConfig", + "printedName": "DittoBluetoothLEConfig", + "children": [ + { + "kind": "Var", + "name": "isEnabled", + "printedName": "isEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV9isEnabledSbvp", + "mangledName": "$s10DittoSwift0A17BluetoothLEConfigV9isEnabledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV9isEnabledSbvg", + "mangledName": "$s10DittoSwift0A17BluetoothLEConfigV9isEnabledSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV9isEnabledSbvs", + "mangledName": "$s10DittoSwift0A17BluetoothLEConfigV9isEnabledSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV9isEnabledSbvM", + "mangledName": "$s10DittoSwift0A17BluetoothLEConfigV9isEnabledSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoBluetoothLEConfig", + "printedName": "DittoSwift.DittoBluetoothLEConfig", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A17BluetoothLEConfigV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A17BluetoothLEConfigV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoBluetoothLEConfig", + "printedName": "DittoSwift.DittoBluetoothLEConfig", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV" + }, + { + "kind": "TypeNominal", + "name": "DittoBluetoothLEConfig", + "printedName": "DittoSwift.DittoBluetoothLEConfig", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A17BluetoothLEConfigV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV", + "mangledName": "$s10DittoSwift0A17BluetoothLEConfigV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoLANConfig", + "printedName": "DittoLANConfig", + "children": [ + { + "kind": "Var", + "name": "isEnabled", + "printedName": "isEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A9LANConfigV9isEnabledSbvp", + "mangledName": "$s10DittoSwift0A9LANConfigV9isEnabledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV9isEnabledSbvg", + "mangledName": "$s10DittoSwift0A9LANConfigV9isEnabledSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV9isEnabledSbvs", + "mangledName": "$s10DittoSwift0A9LANConfigV9isEnabledSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV9isEnabledSbvM", + "mangledName": "$s10DittoSwift0A9LANConfigV9isEnabledSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "isMDNSEnabled", + "printedName": "isMDNSEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A9LANConfigV13isMDNSEnabledSbvp", + "mangledName": "$s10DittoSwift0A9LANConfigV13isMDNSEnabledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV13isMDNSEnabledSbvg", + "mangledName": "$s10DittoSwift0A9LANConfigV13isMDNSEnabledSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV13isMDNSEnabledSbvs", + "mangledName": "$s10DittoSwift0A9LANConfigV13isMDNSEnabledSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV13isMDNSEnabledSbvM", + "mangledName": "$s10DittoSwift0A9LANConfigV13isMDNSEnabledSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "isMulticastEnabled", + "printedName": "isMulticastEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A9LANConfigV18isMulticastEnabledSbvp", + "mangledName": "$s10DittoSwift0A9LANConfigV18isMulticastEnabledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV18isMulticastEnabledSbvg", + "mangledName": "$s10DittoSwift0A9LANConfigV18isMulticastEnabledSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV18isMulticastEnabledSbvs", + "mangledName": "$s10DittoSwift0A9LANConfigV18isMulticastEnabledSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV18isMulticastEnabledSbvM", + "mangledName": "$s10DittoSwift0A9LANConfigV18isMulticastEnabledSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "ismDNSEnabled", + "printedName": "ismDNSEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A9LANConfigV13ismDNSEnabledSbvp", + "mangledName": "$s10DittoSwift0A9LANConfigV13ismDNSEnabledSbvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV13ismDNSEnabledSbvg", + "mangledName": "$s10DittoSwift0A9LANConfigV13ismDNSEnabledSbvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV13ismDNSEnabledSbvs", + "mangledName": "$s10DittoSwift0A9LANConfigV13ismDNSEnabledSbvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV13ismDNSEnabledSbvM", + "mangledName": "$s10DittoSwift0A9LANConfigV13ismDNSEnabledSbvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLANConfig", + "printedName": "DittoSwift.DittoLANConfig", + "usr": "s:10DittoSwift0A9LANConfigV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A9LANConfigV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A9LANConfigV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A9LANConfigV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A9LANConfigV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoLANConfig", + "printedName": "DittoSwift.DittoLANConfig", + "usr": "s:10DittoSwift0A9LANConfigV" + }, + { + "kind": "TypeNominal", + "name": "DittoLANConfig", + "printedName": "DittoSwift.DittoLANConfig", + "usr": "s:10DittoSwift0A9LANConfigV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A9LANConfigV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A9LANConfigV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A9LANConfigV", + "mangledName": "$s10DittoSwift0A9LANConfigV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoAWDLConfig", + "printedName": "DittoAWDLConfig", + "children": [ + { + "kind": "Var", + "name": "isEnabled", + "printedName": "isEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10AWDLConfigV9isEnabledSbvp", + "mangledName": "$s10DittoSwift0A10AWDLConfigV9isEnabledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10AWDLConfigV9isEnabledSbvg", + "mangledName": "$s10DittoSwift0A10AWDLConfigV9isEnabledSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10AWDLConfigV9isEnabledSbvs", + "mangledName": "$s10DittoSwift0A10AWDLConfigV9isEnabledSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10AWDLConfigV9isEnabledSbvM", + "mangledName": "$s10DittoSwift0A10AWDLConfigV9isEnabledSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAWDLConfig", + "printedName": "DittoSwift.DittoAWDLConfig", + "usr": "s:10DittoSwift0A10AWDLConfigV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10AWDLConfigV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A10AWDLConfigV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10AWDLConfigV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A10AWDLConfigV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoAWDLConfig", + "printedName": "DittoSwift.DittoAWDLConfig", + "usr": "s:10DittoSwift0A10AWDLConfigV" + }, + { + "kind": "TypeNominal", + "name": "DittoAWDLConfig", + "printedName": "DittoSwift.DittoAWDLConfig", + "usr": "s:10DittoSwift0A10AWDLConfigV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10AWDLConfigV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A10AWDLConfigV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A10AWDLConfigV", + "mangledName": "$s10DittoSwift0A10AWDLConfigV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoPeerToPeer", + "printedName": "DittoPeerToPeer", + "children": [ + { + "kind": "Var", + "name": "bluetoothLE", + "printedName": "bluetoothLE", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoBluetoothLEConfig", + "printedName": "DittoSwift.DittoBluetoothLEConfig", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0a6PeerToC0V11bluetoothLEAA0A17BluetoothLEConfigVvp", + "mangledName": "$s10DittoSwift0a6PeerToC0V11bluetoothLEAA0A17BluetoothLEConfigVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoBluetoothLEConfig", + "printedName": "DittoSwift.DittoBluetoothLEConfig", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V11bluetoothLEAA0A17BluetoothLEConfigVvg", + "mangledName": "$s10DittoSwift0a6PeerToC0V11bluetoothLEAA0A17BluetoothLEConfigVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoBluetoothLEConfig", + "printedName": "DittoSwift.DittoBluetoothLEConfig", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V11bluetoothLEAA0A17BluetoothLEConfigVvs", + "mangledName": "$s10DittoSwift0a6PeerToC0V11bluetoothLEAA0A17BluetoothLEConfigVvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V11bluetoothLEAA0A17BluetoothLEConfigVvM", + "mangledName": "$s10DittoSwift0a6PeerToC0V11bluetoothLEAA0A17BluetoothLEConfigVvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "lan", + "printedName": "lan", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLANConfig", + "printedName": "DittoSwift.DittoLANConfig", + "usr": "s:10DittoSwift0A9LANConfigV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0a6PeerToC0V3lanAA0A9LANConfigVvp", + "mangledName": "$s10DittoSwift0a6PeerToC0V3lanAA0A9LANConfigVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLANConfig", + "printedName": "DittoSwift.DittoLANConfig", + "usr": "s:10DittoSwift0A9LANConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V3lanAA0A9LANConfigVvg", + "mangledName": "$s10DittoSwift0a6PeerToC0V3lanAA0A9LANConfigVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoLANConfig", + "printedName": "DittoSwift.DittoLANConfig", + "usr": "s:10DittoSwift0A9LANConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V3lanAA0A9LANConfigVvs", + "mangledName": "$s10DittoSwift0a6PeerToC0V3lanAA0A9LANConfigVvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V3lanAA0A9LANConfigVvM", + "mangledName": "$s10DittoSwift0a6PeerToC0V3lanAA0A9LANConfigVvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "awdl", + "printedName": "awdl", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAWDLConfig", + "printedName": "DittoSwift.DittoAWDLConfig", + "usr": "s:10DittoSwift0A10AWDLConfigV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0a6PeerToC0V4awdlAA0A10AWDLConfigVvp", + "mangledName": "$s10DittoSwift0a6PeerToC0V4awdlAA0A10AWDLConfigVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAWDLConfig", + "printedName": "DittoSwift.DittoAWDLConfig", + "usr": "s:10DittoSwift0A10AWDLConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V4awdlAA0A10AWDLConfigVvg", + "mangledName": "$s10DittoSwift0a6PeerToC0V4awdlAA0A10AWDLConfigVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoAWDLConfig", + "printedName": "DittoSwift.DittoAWDLConfig", + "usr": "s:10DittoSwift0A10AWDLConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V4awdlAA0A10AWDLConfigVvs", + "mangledName": "$s10DittoSwift0a6PeerToC0V4awdlAA0A10AWDLConfigVvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V4awdlAA0A10AWDLConfigVvM", + "mangledName": "$s10DittoSwift0a6PeerToC0V4awdlAA0A10AWDLConfigVvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "bluetoothLe", + "printedName": "bluetoothLe", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoBluetoothLEConfig", + "printedName": "DittoSwift.DittoBluetoothLEConfig", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0a6PeerToC0V11bluetoothLeAA0A17BluetoothLEConfigVvp", + "mangledName": "$s10DittoSwift0a6PeerToC0V11bluetoothLeAA0A17BluetoothLEConfigVvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoBluetoothLEConfig", + "printedName": "DittoSwift.DittoBluetoothLEConfig", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V11bluetoothLeAA0A17BluetoothLEConfigVvg", + "mangledName": "$s10DittoSwift0a6PeerToC0V11bluetoothLeAA0A17BluetoothLEConfigVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoBluetoothLEConfig", + "printedName": "DittoSwift.DittoBluetoothLEConfig", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V11bluetoothLeAA0A17BluetoothLEConfigVvs", + "mangledName": "$s10DittoSwift0a6PeerToC0V11bluetoothLeAA0A17BluetoothLEConfigVvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V11bluetoothLeAA0A17BluetoothLEConfigVvM", + "mangledName": "$s10DittoSwift0a6PeerToC0V11bluetoothLeAA0A17BluetoothLEConfigVvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeerToPeer", + "printedName": "DittoSwift.DittoPeerToPeer", + "usr": "s:10DittoSwift0a6PeerToC0V" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0a6PeerToC0V4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0a6PeerToC0V4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0a6PeerToC0V6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0a6PeerToC0V6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoPeerToPeer", + "printedName": "DittoSwift.DittoPeerToPeer", + "usr": "s:10DittoSwift0a6PeerToC0V" + }, + { + "kind": "TypeNominal", + "name": "DittoPeerToPeer", + "printedName": "DittoSwift.DittoPeerToPeer", + "usr": "s:10DittoSwift0a6PeerToC0V" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0a6PeerToC0V2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0a6PeerToC0V2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0a6PeerToC0V", + "mangledName": "$s10DittoSwift0a6PeerToC0V", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoConnect", + "printedName": "DittoConnect", + "children": [ + { + "kind": "Var", + "name": "tcpServers", + "printedName": "tcpServers", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A7ConnectV10tcpServersShySSGvp", + "mangledName": "$s10DittoSwift0A7ConnectV10tcpServersShySSGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV10tcpServersShySSGvg", + "mangledName": "$s10DittoSwift0A7ConnectV10tcpServersShySSGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV10tcpServersShySSGvs", + "mangledName": "$s10DittoSwift0A7ConnectV10tcpServersShySSGvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV10tcpServersShySSGvM", + "mangledName": "$s10DittoSwift0A7ConnectV10tcpServersShySSGvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "webSocketURLs", + "printedName": "webSocketURLs", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A7ConnectV13webSocketURLsShySSGvp", + "mangledName": "$s10DittoSwift0A7ConnectV13webSocketURLsShySSGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV13webSocketURLsShySSGvg", + "mangledName": "$s10DittoSwift0A7ConnectV13webSocketURLsShySSGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV13webSocketURLsShySSGvs", + "mangledName": "$s10DittoSwift0A7ConnectV13webSocketURLsShySSGvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV13webSocketURLsShySSGvM", + "mangledName": "$s10DittoSwift0A7ConnectV13webSocketURLsShySSGvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "retryInterval", + "printedName": "retryInterval", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A7ConnectV13retryIntervalSdvp", + "mangledName": "$s10DittoSwift0A7ConnectV13retryIntervalSdvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV13retryIntervalSdvg", + "mangledName": "$s10DittoSwift0A7ConnectV13retryIntervalSdvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV13retryIntervalSdvs", + "mangledName": "$s10DittoSwift0A7ConnectV13retryIntervalSdvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV13retryIntervalSdvM", + "mangledName": "$s10DittoSwift0A7ConnectV13retryIntervalSdvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "websocketURLs", + "printedName": "websocketURLs", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A7ConnectV13websocketURLsShySSGvp", + "mangledName": "$s10DittoSwift0A7ConnectV13websocketURLsShySSGvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV13websocketURLsShySSGvg", + "mangledName": "$s10DittoSwift0A7ConnectV13websocketURLsShySSGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV13websocketURLsShySSGvs", + "mangledName": "$s10DittoSwift0A7ConnectV13websocketURLsShySSGvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV13websocketURLsShySSGvM", + "mangledName": "$s10DittoSwift0A7ConnectV13websocketURLsShySSGvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoConnect", + "printedName": "DittoSwift.DittoConnect", + "usr": "s:10DittoSwift0A7ConnectV" + }, + { + "kind": "TypeNominal", + "name": "DittoConnect", + "printedName": "DittoSwift.DittoConnect", + "usr": "s:10DittoSwift0A7ConnectV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A7ConnectV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A7ConnectV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A7ConnectV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A7ConnectV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnect", + "printedName": "DittoSwift.DittoConnect", + "usr": "s:10DittoSwift0A7ConnectV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A7ConnectV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A7ConnectV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "throwing": true, + "init_kind": "Designated" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A7ConnectV", + "mangledName": "$s10DittoSwift0A7ConnectV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoTCPListenConfig", + "printedName": "DittoTCPListenConfig", + "children": [ + { + "kind": "Var", + "name": "isEnabled", + "printedName": "isEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15TCPListenConfigV9isEnabledSbvp", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV9isEnabledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV9isEnabledSbvg", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV9isEnabledSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV9isEnabledSbvs", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV9isEnabledSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV9isEnabledSbvM", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV9isEnabledSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "interfaceIP", + "printedName": "interfaceIP", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15TCPListenConfigV11interfaceIPSSvp", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV11interfaceIPSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV11interfaceIPSSvg", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV11interfaceIPSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV11interfaceIPSSvs", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV11interfaceIPSSvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV11interfaceIPSSvM", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV11interfaceIPSSvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "port", + "printedName": "port", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15TCPListenConfigV4ports6UInt16Vvp", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV4ports6UInt16Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV4ports6UInt16Vvg", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV4ports6UInt16Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV4ports6UInt16Vvs", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV4ports6UInt16Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV4ports6UInt16VvM", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV4ports6UInt16VvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "interfaceIp", + "printedName": "interfaceIp", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15TCPListenConfigV11interfaceIpSSvp", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV11interfaceIpSSvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV11interfaceIpSSvg", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV11interfaceIpSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV11interfaceIpSSvs", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV11interfaceIpSSvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV11interfaceIpSSvM", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV11interfaceIpSSvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTCPListenConfig", + "printedName": "DittoSwift.DittoTCPListenConfig", + "usr": "s:10DittoSwift0A15TCPListenConfigV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A15TCPListenConfigV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15TCPListenConfigV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoTCPListenConfig", + "printedName": "DittoSwift.DittoTCPListenConfig", + "usr": "s:10DittoSwift0A15TCPListenConfigV" + }, + { + "kind": "TypeNominal", + "name": "DittoTCPListenConfig", + "printedName": "DittoSwift.DittoTCPListenConfig", + "usr": "s:10DittoSwift0A15TCPListenConfigV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15TCPListenConfigV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A15TCPListenConfigV", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoHTTPListenConfig", + "printedName": "DittoHTTPListenConfig", + "children": [ + { + "kind": "Var", + "name": "isEnabled", + "printedName": "isEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV9isEnabledSbvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV9isEnabledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV9isEnabledSbvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV9isEnabledSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV9isEnabledSbvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV9isEnabledSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV9isEnabledSbvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV9isEnabledSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "interfaceIP", + "printedName": "interfaceIP", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV11interfaceIPSSvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV11interfaceIPSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV11interfaceIPSSvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV11interfaceIPSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV11interfaceIPSSvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV11interfaceIPSSvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV11interfaceIPSSvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV11interfaceIPSSvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "port", + "printedName": "port", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV4ports6UInt16Vvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV4ports6UInt16Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV4ports6UInt16Vvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV4ports6UInt16Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV4ports6UInt16Vvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV4ports6UInt16Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV4ports6UInt16VvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV4ports6UInt16VvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "staticContentPath", + "printedName": "staticContentPath", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV17staticContentPathSSSgvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV17staticContentPathSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV17staticContentPathSSSgvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV17staticContentPathSSSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV17staticContentPathSSSgvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV17staticContentPathSSSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV17staticContentPathSSSgvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV17staticContentPathSSSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "webSocketSync", + "printedName": "webSocketSync", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV13webSocketSyncSbvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV13webSocketSyncSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV13webSocketSyncSbvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV13webSocketSyncSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV13webSocketSyncSbvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV13webSocketSyncSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV13webSocketSyncSbvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV13webSocketSyncSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "tlsKeyPath", + "printedName": "tlsKeyPath", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV10tlsKeyPathSSSgvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV10tlsKeyPathSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV10tlsKeyPathSSSgvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV10tlsKeyPathSSSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV10tlsKeyPathSSSgvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV10tlsKeyPathSSSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV10tlsKeyPathSSSgvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV10tlsKeyPathSSSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "tlsCertificatePath", + "printedName": "tlsCertificatePath", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV18tlsCertificatePathSSSgvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV18tlsCertificatePathSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV18tlsCertificatePathSSSgvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV18tlsCertificatePathSSSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV18tlsCertificatePathSSSgvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV18tlsCertificatePathSSSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV18tlsCertificatePathSSSgvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV18tlsCertificatePathSSSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "isIdentityProvider", + "printedName": "isIdentityProvider", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV18isIdentityProviderSbvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV18isIdentityProviderSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV18isIdentityProviderSbvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV18isIdentityProviderSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV18isIdentityProviderSbvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV18isIdentityProviderSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV18isIdentityProviderSbvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV18isIdentityProviderSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "identityProviderSigningKey", + "printedName": "identityProviderSigningKey", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV26identityProviderSigningKeySSSgvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV26identityProviderSigningKeySSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV26identityProviderSigningKeySSSgvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV26identityProviderSigningKeySSSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV26identityProviderSigningKeySSSgvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV26identityProviderSigningKeySSSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV26identityProviderSigningKeySSSgvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV26identityProviderSigningKeySSSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "identityProviderVerifyingKeys", + "printedName": "identityProviderVerifyingKeys", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV29identityProviderVerifyingKeysSaySSGSgvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV29identityProviderVerifyingKeysSaySSGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV29identityProviderVerifyingKeysSaySSGSgvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV29identityProviderVerifyingKeysSaySSGSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV29identityProviderVerifyingKeysSaySSGSgvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV29identityProviderVerifyingKeysSaySSGSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV29identityProviderVerifyingKeysSaySSGSgvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV29identityProviderVerifyingKeysSaySSGSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "caKey", + "printedName": "caKey", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV5caKeySSSgvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV5caKeySSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV5caKeySSSgvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV5caKeySSSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV5caKeySSSgvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV5caKeySSSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV5caKeySSSgvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV5caKeySSSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "interfaceIp", + "printedName": "interfaceIp", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV11interfaceIpSSvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV11interfaceIpSSvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV11interfaceIpSSvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV11interfaceIpSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV11interfaceIpSSvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV11interfaceIpSSvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV11interfaceIpSSvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV11interfaceIpSSvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "websocketSync", + "printedName": "websocketSync", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV13websocketSyncSbvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV13websocketSyncSbvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV13websocketSyncSbvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV13websocketSyncSbvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV13websocketSyncSbvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV13websocketSyncSbvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV13websocketSyncSbvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV13websocketSyncSbvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoHTTPListenConfig", + "printedName": "DittoSwift.DittoHTTPListenConfig", + "usr": "s:10DittoSwift0A16HTTPListenConfigV" + }, + { + "kind": "TypeNominal", + "name": "DittoHTTPListenConfig", + "printedName": "DittoSwift.DittoHTTPListenConfig", + "usr": "s:10DittoSwift0A16HTTPListenConfigV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A16HTTPListenConfigV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoHTTPListenConfig", + "printedName": "DittoSwift.DittoHTTPListenConfig", + "usr": "s:10DittoSwift0A16HTTPListenConfigV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A16HTTPListenConfigV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A16HTTPListenConfigV", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoListen", + "printedName": "DittoListen", + "children": [ + { + "kind": "Var", + "name": "tcp", + "printedName": "tcp", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTCPListenConfig", + "printedName": "DittoSwift.DittoTCPListenConfig", + "usr": "s:10DittoSwift0A15TCPListenConfigV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A6ListenV3tcpAA0A15TCPListenConfigVvp", + "mangledName": "$s10DittoSwift0A6ListenV3tcpAA0A15TCPListenConfigVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTCPListenConfig", + "printedName": "DittoSwift.DittoTCPListenConfig", + "usr": "s:10DittoSwift0A15TCPListenConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6ListenV3tcpAA0A15TCPListenConfigVvg", + "mangledName": "$s10DittoSwift0A6ListenV3tcpAA0A15TCPListenConfigVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoTCPListenConfig", + "printedName": "DittoSwift.DittoTCPListenConfig", + "usr": "s:10DittoSwift0A15TCPListenConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6ListenV3tcpAA0A15TCPListenConfigVvs", + "mangledName": "$s10DittoSwift0A6ListenV3tcpAA0A15TCPListenConfigVvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6ListenV3tcpAA0A15TCPListenConfigVvM", + "mangledName": "$s10DittoSwift0A6ListenV3tcpAA0A15TCPListenConfigVvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "http", + "printedName": "http", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoHTTPListenConfig", + "printedName": "DittoSwift.DittoHTTPListenConfig", + "usr": "s:10DittoSwift0A16HTTPListenConfigV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A6ListenV4httpAA0A16HTTPListenConfigVvp", + "mangledName": "$s10DittoSwift0A6ListenV4httpAA0A16HTTPListenConfigVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoHTTPListenConfig", + "printedName": "DittoSwift.DittoHTTPListenConfig", + "usr": "s:10DittoSwift0A16HTTPListenConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6ListenV4httpAA0A16HTTPListenConfigVvg", + "mangledName": "$s10DittoSwift0A6ListenV4httpAA0A16HTTPListenConfigVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoHTTPListenConfig", + "printedName": "DittoSwift.DittoHTTPListenConfig", + "usr": "s:10DittoSwift0A16HTTPListenConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6ListenV4httpAA0A16HTTPListenConfigVvs", + "mangledName": "$s10DittoSwift0A6ListenV4httpAA0A16HTTPListenConfigVvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6ListenV4httpAA0A16HTTPListenConfigVvM", + "mangledName": "$s10DittoSwift0A6ListenV4httpAA0A16HTTPListenConfigVvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoListen", + "printedName": "DittoSwift.DittoListen", + "usr": "s:10DittoSwift0A6ListenV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A6ListenV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A6ListenV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A6ListenV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A6ListenV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoListen", + "printedName": "DittoSwift.DittoListen", + "usr": "s:10DittoSwift0A6ListenV" + }, + { + "kind": "TypeNominal", + "name": "DittoListen", + "printedName": "DittoSwift.DittoListen", + "usr": "s:10DittoSwift0A6ListenV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A6ListenV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A6ListenV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A6ListenV", + "mangledName": "$s10DittoSwift0A6ListenV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoGlobalConfig", + "printedName": "DittoGlobalConfig", + "children": [ + { + "kind": "Var", + "name": "syncGroup", + "printedName": "syncGroup", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12GlobalConfigV9syncGroups6UInt32Vvp", + "mangledName": "$s10DittoSwift0A12GlobalConfigV9syncGroups6UInt32Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12GlobalConfigV9syncGroups6UInt32Vvg", + "mangledName": "$s10DittoSwift0A12GlobalConfigV9syncGroups6UInt32Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12GlobalConfigV9syncGroups6UInt32Vvs", + "mangledName": "$s10DittoSwift0A12GlobalConfigV9syncGroups6UInt32Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12GlobalConfigV9syncGroups6UInt32VvM", + "mangledName": "$s10DittoSwift0A12GlobalConfigV9syncGroups6UInt32VvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "routingHint", + "printedName": "routingHint", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12GlobalConfigV11routingHints6UInt32Vvp", + "mangledName": "$s10DittoSwift0A12GlobalConfigV11routingHints6UInt32Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12GlobalConfigV11routingHints6UInt32Vvg", + "mangledName": "$s10DittoSwift0A12GlobalConfigV11routingHints6UInt32Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12GlobalConfigV11routingHints6UInt32Vvs", + "mangledName": "$s10DittoSwift0A12GlobalConfigV11routingHints6UInt32Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12GlobalConfigV11routingHints6UInt32VvM", + "mangledName": "$s10DittoSwift0A12GlobalConfigV11routingHints6UInt32VvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoGlobalConfig", + "printedName": "DittoSwift.DittoGlobalConfig", + "usr": "s:10DittoSwift0A12GlobalConfigV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A12GlobalConfigV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A12GlobalConfigV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A12GlobalConfigV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A12GlobalConfigV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoGlobalConfig", + "printedName": "DittoSwift.DittoGlobalConfig", + "usr": "s:10DittoSwift0A12GlobalConfigV" + }, + { + "kind": "TypeNominal", + "name": "DittoGlobalConfig", + "printedName": "DittoSwift.DittoGlobalConfig", + "usr": "s:10DittoSwift0A12GlobalConfigV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A12GlobalConfigV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A12GlobalConfigV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A12GlobalConfigV", + "mangledName": "$s10DittoSwift0A12GlobalConfigV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoTransportConfig", + "printedName": "DittoTransportConfig", + "children": [ + { + "kind": "Var", + "name": "peerToPeer", + "printedName": "peerToPeer", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeerToPeer", + "printedName": "DittoSwift.DittoPeerToPeer", + "usr": "s:10DittoSwift0a6PeerToC0V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15TransportConfigV10peerToPeerAA0agfG0Vvp", + "mangledName": "$s10DittoSwift0A15TransportConfigV10peerToPeerAA0agfG0Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeerToPeer", + "printedName": "DittoSwift.DittoPeerToPeer", + "usr": "s:10DittoSwift0a6PeerToC0V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV10peerToPeerAA0agfG0Vvg", + "mangledName": "$s10DittoSwift0A15TransportConfigV10peerToPeerAA0agfG0Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoPeerToPeer", + "printedName": "DittoSwift.DittoPeerToPeer", + "usr": "s:10DittoSwift0a6PeerToC0V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV10peerToPeerAA0agfG0Vvs", + "mangledName": "$s10DittoSwift0A15TransportConfigV10peerToPeerAA0agfG0Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV10peerToPeerAA0agfG0VvM", + "mangledName": "$s10DittoSwift0A15TransportConfigV10peerToPeerAA0agfG0VvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "connect", + "printedName": "connect", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnect", + "printedName": "DittoSwift.DittoConnect", + "usr": "s:10DittoSwift0A7ConnectV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15TransportConfigV7connectAA0A7ConnectVvp", + "mangledName": "$s10DittoSwift0A15TransportConfigV7connectAA0A7ConnectVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnect", + "printedName": "DittoSwift.DittoConnect", + "usr": "s:10DittoSwift0A7ConnectV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV7connectAA0A7ConnectVvg", + "mangledName": "$s10DittoSwift0A15TransportConfigV7connectAA0A7ConnectVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoConnect", + "printedName": "DittoSwift.DittoConnect", + "usr": "s:10DittoSwift0A7ConnectV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV7connectAA0A7ConnectVvs", + "mangledName": "$s10DittoSwift0A15TransportConfigV7connectAA0A7ConnectVvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV7connectAA0A7ConnectVvM", + "mangledName": "$s10DittoSwift0A15TransportConfigV7connectAA0A7ConnectVvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "listen", + "printedName": "listen", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoListen", + "printedName": "DittoSwift.DittoListen", + "usr": "s:10DittoSwift0A6ListenV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15TransportConfigV6listenAA0A6ListenVvp", + "mangledName": "$s10DittoSwift0A15TransportConfigV6listenAA0A6ListenVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoListen", + "printedName": "DittoSwift.DittoListen", + "usr": "s:10DittoSwift0A6ListenV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV6listenAA0A6ListenVvg", + "mangledName": "$s10DittoSwift0A15TransportConfigV6listenAA0A6ListenVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoListen", + "printedName": "DittoSwift.DittoListen", + "usr": "s:10DittoSwift0A6ListenV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV6listenAA0A6ListenVvs", + "mangledName": "$s10DittoSwift0A15TransportConfigV6listenAA0A6ListenVvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV6listenAA0A6ListenVvM", + "mangledName": "$s10DittoSwift0A15TransportConfigV6listenAA0A6ListenVvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "global", + "printedName": "global", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoGlobalConfig", + "printedName": "DittoSwift.DittoGlobalConfig", + "usr": "s:10DittoSwift0A12GlobalConfigV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15TransportConfigV6globalAA0a6GlobalD0Vvp", + "mangledName": "$s10DittoSwift0A15TransportConfigV6globalAA0a6GlobalD0Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoGlobalConfig", + "printedName": "DittoSwift.DittoGlobalConfig", + "usr": "s:10DittoSwift0A12GlobalConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV6globalAA0a6GlobalD0Vvg", + "mangledName": "$s10DittoSwift0A15TransportConfigV6globalAA0a6GlobalD0Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoGlobalConfig", + "printedName": "DittoSwift.DittoGlobalConfig", + "usr": "s:10DittoSwift0A12GlobalConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV6globalAA0a6GlobalD0Vvs", + "mangledName": "$s10DittoSwift0A15TransportConfigV6globalAA0a6GlobalD0Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV6globalAA0a6GlobalD0VvM", + "mangledName": "$s10DittoSwift0A15TransportConfigV6globalAA0a6GlobalD0VvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Function", + "name": "enableAllPeerToPeer", + "printedName": "enableAllPeerToPeer()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15TransportConfigV015enableAllPeerToG0yyF", + "mangledName": "$s10DittoSwift0A15TransportConfigV015enableAllPeerToG0yyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "Mutating", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "Mutating" + }, + { + "kind": "Function", + "name": "setAllPeerToPeer", + "printedName": "setAllPeerToPeer(enabled:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15TransportConfigV012setAllPeerToG07enabledySb_tF", + "mangledName": "$s10DittoSwift0A15TransportConfigV012setAllPeerToG07enabledySb_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "Mutating", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "Mutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportConfig", + "printedName": "DittoSwift.DittoTransportConfig", + "usr": "s:10DittoSwift0A15TransportConfigV" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A15TransportConfigVACycfc", + "mangledName": "$s10DittoSwift0A15TransportConfigVACycfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportConfig", + "printedName": "DittoSwift.DittoTransportConfig", + "usr": "s:10DittoSwift0A15TransportConfigV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A15TransportConfigV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A15TransportConfigV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15TransportConfigV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A15TransportConfigV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoTransportConfig", + "printedName": "DittoSwift.DittoTransportConfig", + "usr": "s:10DittoSwift0A15TransportConfigV" + }, + { + "kind": "TypeNominal", + "name": "DittoTransportConfig", + "printedName": "DittoSwift.DittoTransportConfig", + "usr": "s:10DittoSwift0A15TransportConfigV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15TransportConfigV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A15TransportConfigV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A15TransportConfigV", + "mangledName": "$s10DittoSwift0A15TransportConfigV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "LMDBError", + "printedName": "LMDBError", + "children": [ + { + "kind": "Var", + "name": "keyExists", + "printedName": "keyExists", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO9keyExistsyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO9keyExistsyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "notFound", + "printedName": "notFound", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO8notFoundyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO8notFoundyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "pageNotFound", + "printedName": "pageNotFound", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO12pageNotFoundyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO12pageNotFoundyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "corrupted", + "printedName": "corrupted", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO9corruptedyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO9corruptedyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "panic", + "printedName": "panic", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO5panicyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO5panicyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "versionMismatch", + "printedName": "versionMismatch", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO15versionMismatchyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO15versionMismatchyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "invalid", + "printedName": "invalid", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO7invalidyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO7invalidyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "mapFull", + "printedName": "mapFull", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO7mapFullyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO7mapFullyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "dbsFull", + "printedName": "dbsFull", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO7dbsFullyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO7dbsFullyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "readersFull", + "printedName": "readersFull", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO11readersFullyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO11readersFullyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "tlsFull", + "printedName": "tlsFull", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO7tlsFullyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO7tlsFullyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "txnFull", + "printedName": "txnFull", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO7txnFullyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO7txnFullyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "cursorFull", + "printedName": "cursorFull", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO10cursorFullyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO10cursorFullyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "pageFull", + "printedName": "pageFull", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO8pageFullyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO8pageFullyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "mapResized", + "printedName": "mapResized", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO10mapResizedyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO10mapResizedyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "incompatible", + "printedName": "incompatible", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO12incompatibleyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO12incompatibleyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "badReaderSlot", + "printedName": "badReaderSlot", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO13badReaderSlotyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO13badReaderSlotyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "badTransaction", + "printedName": "badTransaction", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO14badTransactionyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO14badTransactionyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "badValueSize", + "printedName": "badValueSize", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO12badValueSizeyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO12badValueSizeyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "badDBI", + "printedName": "badDBI", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO6badDBIyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO6badDBIyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "problem", + "printedName": "problem", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO7problemyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO7problemyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "invalidParameter", + "printedName": "invalidParameter", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO16invalidParameteryA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO16invalidParameteryA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "outOfDiskSpace", + "printedName": "outOfDiskSpace", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO14outOfDiskSpaceyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO14outOfDiskSpaceyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "outOfMemory", + "printedName": "outOfMemory", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO11outOfMemoryyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO11outOfMemoryyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "ioError", + "printedName": "ioError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO7ioErroryA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO7ioErroryA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "accessViolation", + "printedName": "accessViolation", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO15accessViolationyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO15accessViolationyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "other", + "printedName": "other", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> (Swift.Int32) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int32) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(returnCode: Swift.Int32)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO5otheryACs5Int32V_tcACmF", + "mangledName": "$s10DittoSwift9LMDBErrorO5otheryACs5Int32V_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift9LMDBErrorO2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift9LMDBErrorO2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift9LMDBErrorO", + "mangledName": "$s10DittoSwift9LMDBErrorO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoLiveQuery", + "printedName": "DittoLiveQuery", + "children": [ + { + "kind": "Var", + "name": "query", + "printedName": "query", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A9LiveQueryC5querySSvp", + "mangledName": "$s10DittoSwift0A9LiveQueryC5querySSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LiveQueryC5querySSvg", + "mangledName": "$s10DittoSwift0A9LiveQueryC5querySSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "collectionName", + "printedName": "collectionName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A9LiveQueryC14collectionNameSSvp", + "mangledName": "$s10DittoSwift0A9LiveQueryC14collectionNameSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LiveQueryC14collectionNameSSvg", + "mangledName": "$s10DittoSwift0A9LiveQueryC14collectionNameSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "stop", + "printedName": "stop()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A9LiveQueryC4stopyyF", + "mangledName": "$s10DittoSwift0A9LiveQueryC4stopyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A9LiveQueryC", + "mangledName": "$s10DittoSwift0A9LiveQueryC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoWriteTransactionPendingIDSpecificOperation", + "printedName": "DittoWriteTransactionPendingIDSpecificOperation", + "children": [ + { + "kind": "Function", + "name": "remove", + "printedName": "remove()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC6removeSbyF", + "mangledName": "$s10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC6removeSbyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "evict", + "printedName": "evict()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC5evictSbyF", + "mangledName": "$s10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC5evictSbyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "exec", + "printedName": "exec()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC4execAA0A8DocumentCSgyF", + "mangledName": "$s10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC4execAA0A8DocumentCSgyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "update", + "printedName": "update(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoUpdateResult]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoUpdateResult", + "printedName": "DittoSwift.DittoUpdateResult", + "usr": "s:10DittoSwift0A12UpdateResultO" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoMutableDocument?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoMutableDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocument", + "printedName": "DittoSwift.DittoMutableDocument", + "usr": "s:10DittoSwift0A15MutableDocumentC" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC6updateySayAA0A12UpdateResultOGyAA0A15MutableDocumentCSgcF", + "mangledName": "$s10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC6updateySayAA0A12UpdateResultOGyAA0A15MutableDocumentCSgcF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "update", + "printedName": "update(using:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC6update5usingyx_tKSeRzSERzlF", + "mangledName": "$s10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC6update5usingyx_tKSeRzSERzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Swift.Decodable, ฯ„_0_0 : Swift.Encodable>", + "sugared_genericSig": "", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC", + "mangledName": "$s10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoMutableRegister", + "printedName": "DittoMutableRegister", + "children": [ + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC5valueypSgvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC5valueypSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC5valueypSgvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC5valueypSgvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC5valueypSgvs", + "mangledName": "$s10DittoSwift0A15MutableRegisterC5valueypSgvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC5valueypSgvM", + "mangledName": "$s10DittoSwift0A15MutableRegisterC5valueypSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "string", + "printedName": "string", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC6stringSSSgvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC6stringSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC6stringSSSgvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC6stringSSSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "stringValue", + "printedName": "stringValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC11stringValueSSvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC11stringValueSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC11stringValueSSvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC11stringValueSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "bool", + "printedName": "bool", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC4boolSbSgvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC4boolSbSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC4boolSbSgvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC4boolSbSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "boolValue", + "printedName": "boolValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC9boolValueSbvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC9boolValueSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC9boolValueSbvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC9boolValueSbvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "int", + "printedName": "int", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC3intSiSgvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC3intSiSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC3intSiSgvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC3intSiSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "intValue", + "printedName": "intValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC8intValueSivp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC8intValueSivp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC8intValueSivg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC8intValueSivg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uint", + "printedName": "uint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC4uintSuSgvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC4uintSuSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC4uintSuSgvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC4uintSuSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uintValue", + "printedName": "uintValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC9uintValueSuvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC9uintValueSuvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC9uintValueSuvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC9uintValueSuvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "float", + "printedName": "float", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC5floatSfSgvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC5floatSfSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC5floatSfSgvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC5floatSfSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "floatValue", + "printedName": "floatValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC10floatValueSfvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC10floatValueSfvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC10floatValueSfvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC10floatValueSfvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "double", + "printedName": "double", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC6doubleSdSgvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC6doubleSdSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC6doubleSdSgvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC6doubleSdSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "doubleValue", + "printedName": "doubleValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC11doubleValueSdvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC11doubleValueSdvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC11doubleValueSdvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC11doubleValueSdvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "array", + "printedName": "array", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC5arraySayypSgGSgvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC5arraySayypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC5arraySayypSgGSgvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC5arraySayypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "arrayValue", + "printedName": "arrayValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC10arrayValueSayypSgGvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC10arrayValueSayypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC10arrayValueSayypSgGvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC10arrayValueSayypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionary", + "printedName": "dictionary", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC10dictionarySDySSypSgGSgvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC10dictionarySDySSypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC10dictionarySDySSypSgGSgvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC10dictionarySDySSypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionaryValue", + "printedName": "dictionaryValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC15dictionaryValueSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC15dictionaryValueSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC15dictionaryValueSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC15dictionaryValueSDySSypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A15MutableRegisterC", + "mangledName": "$s10DittoSwift0A15MutableRegisterC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoPeerV2Parser", + "printedName": "DittoPeerV2Parser", + "children": [ + { + "kind": "Function", + "name": "parseJson", + "printedName": "parseJson(json:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[DittoSwift.DittoRemotePeerV2]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoRemotePeerV2]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoRemotePeerV2", + "printedName": "DittoSwift.DittoRemotePeerV2", + "usr": "s:10DittoSwift0A12RemotePeerV2C" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A12PeerV2ParserC9parseJson4jsonSayAA0a6RemotecD0CGSgSS_tFZ", + "mangledName": "$s10DittoSwift0A12PeerV2ParserC9parseJson4jsonSayAA0a6RemotecD0CGSgSS_tFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A12PeerV2ParserC", + "mangledName": "$s10DittoSwift0A12PeerV2ParserC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Combine", + "printedName": "Combine", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoCounter", + "printedName": "DittoCounter", + "children": [ + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A7CounterC5valueSdvp", + "mangledName": "$s10DittoSwift0A7CounterC5valueSdvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "SetterAccess", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7CounterC5valueSdvg", + "mangledName": "$s10DittoSwift0A7CounterC5valueSdvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCounter", + "printedName": "DittoSwift.DittoCounter", + "usr": "s:10DittoSwift0A7CounterC" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A7CounterCACycfc", + "mangledName": "$s10DittoSwift0A7CounterCACycfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Convenience", + "AccessControl", + "RawDocComment" + ], + "init_kind": "Convenience" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoCounter", + "printedName": "DittoSwift.DittoCounter", + "usr": "s:10DittoSwift0A7CounterC" + }, + { + "kind": "TypeNominal", + "name": "DittoCounter", + "printedName": "DittoSwift.DittoCounter", + "usr": "s:10DittoSwift0A7CounterC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A7CounterC2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A7CounterC2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A7CounterC", + "mangledName": "$s10DittoSwift0A7CounterC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoTransactionCompletionAction", + "printedName": "DittoTransactionCompletionAction", + "children": [ + { + "kind": "Var", + "name": "commit", + "printedName": "commit", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransactionCompletionAction.Type) -> DittoSwift.DittoTransactionCompletionAction", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransactionCompletionAction", + "printedName": "DittoSwift.DittoTransactionCompletionAction", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransactionCompletionAction.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransactionCompletionAction", + "printedName": "DittoSwift.DittoTransactionCompletionAction", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO6commityA2CmF", + "mangledName": "$s10DittoSwift0A27TransactionCompletionActionO6commityA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "rollback", + "printedName": "rollback", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransactionCompletionAction.Type) -> DittoSwift.DittoTransactionCompletionAction", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransactionCompletionAction", + "printedName": "DittoSwift.DittoTransactionCompletionAction", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransactionCompletionAction.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransactionCompletionAction", + "printedName": "DittoSwift.DittoTransactionCompletionAction", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO8rollbackyA2CmF", + "mangledName": "$s10DittoSwift0A27TransactionCompletionActionO8rollbackyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO9hashValueSivp", + "mangledName": "$s10DittoSwift0A27TransactionCompletionActionO9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO9hashValueSivg", + "mangledName": "$s10DittoSwift0A27TransactionCompletionActionO9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A27TransactionCompletionActionO4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoTransactionCompletionAction", + "printedName": "DittoSwift.DittoTransactionCompletionAction", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO" + }, + { + "kind": "TypeNominal", + "name": "DittoTransactionCompletionAction", + "printedName": "DittoSwift.DittoTransactionCompletionAction", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A27TransactionCompletionActionO2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO", + "mangledName": "$s10DittoSwift0A27TransactionCompletionActionO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoLogLevel", + "printedName": "DittoLogLevel", + "children": [ + { + "kind": "Var", + "name": "error", + "printedName": "error", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoLogLevel.Type) -> DittoSwift.DittoLogLevel", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoLogLevel.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A8LogLevelO5erroryA2CmF", + "mangledName": "$s10DittoSwift0A8LogLevelO5erroryA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "warning", + "printedName": "warning", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoLogLevel.Type) -> DittoSwift.DittoLogLevel", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoLogLevel.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A8LogLevelO7warningyA2CmF", + "mangledName": "$s10DittoSwift0A8LogLevelO7warningyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "info", + "printedName": "info", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoLogLevel.Type) -> DittoSwift.DittoLogLevel", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoLogLevel.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A8LogLevelO4infoyA2CmF", + "mangledName": "$s10DittoSwift0A8LogLevelO4infoyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "debug", + "printedName": "debug", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoLogLevel.Type) -> DittoSwift.DittoLogLevel", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoLogLevel.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A8LogLevelO5debugyA2CmF", + "mangledName": "$s10DittoSwift0A8LogLevelO5debugyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "verbose", + "printedName": "verbose", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoLogLevel.Type) -> DittoSwift.DittoLogLevel", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoLogLevel.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A8LogLevelO7verboseyA2CmF", + "mangledName": "$s10DittoSwift0A8LogLevelO7verboseyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoLogLevel?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A8LogLevelO8rawValueACSgSi_tcfc", + "mangledName": "$s10DittoSwift0A8LogLevelO8rawValueACSgSi_tcfc", + "moduleName": "DittoSwift", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8LogLevelO8rawValueSivp", + "mangledName": "$s10DittoSwift0A8LogLevelO8rawValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8LogLevelO8rawValueSivg", + "mangledName": "$s10DittoSwift0A8LogLevelO8rawValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A8LogLevelO", + "mangledName": "$s10DittoSwift0A8LogLevelO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "enumRawTypeName": "Int", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSmallPeerInfoSyncScope", + "children": [ + { + "kind": "Var", + "name": "bigPeerOnly", + "printedName": "bigPeerOnly", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSmallPeerInfoSyncScope.Type) -> DittoSwift.DittoSmallPeerInfoSyncScope", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO03bigD4OnlyyA2CmF", + "mangledName": "$s10DittoSwift0A22SmallPeerInfoSyncScopeO03bigD4OnlyyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "localPeerOnly", + "printedName": "localPeerOnly", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSmallPeerInfoSyncScope.Type) -> DittoSwift.DittoSmallPeerInfoSyncScope", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO05localD4OnlyyA2CmF", + "mangledName": "$s10DittoSwift0A22SmallPeerInfoSyncScopeO05localD4OnlyyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO8rawValueACSgSu_tcfc", + "mangledName": "$s10DittoSwift0A22SmallPeerInfoSyncScopeO8rawValueACSgSu_tcfc", + "moduleName": "DittoSwift", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO8rawValueSuvp", + "mangledName": "$s10DittoSwift0A22SmallPeerInfoSyncScopeO8rawValueSuvp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO8rawValueSuvg", + "mangledName": "$s10DittoSwift0A22SmallPeerInfoSyncScopeO8rawValueSuvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "allCases", + "printedName": "allCases", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoSmallPeerInfoSyncScope]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO8allCasesSayACGvpZ", + "mangledName": "$s10DittoSwift0A22SmallPeerInfoSyncScopeO8allCasesSayACGvpZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "declAttributes": [ + "Nonisolated" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoSmallPeerInfoSyncScope]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO8allCasesSayACGvgZ", + "mangledName": "$s10DittoSwift0A22SmallPeerInfoSyncScopeO8allCasesSayACGvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO11descriptionSSvp", + "mangledName": "$s10DittoSwift0A22SmallPeerInfoSyncScopeO11descriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO11descriptionSSvg", + "mangledName": "$s10DittoSwift0A22SmallPeerInfoSyncScopeO11descriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO", + "mangledName": "$s10DittoSwift0A22SmallPeerInfoSyncScopeO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "enumRawTypeName": "UInt", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "CaseIterable", + "printedName": "CaseIterable", + "children": [ + { + "kind": "TypeWitness", + "name": "AllCases", + "printedName": "AllCases", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoSmallPeerInfoSyncScope]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + } + ], + "usr": "s:Sa" + } + ] + } + ], + "usr": "s:s12CaseIterableP", + "mangledName": "$ss12CaseIterableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoConnectionPriority", + "printedName": "DittoConnectionPriority", + "children": [ + { + "kind": "Var", + "name": "dontConnect", + "printedName": "dontConnect", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionPriority.Type) -> DittoSwift.DittoConnectionPriority", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionPriority", + "printedName": "DittoSwift.DittoConnectionPriority", + "usr": "s:10DittoSwift0A18ConnectionPriorityO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConnectionPriority.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionPriority", + "printedName": "DittoSwift.DittoConnectionPriority", + "usr": "s:10DittoSwift0A18ConnectionPriorityO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18ConnectionPriorityO11dontConnectyA2CmF", + "mangledName": "$s10DittoSwift0A18ConnectionPriorityO11dontConnectyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "normal", + "printedName": "normal", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionPriority.Type) -> DittoSwift.DittoConnectionPriority", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionPriority", + "printedName": "DittoSwift.DittoConnectionPriority", + "usr": "s:10DittoSwift0A18ConnectionPriorityO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConnectionPriority.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionPriority", + "printedName": "DittoSwift.DittoConnectionPriority", + "usr": "s:10DittoSwift0A18ConnectionPriorityO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18ConnectionPriorityO6normalyA2CmF", + "mangledName": "$s10DittoSwift0A18ConnectionPriorityO6normalyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "high", + "printedName": "high", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionPriority.Type) -> DittoSwift.DittoConnectionPriority", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionPriority", + "printedName": "DittoSwift.DittoConnectionPriority", + "usr": "s:10DittoSwift0A18ConnectionPriorityO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConnectionPriority.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionPriority", + "printedName": "DittoSwift.DittoConnectionPriority", + "usr": "s:10DittoSwift0A18ConnectionPriorityO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18ConnectionPriorityO4highyA2CmF", + "mangledName": "$s10DittoSwift0A18ConnectionPriorityO4highyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoConnectionPriority?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionPriority", + "printedName": "DittoSwift.DittoConnectionPriority", + "usr": "s:10DittoSwift0A18ConnectionPriorityO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A18ConnectionPriorityO8rawValueACSgSi_tcfc", + "mangledName": "$s10DittoSwift0A18ConnectionPriorityO8rawValueACSgSi_tcfc", + "moduleName": "DittoSwift", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A18ConnectionPriorityO8rawValueSivp", + "mangledName": "$s10DittoSwift0A18ConnectionPriorityO8rawValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A18ConnectionPriorityO8rawValueSivg", + "mangledName": "$s10DittoSwift0A18ConnectionPriorityO8rawValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A18ConnectionPriorityO", + "mangledName": "$s10DittoSwift0A18ConnectionPriorityO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "enumRawTypeName": "Int", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoTransportCondition", + "printedName": "DittoTransportCondition", + "children": [ + { + "kind": "Var", + "name": "Unknown", + "printedName": "Unknown", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO7UnknownyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO7UnknownyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "Ok", + "printedName": "Ok", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO2OkyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO2OkyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "GenericFailure", + "printedName": "GenericFailure", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO14GenericFailureyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO14GenericFailureyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "AppInBackground", + "printedName": "AppInBackground", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO15AppInBackgroundyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO15AppInBackgroundyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "MdnsFailure", + "printedName": "MdnsFailure", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO11MdnsFailureyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO11MdnsFailureyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "TcpListenFailure", + "printedName": "TcpListenFailure", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO16TcpListenFailureyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO16TcpListenFailureyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "NoBleCentralPermission", + "printedName": "NoBleCentralPermission", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO22NoBleCentralPermissionyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO22NoBleCentralPermissionyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "NoBlePeripheralPermission", + "printedName": "NoBlePeripheralPermission", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO25NoBlePeripheralPermissionyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO25NoBlePeripheralPermissionyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "CannotEstablishConnection", + "printedName": "CannotEstablishConnection", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO25CannotEstablishConnectionyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO25CannotEstablishConnectionyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "BleDisabled", + "printedName": "BleDisabled", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO11BleDisabledyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO11BleDisabledyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "NoBleHardware", + "printedName": "NoBleHardware", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO13NoBleHardwareyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO13NoBleHardwareyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "WifiDisabled", + "printedName": "WifiDisabled", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO12WifiDisabledyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO12WifiDisabledyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "TemporarilyUnavailable", + "printedName": "TemporarilyUnavailable", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO22TemporarilyUnavailableyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO22TemporarilyUnavailableyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A18TransportConditionO11descriptionSSvp", + "mangledName": "$s10DittoSwift0A18TransportConditionO11descriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A18TransportConditionO11descriptionSSvg", + "mangledName": "$s10DittoSwift0A18TransportConditionO11descriptionSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoTransportCondition?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A18TransportConditionO8rawValueACSgs6UInt32V_tcfc", + "mangledName": "$s10DittoSwift0A18TransportConditionO8rawValueACSgs6UInt32V_tcfc", + "moduleName": "DittoSwift", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A18TransportConditionO8rawValues6UInt32Vvp", + "mangledName": "$s10DittoSwift0A18TransportConditionO8rawValues6UInt32Vvp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A18TransportConditionO8rawValues6UInt32Vvg", + "mangledName": "$s10DittoSwift0A18TransportConditionO8rawValues6UInt32Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A18TransportConditionO", + "mangledName": "$s10DittoSwift0A18TransportConditionO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "enumRawTypeName": "UInt32", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoConditionSource", + "printedName": "DittoConditionSource", + "children": [ + { + "kind": "Var", + "name": "Bluetooth", + "printedName": "Bluetooth", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConditionSource.Type) -> DittoSwift.DittoConditionSource", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConditionSource.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A15ConditionSourceO9BluetoothyA2CmF", + "mangledName": "$s10DittoSwift0A15ConditionSourceO9BluetoothyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "Tcp", + "printedName": "Tcp", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConditionSource.Type) -> DittoSwift.DittoConditionSource", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConditionSource.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A15ConditionSourceO3TcpyA2CmF", + "mangledName": "$s10DittoSwift0A15ConditionSourceO3TcpyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "Awdl", + "printedName": "Awdl", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConditionSource.Type) -> DittoSwift.DittoConditionSource", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConditionSource.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A15ConditionSourceO4AwdlyA2CmF", + "mangledName": "$s10DittoSwift0A15ConditionSourceO4AwdlyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "Mdns", + "printedName": "Mdns", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConditionSource.Type) -> DittoSwift.DittoConditionSource", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConditionSource.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A15ConditionSourceO4MdnsyA2CmF", + "mangledName": "$s10DittoSwift0A15ConditionSourceO4MdnsyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15ConditionSourceO11descriptionSSvp", + "mangledName": "$s10DittoSwift0A15ConditionSourceO11descriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15ConditionSourceO11descriptionSSvg", + "mangledName": "$s10DittoSwift0A15ConditionSourceO11descriptionSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoConditionSource?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A15ConditionSourceO8rawValueACSgs6UInt32V_tcfc", + "mangledName": "$s10DittoSwift0A15ConditionSourceO8rawValueACSgs6UInt32V_tcfc", + "moduleName": "DittoSwift", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15ConditionSourceO8rawValues6UInt32Vvp", + "mangledName": "$s10DittoSwift0A15ConditionSourceO8rawValues6UInt32Vvp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15ConditionSourceO8rawValues6UInt32Vvg", + "mangledName": "$s10DittoSwift0A15ConditionSourceO8rawValues6UInt32Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A15ConditionSourceO", + "mangledName": "$s10DittoSwift0A15ConditionSourceO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "enumRawTypeName": "UInt32", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoStoreObserver", + "printedName": "DittoStoreObserver", + "children": [ + { + "kind": "Var", + "name": "ditto", + "printedName": "ditto", + "children": [ + { + "kind": "TypeNominal", + "name": "WeakStorage", + "printedName": "DittoSwift.Ditto?" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13StoreObserverC5dittoAA0A0CSgvp", + "mangledName": "$s10DittoSwift0A13StoreObserverC5dittoAA0A0CSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "ReferenceOwnership", + "SetterAccess", + "AccessControl", + "RawDocComment" + ], + "ownership": 1, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.Ditto?", + "children": [ + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13StoreObserverC5dittoAA0A0CSgvg", + "mangledName": "$s10DittoSwift0A13StoreObserverC5dittoAA0A0CSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "queryString", + "printedName": "queryString", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13StoreObserverC11queryStringSSvp", + "mangledName": "$s10DittoSwift0A13StoreObserverC11queryStringSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13StoreObserverC11queryStringSSvg", + "mangledName": "$s10DittoSwift0A13StoreObserverC11queryStringSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "queryArguments", + "printedName": "queryArguments", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13StoreObserverC14queryArgumentsSDySSypSgGSgvp", + "mangledName": "$s10DittoSwift0A13StoreObserverC14queryArgumentsSDySSypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13StoreObserverC14queryArgumentsSDySSypSgGSgvg", + "mangledName": "$s10DittoSwift0A13StoreObserverC14queryArgumentsSDySSypSgGSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "isCancelled", + "printedName": "isCancelled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13StoreObserverC11isCancelledSbvp", + "mangledName": "$s10DittoSwift0A13StoreObserverC11isCancelledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13StoreObserverC11isCancelledSbvg", + "mangledName": "$s10DittoSwift0A13StoreObserverC11isCancelledSbvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "cancel", + "printedName": "cancel()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13StoreObserverC6cancelyyF", + "mangledName": "$s10DittoSwift0A13StoreObserverC6cancelyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13StoreObserverC4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A13StoreObserverC4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13StoreObserverC9hashValueSivp", + "mangledName": "$s10DittoSwift0A13StoreObserverC9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13StoreObserverC9hashValueSivg", + "mangledName": "$s10DittoSwift0A13StoreObserverC9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoStoreObserver", + "printedName": "DittoSwift.DittoStoreObserver", + "usr": "s:10DittoSwift0A13StoreObserverC" + }, + { + "kind": "TypeNominal", + "name": "DittoStoreObserver", + "printedName": "DittoSwift.DittoStoreObserver", + "usr": "s:10DittoSwift0A13StoreObserverC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13StoreObserverC2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A13StoreObserverC2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A13StoreObserverC", + "mangledName": "$s10DittoSwift0A13StoreObserverC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoDocumentPath", + "printedName": "DittoDocumentPath", + "children": [ + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentPath", + "printedName": "DittoSwift.DittoDocumentPath", + "usr": "s:10DittoSwift0A12DocumentPathV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A12DocumentPathVyACSScip", + "mangledName": "$s10DittoSwift0A12DocumentPathVyACSScip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentPath", + "printedName": "DittoSwift.DittoDocumentPath", + "usr": "s:10DittoSwift0A12DocumentPathV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathVyACSScig", + "mangledName": "$s10DittoSwift0A12DocumentPathVyACSScig", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentPath", + "printedName": "DittoSwift.DittoDocumentPath", + "usr": "s:10DittoSwift0A12DocumentPathV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A12DocumentPathVyACSicip", + "mangledName": "$s10DittoSwift0A12DocumentPathVyACSicip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentPath", + "printedName": "DittoSwift.DittoDocumentPath", + "usr": "s:10DittoSwift0A12DocumentPathV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathVyACSicig", + "mangledName": "$s10DittoSwift0A12DocumentPathVyACSicig", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV5valueypSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV5valueypSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV5valueypSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV5valueypSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "string", + "printedName": "string", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV6stringSSSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV6stringSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV6stringSSSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV6stringSSSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "stringValue", + "printedName": "stringValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV11stringValueSSvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV11stringValueSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV11stringValueSSvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV11stringValueSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "bool", + "printedName": "bool", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV4boolSbSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV4boolSbSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV4boolSbSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV4boolSbSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "boolValue", + "printedName": "boolValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV9boolValueSbvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV9boolValueSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV9boolValueSbvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV9boolValueSbvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "int", + "printedName": "int", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV3intSiSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV3intSiSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV3intSiSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV3intSiSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "intValue", + "printedName": "intValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV8intValueSivp", + "mangledName": "$s10DittoSwift0A12DocumentPathV8intValueSivp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV8intValueSivg", + "mangledName": "$s10DittoSwift0A12DocumentPathV8intValueSivg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uint", + "printedName": "uint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV4uintSuSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV4uintSuSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV4uintSuSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV4uintSuSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uintValue", + "printedName": "uintValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV9uintValueSuvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV9uintValueSuvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV9uintValueSuvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV9uintValueSuvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "float", + "printedName": "float", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV5floatSfSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV5floatSfSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV5floatSfSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV5floatSfSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "floatValue", + "printedName": "floatValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV10floatValueSfvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV10floatValueSfvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV10floatValueSfvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV10floatValueSfvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "double", + "printedName": "double", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV6doubleSdSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV6doubleSdSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV6doubleSdSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV6doubleSdSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "doubleValue", + "printedName": "doubleValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV11doubleValueSdvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV11doubleValueSdvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV11doubleValueSdvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV11doubleValueSdvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "array", + "printedName": "array", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV5arraySayypSgGSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV5arraySayypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV5arraySayypSgGSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV5arraySayypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "arrayValue", + "printedName": "arrayValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV10arrayValueSayypSgGvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV10arrayValueSayypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV10arrayValueSayypSgGvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV10arrayValueSayypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionary", + "printedName": "dictionary", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV10dictionarySDySSypSgGSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV10dictionarySDySSypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV10dictionarySDySSypSgGSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV10dictionarySDySSypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionaryValue", + "printedName": "dictionaryValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV15dictionaryValueSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV15dictionaryValueSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV15dictionaryValueSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV15dictionaryValueSDySSypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "attachmentToken", + "printedName": "attachmentToken", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoAttachmentToken?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentToken", + "printedName": "DittoSwift.DittoAttachmentToken", + "usr": "s:10DittoSwift0A15AttachmentTokenC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV15attachmentTokenAA0a10AttachmentF0CSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV15attachmentTokenAA0a10AttachmentF0CSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoAttachmentToken?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentToken", + "printedName": "DittoSwift.DittoAttachmentToken", + "usr": "s:10DittoSwift0A15AttachmentTokenC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV15attachmentTokenAA0a10AttachmentF0CSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV15attachmentTokenAA0a10AttachmentF0CSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "counter", + "printedName": "counter", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoCounter?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCounter", + "printedName": "DittoSwift.DittoCounter", + "usr": "s:10DittoSwift0A7CounterC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV7counterAA0A7CounterCSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV7counterAA0A7CounterCSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoCounter?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCounter", + "printedName": "DittoSwift.DittoCounter", + "usr": "s:10DittoSwift0A7CounterC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV7counterAA0A7CounterCSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV7counterAA0A7CounterCSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "register", + "printedName": "register", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoRegister?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoRegister", + "printedName": "DittoSwift.DittoRegister", + "usr": "s:10DittoSwift0A8RegisterC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV8registerAA0A8RegisterCSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV8registerAA0A8RegisterCSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoRegister?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoRegister", + "printedName": "DittoSwift.DittoRegister", + "usr": "s:10DittoSwift0A8RegisterC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV8registerAA0A8RegisterCSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV8registerAA0A8RegisterCSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A12DocumentPathV", + "mangledName": "$s10DittoSwift0A12DocumentPathV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoDiff", + "printedName": "DittoDiff", + "children": [ + { + "kind": "Var", + "name": "insertions", + "printedName": "insertions", + "children": [ + { + "kind": "TypeNominal", + "name": "IndexSet", + "printedName": "Foundation.IndexSet", + "usr": "s:10Foundation8IndexSetV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4DiffV10insertions10Foundation8IndexSetVvp", + "mangledName": "$s10DittoSwift0A4DiffV10insertions10Foundation8IndexSetVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "IndexSet", + "printedName": "Foundation.IndexSet", + "usr": "s:10Foundation8IndexSetV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4DiffV10insertions10Foundation8IndexSetVvg", + "mangledName": "$s10DittoSwift0A4DiffV10insertions10Foundation8IndexSetVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "deletions", + "printedName": "deletions", + "children": [ + { + "kind": "TypeNominal", + "name": "IndexSet", + "printedName": "Foundation.IndexSet", + "usr": "s:10Foundation8IndexSetV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4DiffV9deletions10Foundation8IndexSetVvp", + "mangledName": "$s10DittoSwift0A4DiffV9deletions10Foundation8IndexSetVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "IndexSet", + "printedName": "Foundation.IndexSet", + "usr": "s:10Foundation8IndexSetV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4DiffV9deletions10Foundation8IndexSetVvg", + "mangledName": "$s10DittoSwift0A4DiffV9deletions10Foundation8IndexSetVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "updates", + "printedName": "updates", + "children": [ + { + "kind": "TypeNominal", + "name": "IndexSet", + "printedName": "Foundation.IndexSet", + "usr": "s:10Foundation8IndexSetV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4DiffV7updates10Foundation8IndexSetVvp", + "mangledName": "$s10DittoSwift0A4DiffV7updates10Foundation8IndexSetVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "IndexSet", + "printedName": "Foundation.IndexSet", + "usr": "s:10Foundation8IndexSetV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4DiffV7updates10Foundation8IndexSetVvg", + "mangledName": "$s10DittoSwift0A4DiffV7updates10Foundation8IndexSetVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "moves", + "printedName": "moves", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[(from: Swift.Int, to: Swift.Int)]", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(from: Swift.Int, to: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4DiffV5movesSaySi4from_Si2totGvp", + "mangledName": "$s10DittoSwift0A4DiffV5movesSaySi4from_Si2totGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[(from: Swift.Int, to: Swift.Int)]", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(from: Swift.Int, to: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4DiffV5movesSaySi4from_Si2totGvg", + "mangledName": "$s10DittoSwift0A4DiffV5movesSaySi4from_Si2totGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDiff", + "printedName": "DittoSwift.DittoDiff", + "usr": "s:10DittoSwift0A4DiffV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A4DiffV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A4DiffV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoDiff", + "printedName": "DittoSwift.DittoDiff", + "usr": "s:10DittoSwift0A4DiffV" + }, + { + "kind": "TypeNominal", + "name": "DittoDiff", + "printedName": "DittoSwift.DittoDiff", + "usr": "s:10DittoSwift0A4DiffV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A4DiffV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A4DiffV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A4DiffV", + "mangledName": "$s10DittoSwift0A4DiffV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Combine", + "printedName": "Combine", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "DittoRemotePeerV2", + "printedName": "DittoRemotePeerV2", + "children": [ + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12RemotePeerV2C2ids6UInt32Vvp", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C2ids6UInt32Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12RemotePeerV2C2ids6UInt32Vvg", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C2ids6UInt32Vvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "address", + "printedName": "address", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12RemotePeerV2C7addressAA0A7AddressVvp", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C7addressAA0A7AddressVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12RemotePeerV2C7addressAA0A7AddressVvg", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C7addressAA0A7AddressVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "networkID", + "printedName": "networkID", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12RemotePeerV2C9networkIDs6UInt32Vvp", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C9networkIDs6UInt32Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12RemotePeerV2C9networkIDs6UInt32Vvg", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C9networkIDs6UInt32Vvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "deviceName", + "printedName": "deviceName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12RemotePeerV2C10deviceNameSSvp", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C10deviceNameSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12RemotePeerV2C10deviceNameSSvg", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C10deviceNameSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "os", + "printedName": "os", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12RemotePeerV2C2osSSvp", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C2osSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12RemotePeerV2C2osSSvg", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C2osSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "queryOverlapGroup", + "printedName": "queryOverlapGroup", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12RemotePeerV2C17queryOverlapGroups5UInt8Vvp", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C17queryOverlapGroups5UInt8Vvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12RemotePeerV2C17queryOverlapGroups5UInt8Vvg", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C17queryOverlapGroups5UInt8Vvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoRemotePeerV2", + "printedName": "DittoSwift.DittoRemotePeerV2", + "usr": "s:10DittoSwift0A12RemotePeerV2C" + }, + { + "kind": "TypeNominal", + "name": "DittoRemotePeerV2", + "printedName": "DittoSwift.DittoRemotePeerV2", + "usr": "s:10DittoSwift0A12RemotePeerV2C" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A12RemotePeerV2C2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A12RemotePeerV2C4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12RemotePeerV2C9hashValueSivp", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12RemotePeerV2C9hashValueSivg", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A12RemotePeerV2C", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Identifiable", + "printedName": "Identifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "ID", + "printedName": "ID", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:s12IdentifiableP", + "mangledName": "$ss12IdentifiableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "DiskUsageItem", + "printedName": "DiskUsageItem", + "children": [ + { + "kind": "Var", + "name": "type", + "printedName": "type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift13DiskUsageItemV4typeAA0A14FileSystemTypeOvp", + "mangledName": "$s10DittoSwift13DiskUsageItemV4typeAA0A14FileSystemTypeOvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift13DiskUsageItemV4typeAA0A14FileSystemTypeOvg", + "mangledName": "$s10DittoSwift13DiskUsageItemV4typeAA0A14FileSystemTypeOvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "path", + "printedName": "path", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift13DiskUsageItemV4pathSSvp", + "mangledName": "$s10DittoSwift13DiskUsageItemV4pathSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift13DiskUsageItemV4pathSSvg", + "mangledName": "$s10DittoSwift13DiskUsageItemV4pathSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "sizeInBytes", + "printedName": "sizeInBytes", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift13DiskUsageItemV11sizeInBytesSivp", + "mangledName": "$s10DittoSwift13DiskUsageItemV11sizeInBytesSivp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift13DiskUsageItemV11sizeInBytesSivg", + "mangledName": "$s10DittoSwift13DiskUsageItemV11sizeInBytesSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "childItems", + "printedName": "childItems", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DiskUsageItem]", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsageItem", + "printedName": "DittoSwift.DiskUsageItem", + "usr": "s:10DittoSwift13DiskUsageItemV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift13DiskUsageItemV10childItemsSayACGvp", + "mangledName": "$s10DittoSwift13DiskUsageItemV10childItemsSayACGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DiskUsageItem]", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsageItem", + "printedName": "DittoSwift.DiskUsageItem", + "usr": "s:10DittoSwift13DiskUsageItemV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift13DiskUsageItemV10childItemsSayACGvg", + "mangledName": "$s10DittoSwift13DiskUsageItemV10childItemsSayACGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(type:path:sizeInBytes:children:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsageItem", + "printedName": "DittoSwift.DiskUsageItem", + "usr": "s:10DittoSwift13DiskUsageItemV" + }, + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DiskUsageItem]", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsageItem", + "printedName": "DittoSwift.DiskUsageItem", + "usr": "s:10DittoSwift13DiskUsageItemV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift13DiskUsageItemV4type4path11sizeInBytes8childrenAcA0A14FileSystemTypeO_SSSiSayACGtcfc", + "mangledName": "$s10DittoSwift13DiskUsageItemV4type4path11sizeInBytes8childrenAcA0A14FileSystemTypeO_SSSiSayACGtcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DiskUsageItem", + "printedName": "DittoSwift.DiskUsageItem", + "usr": "s:10DittoSwift13DiskUsageItemV" + }, + { + "kind": "TypeNominal", + "name": "DiskUsageItem", + "printedName": "DittoSwift.DiskUsageItem", + "usr": "s:10DittoSwift13DiskUsageItemV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift13DiskUsageItemV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift13DiskUsageItemV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift13DiskUsageItemV9hashValueSivp", + "mangledName": "$s10DittoSwift13DiskUsageItemV9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift13DiskUsageItemV9hashValueSivg", + "mangledName": "$s10DittoSwift13DiskUsageItemV9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift13DiskUsageItemV4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift13DiskUsageItemV4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift13DiskUsageItemV11descriptionSSvp", + "mangledName": "$s10DittoSwift13DiskUsageItemV11descriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift13DiskUsageItemV11descriptionSSvg", + "mangledName": "$s10DittoSwift13DiskUsageItemV11descriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift13DiskUsageItemV", + "mangledName": "$s10DittoSwift13DiskUsageItemV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoWriteStrategy", + "printedName": "DittoWriteStrategy", + "children": [ + { + "kind": "Var", + "name": "merge", + "printedName": "merge", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoWriteStrategy.Type) -> DittoSwift.DittoWriteStrategy", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "usr": "s:10DittoSwift0A13WriteStrategyO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoWriteStrategy.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "usr": "s:10DittoSwift0A13WriteStrategyO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A13WriteStrategyO5mergeyA2CmF", + "mangledName": "$s10DittoSwift0A13WriteStrategyO5mergeyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "insertIfAbsent", + "printedName": "insertIfAbsent", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoWriteStrategy.Type) -> DittoSwift.DittoWriteStrategy", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "usr": "s:10DittoSwift0A13WriteStrategyO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoWriteStrategy.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "usr": "s:10DittoSwift0A13WriteStrategyO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A13WriteStrategyO14insertIfAbsentyA2CmF", + "mangledName": "$s10DittoSwift0A13WriteStrategyO14insertIfAbsentyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "insertDefaultIfAbsent", + "printedName": "insertDefaultIfAbsent", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoWriteStrategy.Type) -> DittoSwift.DittoWriteStrategy", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "usr": "s:10DittoSwift0A13WriteStrategyO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoWriteStrategy.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "usr": "s:10DittoSwift0A13WriteStrategyO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A13WriteStrategyO21insertDefaultIfAbsentyA2CmF", + "mangledName": "$s10DittoSwift0A13WriteStrategyO21insertDefaultIfAbsentyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "updateDifferentValues", + "printedName": "updateDifferentValues", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoWriteStrategy.Type) -> DittoSwift.DittoWriteStrategy", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "usr": "s:10DittoSwift0A13WriteStrategyO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoWriteStrategy.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "usr": "s:10DittoSwift0A13WriteStrategyO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A13WriteStrategyO21updateDifferentValuesyA2CmF", + "mangledName": "$s10DittoSwift0A13WriteStrategyO21updateDifferentValuesyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "usr": "s:10DittoSwift0A13WriteStrategyO" + }, + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "usr": "s:10DittoSwift0A13WriteStrategyO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13WriteStrategyO2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A13WriteStrategyO2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13WriteStrategyO9hashValueSivp", + "mangledName": "$s10DittoSwift0A13WriteStrategyO9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13WriteStrategyO9hashValueSivg", + "mangledName": "$s10DittoSwift0A13WriteStrategyO9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13WriteStrategyO4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A13WriteStrategyO4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A13WriteStrategyO", + "mangledName": "$s10DittoSwift0A13WriteStrategyO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoLiveQueryEvent", + "printedName": "DittoLiveQueryEvent", + "children": [ + { + "kind": "Var", + "name": "initial", + "printedName": "initial", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoLiveQueryEvent.Type) -> DittoSwift.DittoLiveQueryEvent", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQueryEvent", + "printedName": "DittoSwift.DittoLiveQueryEvent", + "usr": "s:10DittoSwift0A14LiveQueryEventO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoLiveQueryEvent.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQueryEvent", + "printedName": "DittoSwift.DittoLiveQueryEvent", + "usr": "s:10DittoSwift0A14LiveQueryEventO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A14LiveQueryEventO7initialyA2CmF", + "mangledName": "$s10DittoSwift0A14LiveQueryEventO7initialyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "update", + "printedName": "update", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoLiveQueryEvent.Type) -> (DittoSwift.DittoLiveQueryUpdate) -> DittoSwift.DittoLiveQueryEvent", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoLiveQueryUpdate) -> DittoSwift.DittoLiveQueryEvent", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQueryEvent", + "printedName": "DittoSwift.DittoLiveQueryEvent", + "usr": "s:10DittoSwift0A14LiveQueryEventO" + }, + { + "kind": "TypeNominal", + "name": "DittoLiveQueryUpdate", + "printedName": "DittoSwift.DittoLiveQueryUpdate", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoLiveQueryEvent.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQueryEvent", + "printedName": "DittoSwift.DittoLiveQueryEvent", + "usr": "s:10DittoSwift0A14LiveQueryEventO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A14LiveQueryEventO6updateyAcA0acD6UpdateVcACmF", + "mangledName": "$s10DittoSwift0A14LiveQueryEventO6updateyAcA0acD6UpdateVcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(documents:)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A14LiveQueryEventO4hash9documentss6UInt64VSayAA0A8DocumentCG_tF", + "mangledName": "$s10DittoSwift0A14LiveQueryEventO4hash9documentss6UInt64VSayAA0A8DocumentCG_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "hashMnemonic", + "printedName": "hashMnemonic(documents:)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A14LiveQueryEventO12hashMnemonic9documentsSSSayAA0A8DocumentCG_tF", + "mangledName": "$s10DittoSwift0A14LiveQueryEventO12hashMnemonic9documentsSSSayAA0A8DocumentCG_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14LiveQueryEventO11descriptionSSvp", + "mangledName": "$s10DittoSwift0A14LiveQueryEventO11descriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14LiveQueryEventO11descriptionSSvg", + "mangledName": "$s10DittoSwift0A14LiveQueryEventO11descriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "debugDescription", + "printedName": "debugDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14LiveQueryEventO16debugDescriptionSSvp", + "mangledName": "$s10DittoSwift0A14LiveQueryEventO16debugDescriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14LiveQueryEventO16debugDescriptionSSvg", + "mangledName": "$s10DittoSwift0A14LiveQueryEventO16debugDescriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A14LiveQueryEventO", + "mangledName": "$s10DittoSwift0A14LiveQueryEventO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoLiveQueryUpdate", + "printedName": "DittoLiveQueryUpdate", + "children": [ + { + "kind": "Var", + "name": "oldDocuments", + "printedName": "oldDocuments", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV12oldDocumentsSayAA0A8DocumentCGvp", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV12oldDocumentsSayAA0A8DocumentCGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV12oldDocumentsSayAA0A8DocumentCGvg", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV12oldDocumentsSayAA0A8DocumentCGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "insertions", + "printedName": "insertions", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV10insertionsSaySiGvp", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV10insertionsSaySiGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV10insertionsSaySiGvg", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV10insertionsSaySiGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "deletions", + "printedName": "deletions", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV9deletionsSaySiGvp", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV9deletionsSaySiGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV9deletionsSaySiGvg", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV9deletionsSaySiGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "updates", + "printedName": "updates", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV7updatesSaySiGvp", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV7updatesSaySiGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV7updatesSaySiGvg", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV7updatesSaySiGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "moves", + "printedName": "moves", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[(from: Swift.Int, to: Swift.Int)]", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(from: Swift.Int, to: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV5movesSaySi4from_Si2totGvp", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV5movesSaySi4from_Si2totGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[(from: Swift.Int, to: Swift.Int)]", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(from: Swift.Int, to: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV5movesSaySi4from_Si2totGvg", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV5movesSaySi4from_Si2totGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoConnection", + "printedName": "DittoConnection", + "children": [ + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10ConnectionV2idSSvp", + "mangledName": "$s10DittoSwift0A10ConnectionV2idSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV2idSSvg", + "mangledName": "$s10DittoSwift0A10ConnectionV2idSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV2idSSvs", + "mangledName": "$s10DittoSwift0A10ConnectionV2idSSvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV2idSSvM", + "mangledName": "$s10DittoSwift0A10ConnectionV2idSSvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "type", + "printedName": "type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10ConnectionV4typeAA0aC4TypeOvp", + "mangledName": "$s10DittoSwift0A10ConnectionV4typeAA0aC4TypeOvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV4typeAA0aC4TypeOvg", + "mangledName": "$s10DittoSwift0A10ConnectionV4typeAA0aC4TypeOvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV4typeAA0aC4TypeOvs", + "mangledName": "$s10DittoSwift0A10ConnectionV4typeAA0aC4TypeOvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV4typeAA0aC4TypeOvM", + "mangledName": "$s10DittoSwift0A10ConnectionV4typeAA0aC4TypeOvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "peer1", + "printedName": "peer1", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10ConnectionV5peer110Foundation4DataVvp", + "mangledName": "$s10DittoSwift0A10ConnectionV5peer110Foundation4DataVvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV5peer110Foundation4DataVvg", + "mangledName": "$s10DittoSwift0A10ConnectionV5peer110Foundation4DataVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV5peer110Foundation4DataVvs", + "mangledName": "$s10DittoSwift0A10ConnectionV5peer110Foundation4DataVvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV5peer110Foundation4DataVvM", + "mangledName": "$s10DittoSwift0A10ConnectionV5peer110Foundation4DataVvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "peer2", + "printedName": "peer2", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10ConnectionV5peer210Foundation4DataVvp", + "mangledName": "$s10DittoSwift0A10ConnectionV5peer210Foundation4DataVvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV5peer210Foundation4DataVvg", + "mangledName": "$s10DittoSwift0A10ConnectionV5peer210Foundation4DataVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV5peer210Foundation4DataVvs", + "mangledName": "$s10DittoSwift0A10ConnectionV5peer210Foundation4DataVvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV5peer210Foundation4DataVvM", + "mangledName": "$s10DittoSwift0A10ConnectionV5peer210Foundation4DataVvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "peerKeyString1", + "printedName": "peerKeyString1", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10ConnectionV14peerKeyString1SSvp", + "mangledName": "$s10DittoSwift0A10ConnectionV14peerKeyString1SSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV14peerKeyString1SSvg", + "mangledName": "$s10DittoSwift0A10ConnectionV14peerKeyString1SSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV14peerKeyString1SSvs", + "mangledName": "$s10DittoSwift0A10ConnectionV14peerKeyString1SSvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV14peerKeyString1SSvM", + "mangledName": "$s10DittoSwift0A10ConnectionV14peerKeyString1SSvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "peerKeyString2", + "printedName": "peerKeyString2", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10ConnectionV14peerKeyString2SSvp", + "mangledName": "$s10DittoSwift0A10ConnectionV14peerKeyString2SSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV14peerKeyString2SSvg", + "mangledName": "$s10DittoSwift0A10ConnectionV14peerKeyString2SSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV14peerKeyString2SSvs", + "mangledName": "$s10DittoSwift0A10ConnectionV14peerKeyString2SSvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV14peerKeyString2SSvM", + "mangledName": "$s10DittoSwift0A10ConnectionV14peerKeyString2SSvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "approximateDistanceInMeters", + "printedName": "approximateDistanceInMeters", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10ConnectionV27approximateDistanceInMetersSdSgvp", + "mangledName": "$s10DittoSwift0A10ConnectionV27approximateDistanceInMetersSdSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV27approximateDistanceInMetersSdSgvg", + "mangledName": "$s10DittoSwift0A10ConnectionV27approximateDistanceInMetersSdSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV27approximateDistanceInMetersSdSgvs", + "mangledName": "$s10DittoSwift0A10ConnectionV27approximateDistanceInMetersSdSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV27approximateDistanceInMetersSdSgvM", + "mangledName": "$s10DittoSwift0A10ConnectionV27approximateDistanceInMetersSdSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(id:type:peer1:peer2:approximateDistanceInMeters:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10ConnectionV2id4type5peer15peer227approximateDistanceInMetersACSS_AA0aC4TypeO10Foundation4DataVAMSdSgtcfc", + "mangledName": "$s10DittoSwift0A10ConnectionV2id4type5peer15peer227approximateDistanceInMetersACSS_AA0aC4TypeO10Foundation4DataVAMSdSgtcfc", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(id:type:peerKeyString1:peerKeyString2:approximateDistanceInMeters:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10ConnectionV2id4type14peerKeyString10fG7String227approximateDistanceInMetersACSS_AA0aC4TypeOS2SSdSgtcfc", + "mangledName": "$s10DittoSwift0A10ConnectionV2id4type14peerKeyString10fG7String227approximateDistanceInMetersACSS_AA0aC4TypeOS2SSdSgtcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + }, + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10ConnectionV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A10ConnectionV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10ConnectionV9hashValueSivp", + "mangledName": "$s10DittoSwift0A10ConnectionV9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV9hashValueSivg", + "mangledName": "$s10DittoSwift0A10ConnectionV9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10ConnectionV4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A10ConnectionV4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10ConnectionV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A10ConnectionV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10ConnectionV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A10ConnectionV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "throwing": true, + "init_kind": "Designated" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A10ConnectionV", + "mangledName": "$s10DittoSwift0A10ConnectionV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Identifiable", + "printedName": "Identifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "ID", + "printedName": "ID", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s12IdentifiableP", + "mangledName": "$ss12IdentifiableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "Ditto", + "printedName": "Ditto", + "children": [ + { + "kind": "Var", + "name": "version", + "printedName": "version", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C7versionSSvpZ", + "mangledName": "$s10DittoSwift0A0C7versionSSvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C7versionSSvgZ", + "mangledName": "$s10DittoSwift0A0C7versionSSvgZ", + "moduleName": "DittoSwift", + "static": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "delegate", + "printedName": "delegate", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(any DittoSwift.DittoDelegate)?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDelegate", + "printedName": "any DittoSwift.DittoDelegate", + "usr": "s:10DittoSwift0A8DelegateP" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C8delegateAA0A8Delegate_pSgvp", + "mangledName": "$s10DittoSwift0A0C8delegateAA0A8Delegate_pSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(any DittoSwift.DittoDelegate)?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDelegate", + "printedName": "any DittoSwift.DittoDelegate", + "usr": "s:10DittoSwift0A8DelegateP" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C8delegateAA0A8Delegate_pSgvg", + "mangledName": "$s10DittoSwift0A0C8delegateAA0A8Delegate_pSgvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(any DittoSwift.DittoDelegate)?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDelegate", + "printedName": "any DittoSwift.DittoDelegate", + "usr": "s:10DittoSwift0A8DelegateP" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C8delegateAA0A8Delegate_pSgvs", + "mangledName": "$s10DittoSwift0A0C8delegateAA0A8Delegate_pSgvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C8delegateAA0A8Delegate_pSgvM", + "mangledName": "$s10DittoSwift0A0C8delegateAA0A8Delegate_pSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "deviceName", + "printedName": "deviceName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C10deviceNameSSvp", + "mangledName": "$s10DittoSwift0A0C10deviceNameSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C10deviceNameSSvg", + "mangledName": "$s10DittoSwift0A0C10deviceNameSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C10deviceNameSSvs", + "mangledName": "$s10DittoSwift0A0C10deviceNameSSvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C10deviceNameSSvM", + "mangledName": "$s10DittoSwift0A0C10deviceNameSSvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "siteID", + "printedName": "siteID", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C6siteIDs6UInt64Vvp", + "mangledName": "$s10DittoSwift0A0C6siteIDs6UInt64Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C6siteIDs6UInt64Vvg", + "mangledName": "$s10DittoSwift0A0C6siteIDs6UInt64Vvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "persistenceDirectory", + "printedName": "persistenceDirectory", + "children": [ + { + "kind": "TypeNominal", + "name": "URL", + "printedName": "Foundation.URL", + "usr": "s:10Foundation3URLV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C20persistenceDirectory10Foundation3URLVvp", + "mangledName": "$s10DittoSwift0A0C20persistenceDirectory10Foundation3URLVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "URL", + "printedName": "Foundation.URL", + "usr": "s:10Foundation3URLV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C20persistenceDirectory10Foundation3URLVvg", + "mangledName": "$s10DittoSwift0A0C20persistenceDirectory10Foundation3URLVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "appID", + "printedName": "appID", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C5appIDSSvp", + "mangledName": "$s10DittoSwift0A0C5appIDSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C5appIDSSvg", + "mangledName": "$s10DittoSwift0A0C5appIDSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "activated", + "printedName": "activated", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C9activatedSbvp", + "mangledName": "$s10DittoSwift0A0C9activatedSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C9activatedSbvg", + "mangledName": "$s10DittoSwift0A0C9activatedSbvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "isSyncActive", + "printedName": "isSyncActive", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C12isSyncActiveSbvp", + "mangledName": "$s10DittoSwift0A0C12isSyncActiveSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C12isSyncActiveSbvg", + "mangledName": "$s10DittoSwift0A0C12isSyncActiveSbvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "isEncrypted", + "printedName": "isEncrypted", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C11isEncryptedSbvp", + "mangledName": "$s10DittoSwift0A0C11isEncryptedSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C11isEncryptedSbvg", + "mangledName": "$s10DittoSwift0A0C11isEncryptedSbvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "auth", + "printedName": "auth", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoAuthenticator?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAuthenticator", + "printedName": "DittoSwift.DittoAuthenticator", + "usr": "s:10DittoSwift0A13AuthenticatorC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C4authAA0A13AuthenticatorCSgvp", + "mangledName": "$s10DittoSwift0A0C4authAA0A13AuthenticatorCSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoAuthenticator?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAuthenticator", + "printedName": "DittoSwift.DittoAuthenticator", + "usr": "s:10DittoSwift0A13AuthenticatorC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C4authAA0A13AuthenticatorCSgvg", + "mangledName": "$s10DittoSwift0A0C4authAA0A13AuthenticatorCSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "diskUsage", + "printedName": "diskUsage", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsage", + "printedName": "DittoSwift.DiskUsage", + "usr": "s:10DittoSwift9DiskUsageC" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C9diskUsageAA04DiskD0Cvp", + "mangledName": "$s10DittoSwift0A0C9diskUsageAA04DiskD0Cvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsage", + "printedName": "DittoSwift.DiskUsage", + "usr": "s:10DittoSwift9DiskUsageC" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C9diskUsageAA04DiskD0Cvg", + "mangledName": "$s10DittoSwift0A0C9diskUsageAA04DiskD0Cvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "store", + "printedName": "store", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoStore", + "printedName": "DittoSwift.DittoStore", + "usr": "s:10DittoSwift0A5StoreC" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C5storeAA0A5StoreCvp", + "mangledName": "$s10DittoSwift0A0C5storeAA0A5StoreCvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoStore", + "printedName": "DittoSwift.DittoStore", + "usr": "s:10DittoSwift0A5StoreC" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C5storeAA0A5StoreCvg", + "mangledName": "$s10DittoSwift0A0C5storeAA0A5StoreCvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "sync", + "printedName": "sync", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSync", + "printedName": "DittoSwift.DittoSync", + "usr": "s:10DittoSwift0A4SyncC" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C4syncAA0A4SyncCvp", + "mangledName": "$s10DittoSwift0A0C4syncAA0A4SyncCvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSync", + "printedName": "DittoSwift.DittoSync", + "usr": "s:10DittoSwift0A4SyncC" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C4syncAA0A4SyncCvg", + "mangledName": "$s10DittoSwift0A0C4syncAA0A4SyncCvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "presence", + "printedName": "presence", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPresence", + "printedName": "DittoSwift.DittoPresence", + "usr": "s:10DittoSwift0A8PresenceC" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C8presenceAA0A8PresenceCvp", + "mangledName": "$s10DittoSwift0A0C8presenceAA0A8PresenceCvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPresence", + "printedName": "DittoSwift.DittoPresence", + "usr": "s:10DittoSwift0A8PresenceC" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C8presenceAA0A8PresenceCvg", + "mangledName": "$s10DittoSwift0A0C8presenceAA0A8PresenceCvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "smallPeerInfo", + "printedName": "smallPeerInfo", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfo", + "printedName": "DittoSwift.DittoSmallPeerInfo", + "usr": "s:10DittoSwift0A13SmallPeerInfoC" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C13smallPeerInfoAA0a5SmalldE0Cvp", + "mangledName": "$s10DittoSwift0A0C13smallPeerInfoAA0a5SmalldE0Cvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfo", + "printedName": "DittoSwift.DittoSmallPeerInfo", + "usr": "s:10DittoSwift0A13SmallPeerInfoC" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C13smallPeerInfoAA0a5SmalldE0Cvg", + "mangledName": "$s10DittoSwift0A0C13smallPeerInfoAA0a5SmalldE0Cvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "experimental", + "printedName": "experimental", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoExperimental", + "printedName": "DittoSwift.DittoExperimental", + "usr": "s:10DittoSwift0A12ExperimentalC" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C12experimentalAA0A12ExperimentalCvp", + "mangledName": "$s10DittoSwift0A0C12experimentalAA0A12ExperimentalCvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoExperimental", + "printedName": "DittoSwift.DittoExperimental", + "usr": "s:10DittoSwift0A12ExperimentalC" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C12experimentalAA0A12ExperimentalCvg", + "mangledName": "$s10DittoSwift0A0C12experimentalAA0A12ExperimentalCvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "delegateEventQueue", + "printedName": "delegateEventQueue", + "children": [ + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "usr": "c:objc(cs)OS_dispatch_queue" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C18delegateEventQueueSo17OS_dispatch_queueCvp", + "mangledName": "$s10DittoSwift0A0C18delegateEventQueueSo17OS_dispatch_queueCvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "usr": "c:objc(cs)OS_dispatch_queue" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C18delegateEventQueueSo17OS_dispatch_queueCvg", + "mangledName": "$s10DittoSwift0A0C18delegateEventQueueSo17OS_dispatch_queueCvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "usr": "c:objc(cs)OS_dispatch_queue" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C18delegateEventQueueSo17OS_dispatch_queueCvs", + "mangledName": "$s10DittoSwift0A0C18delegateEventQueueSo17OS_dispatch_queueCvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C18delegateEventQueueSo17OS_dispatch_queueCvM", + "mangledName": "$s10DittoSwift0A0C18delegateEventQueueSo17OS_dispatch_queueCvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "transportConfig", + "printedName": "transportConfig", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportConfig", + "printedName": "DittoSwift.DittoTransportConfig", + "usr": "s:10DittoSwift0A15TransportConfigV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C15transportConfigAA0a9TransportD0Vvp", + "mangledName": "$s10DittoSwift0A0C15transportConfigAA0a9TransportD0Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportConfig", + "printedName": "DittoSwift.DittoTransportConfig", + "usr": "s:10DittoSwift0A15TransportConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C15transportConfigAA0a9TransportD0Vvg", + "mangledName": "$s10DittoSwift0A0C15transportConfigAA0a9TransportD0Vvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoTransportConfig", + "printedName": "DittoSwift.DittoTransportConfig", + "usr": "s:10DittoSwift0A15TransportConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C15transportConfigAA0a9TransportD0Vvs", + "mangledName": "$s10DittoSwift0A0C15transportConfigAA0a9TransportD0Vvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C15transportConfigAA0a9TransportD0VvM", + "mangledName": "$s10DittoSwift0A0C15transportConfigAA0a9TransportD0VvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Function", + "name": "updateTransportConfig", + "printedName": "updateTransportConfig(block:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(inout DittoSwift.DittoTransportConfig) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoTransportConfig", + "printedName": "DittoSwift.DittoTransportConfig", + "usr": "s:10DittoSwift0A15TransportConfigV" + } + ], + "typeAttributes": [ + "noescape" + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C21updateTransportConfig5blockyyAA0adE0VzXE_tF", + "mangledName": "$s10DittoSwift0A0C21updateTransportConfig5blockyyAA0adE0VzXE_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "isHistoryTrackingEnabled", + "printedName": "isHistoryTrackingEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C24isHistoryTrackingEnabledSbvp", + "mangledName": "$s10DittoSwift0A0C24isHistoryTrackingEnabledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C24isHistoryTrackingEnabledSbvg", + "mangledName": "$s10DittoSwift0A0C24isHistoryTrackingEnabledSbvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(identity:persistenceDirectory:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + }, + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "hasDefaultArg": true, + "usr": "s:10DittoSwift0A8IdentityO" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.URL?", + "children": [ + { + "kind": "TypeNominal", + "name": "URL", + "printedName": "Foundation.URL", + "usr": "s:10Foundation3URLV" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A0C8identity20persistenceDirectoryAcA0A8IdentityO_10Foundation3URLVSgtcfc", + "mangledName": "$s10DittoSwift0A0C8identity20persistenceDirectoryAcA0A8IdentityO_10Foundation3URLVSgtcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Convenience", + "AccessControl", + "RawDocComment" + ], + "init_kind": "Convenience" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(identity:historyTrackingEnabled:persistenceDirectory:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + }, + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "hasDefaultArg": true, + "usr": "s:10DittoSwift0A8IdentityO" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.URL?", + "children": [ + { + "kind": "TypeNominal", + "name": "URL", + "printedName": "Foundation.URL", + "usr": "s:10Foundation3URLV" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A0C8identity22historyTrackingEnabled20persistenceDirectoryAcA0A8IdentityO_Sb10Foundation3URLVSgtcfc", + "mangledName": "$s10DittoSwift0A0C8identity22historyTrackingEnabled20persistenceDirectoryAcA0A8IdentityO_Sb10Foundation3URLVSgtcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Convenience", + "AccessControl", + "RawDocComment" + ], + "init_kind": "Convenience" + }, + { + "kind": "Function", + "name": "setOfflineOnlyLicenseToken", + "printedName": "setOfflineOnlyLicenseToken(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C26setOfflineOnlyLicenseTokenyySSKF", + "mangledName": "$s10DittoSwift0A0C26setOfflineOnlyLicenseTokenyySSKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "startSync", + "printedName": "startSync()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C9startSyncyyKF", + "mangledName": "$s10DittoSwift0A0C9startSyncyyKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "stopSync", + "printedName": "stopSync()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C8stopSyncyyF", + "mangledName": "$s10DittoSwift0A0C8stopSyncyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "transportDiagnostics", + "printedName": "transportDiagnostics()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportDiagnostics", + "printedName": "DittoSwift.DittoTransportDiagnostics", + "usr": "s:10DittoSwift0A20TransportDiagnosticsC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C20transportDiagnosticsAA0a9TransportD0CyKF", + "mangledName": "$s10DittoSwift0A0C20transportDiagnosticsAA0a9TransportD0CyKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "sdkVersion", + "printedName": "sdkVersion", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C10sdkVersionSSvp", + "mangledName": "$s10DittoSwift0A0C10sdkVersionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C10sdkVersionSSvg", + "mangledName": "$s10DittoSwift0A0C10sdkVersionSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "runGarbageCollection", + "printedName": "runGarbageCollection()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C20runGarbageCollectionyyF", + "mangledName": "$s10DittoSwift0A0C20runGarbageCollectionyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "disableSyncWithV3", + "printedName": "disableSyncWithV3()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C17disableSyncWithV3yyKF", + "mangledName": "$s10DittoSwift0A0C17disableSyncWithV3yyKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "observePeers", + "printedName": "observePeers(callback:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoObserver", + "printedName": "DittoSwift.DittoObserver", + "usr": "s:10DittoSwift0A8ObserverC" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "([DittoSwift.DittoRemotePeer]) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoRemotePeer]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoRemotePeer", + "printedName": "DittoSwift.DittoRemotePeer", + "usr": "s:10DittoSwift0A10RemotePeerV" + } + ], + "usr": "s:Sa" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C12observePeers8callbackAA0A8ObserverCySayAA0A10RemotePeerVGc_tF", + "mangledName": "$s10DittoSwift0A0C12observePeers8callbackAA0A8ObserverCySayAA0A10RemotePeerVGc_tF", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "observePeersV2", + "printedName": "observePeersV2(callback:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoObserver", + "printedName": "DittoSwift.DittoObserver", + "usr": "s:10DittoSwift0A8ObserverC" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C14observePeersV28callbackAA0A8ObserverCySSc_tF", + "mangledName": "$s10DittoSwift0A0C14observePeersV28callbackAA0A8ObserverCySSc_tF", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "RemotePeersPublisher", + "printedName": "RemotePeersPublisher", + "children": [ + { + "kind": "Function", + "name": "receive", + "printedName": "receive(subscriber:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C20RemotePeersPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzSayAA0aC4PeerVG5InputRtzlF", + "mangledName": "$s10DittoSwift0A0C20RemotePeersPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzSayAA0aC4PeerVG5InputRtzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Combine.Subscriber, ฯ„_0_0.Failure == Swift.Never, ฯ„_0_0.Input == [DittoSwift.DittoRemotePeer]>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A0C20RemotePeersPublisherV", + "mangledName": "$s10DittoSwift0A0C20RemotePeersPublisherV", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "Available", + "RawDocComment" + ], + "isFromExtension": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Publisher", + "printedName": "Publisher", + "children": [ + { + "kind": "TypeWitness", + "name": "Output", + "printedName": "Output", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoRemotePeer]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoRemotePeer", + "printedName": "DittoSwift.DittoRemotePeer", + "usr": "s:10DittoSwift0A10RemotePeerV" + } + ], + "usr": "s:Sa" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Failure", + "printedName": "Failure", + "children": [ + { + "kind": "TypeNominal", + "name": "Never", + "printedName": "Swift.Never", + "usr": "s:s5NeverO" + } + ] + } + ], + "usr": "s:7Combine9PublisherP", + "mangledName": "$s7Combine9PublisherP" + } + ] + }, + { + "kind": "Function", + "name": "remotePeersPublisher", + "printedName": "remotePeersPublisher()", + "children": [ + { + "kind": "TypeNominal", + "name": "RemotePeersPublisher", + "printedName": "DittoSwift.Ditto.RemotePeersPublisher", + "usr": "s:10DittoSwift0A0C20RemotePeersPublisherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C20remotePeersPublisherAC06RemotedE0VyF", + "mangledName": "$s10DittoSwift0A0C20remotePeersPublisherAC06RemotedE0VyF", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "Available", + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A0C", + "mangledName": "$s10DittoSwift0A0C", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoDocumentID", + "printedName": "DittoDocumentID", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(value:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10DocumentIDV5valueACypSg_tcfc", + "mangledName": "$s10DittoSwift0A10DocumentIDV5valueACypSg_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentIDPath", + "printedName": "DittoSwift.DittoDocumentIDPath", + "usr": "s:10DittoSwift0A14DocumentIDPathV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A10DocumentIDVyAA0aC6IDPathVSScip", + "mangledName": "$s10DittoSwift0A10DocumentIDVyAA0aC6IDPathVSScip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentIDPath", + "printedName": "DittoSwift.DittoDocumentIDPath", + "usr": "s:10DittoSwift0A14DocumentIDPathV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDVyAA0aC6IDPathVSScig", + "mangledName": "$s10DittoSwift0A10DocumentIDVyAA0aC6IDPathVSScig", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentIDPath", + "printedName": "DittoSwift.DittoDocumentIDPath", + "usr": "s:10DittoSwift0A14DocumentIDPathV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A10DocumentIDVyAA0aC6IDPathVSicip", + "mangledName": "$s10DittoSwift0A10DocumentIDVyAA0aC6IDPathVSicip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentIDPath", + "printedName": "DittoSwift.DittoDocumentIDPath", + "usr": "s:10DittoSwift0A14DocumentIDPathV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDVyAA0aC6IDPathVSicig", + "mangledName": "$s10DittoSwift0A10DocumentIDVyAA0aC6IDPathVSicig", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "toString", + "printedName": "toString()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10DocumentIDV8toStringSSyF", + "mangledName": "$s10DittoSwift0A10DocumentIDV8toStringSSyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10DocumentIDV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A10DocumentIDV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10DocumentIDV4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A10DocumentIDV4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV9hashValueSivp", + "mangledName": "$s10DittoSwift0A10DocumentIDV9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV9hashValueSivg", + "mangledName": "$s10DittoSwift0A10DocumentIDV9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV5valueypSgvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV5valueypSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV5valueypSgvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV5valueypSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "string", + "printedName": "string", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV6stringSSSgvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV6stringSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV6stringSSSgvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV6stringSSSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "stringValue", + "printedName": "stringValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV11stringValueSSvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV11stringValueSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV11stringValueSSvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV11stringValueSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "bool", + "printedName": "bool", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV4boolSbSgvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV4boolSbSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV4boolSbSgvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV4boolSbSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "boolValue", + "printedName": "boolValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV9boolValueSbvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV9boolValueSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV9boolValueSbvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV9boolValueSbvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "int", + "printedName": "int", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV3intSiSgvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV3intSiSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV3intSiSgvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV3intSiSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "intValue", + "printedName": "intValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV8intValueSivp", + "mangledName": "$s10DittoSwift0A10DocumentIDV8intValueSivp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV8intValueSivg", + "mangledName": "$s10DittoSwift0A10DocumentIDV8intValueSivg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uint", + "printedName": "uint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV4uintSuSgvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV4uintSuSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV4uintSuSgvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV4uintSuSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uintValue", + "printedName": "uintValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV9uintValueSuvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV9uintValueSuvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV9uintValueSuvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV9uintValueSuvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "float", + "printedName": "float", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV5floatSfSgvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV5floatSfSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV5floatSfSgvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV5floatSfSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "floatValue", + "printedName": "floatValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV10floatValueSfvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV10floatValueSfvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV10floatValueSfvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV10floatValueSfvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "double", + "printedName": "double", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV6doubleSdSgvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV6doubleSdSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV6doubleSdSgvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV6doubleSdSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "doubleValue", + "printedName": "doubleValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV11doubleValueSdvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV11doubleValueSdvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV11doubleValueSdvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV11doubleValueSdvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "array", + "printedName": "array", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV5arraySayypSgGSgvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV5arraySayypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV5arraySayypSgGSgvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV5arraySayypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "arrayValue", + "printedName": "arrayValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV10arrayValueSayypSgGvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV10arrayValueSayypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV10arrayValueSayypSgGvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV10arrayValueSayypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionary", + "printedName": "dictionary", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV10dictionarySDySSypSgGSgvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV10dictionarySDySSypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV10dictionarySDySSypSgGSgvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV10dictionarySDySSypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionaryValue", + "printedName": "dictionaryValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV15dictionaryValueSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV15dictionaryValueSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV15dictionaryValueSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV15dictionaryValueSDySSypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV11descriptionSSvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV11descriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV11descriptionSSvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV11descriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "debugDescription", + "printedName": "debugDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV16debugDescriptionSSvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV16debugDescriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV16debugDescriptionSSvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV16debugDescriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(stringLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10DocumentIDV13stringLiteralACSS_tcfc", + "mangledName": "$s10DittoSwift0A10DocumentIDV13stringLiteralACSS_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(booleanLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10DocumentIDV14booleanLiteralACSb_tcfc", + "mangledName": "$s10DittoSwift0A10DocumentIDV14booleanLiteralACSb_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(integerLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10DocumentIDV14integerLiteralACSi_tcfc", + "mangledName": "$s10DittoSwift0A10DocumentIDV14integerLiteralACSi_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(arrayLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10DocumentIDV12arrayLiteralACypSgd_tcfc", + "mangledName": "$s10DittoSwift0A10DocumentIDV12arrayLiteralACypSgd_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(dictionaryLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[(Swift.String, Any?)]", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.String, Any?)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10DocumentIDV17dictionaryLiteralACSS_ypSgtd_tcfc", + "mangledName": "$s10DittoSwift0A10DocumentIDV17dictionaryLiteralACSS_ypSgtd_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "init_kind": "Designated" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A10DocumentIDV", + "mangledName": "$s10DittoSwift0A10DocumentIDV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByStringLiteral", + "printedName": "ExpressibleByStringLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "StringLiteralType", + "printedName": "StringLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s26ExpressibleByStringLiteralP", + "mangledName": "$ss26ExpressibleByStringLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByExtendedGraphemeClusterLiteral", + "printedName": "ExpressibleByExtendedGraphemeClusterLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "ExtendedGraphemeClusterLiteralType", + "printedName": "ExtendedGraphemeClusterLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s43ExpressibleByExtendedGraphemeClusterLiteralP", + "mangledName": "$ss43ExpressibleByExtendedGraphemeClusterLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByUnicodeScalarLiteral", + "printedName": "ExpressibleByUnicodeScalarLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "UnicodeScalarLiteralType", + "printedName": "UnicodeScalarLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s33ExpressibleByUnicodeScalarLiteralP", + "mangledName": "$ss33ExpressibleByUnicodeScalarLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByBooleanLiteral", + "printedName": "ExpressibleByBooleanLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "BooleanLiteralType", + "printedName": "BooleanLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + } + ], + "usr": "s:s27ExpressibleByBooleanLiteralP", + "mangledName": "$ss27ExpressibleByBooleanLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByArrayLiteral", + "printedName": "ExpressibleByArrayLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "ArrayLiteralElement", + "printedName": "ArrayLiteralElement", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "usr": "s:s25ExpressibleByArrayLiteralP", + "mangledName": "$ss25ExpressibleByArrayLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByDictionaryLiteral", + "printedName": "ExpressibleByDictionaryLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "Key", + "printedName": "Key", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Value", + "printedName": "Value", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "usr": "s:s30ExpressibleByDictionaryLiteralP", + "mangledName": "$ss30ExpressibleByDictionaryLiteralP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "DittoSingleDocumentLiveQueryEvent", + "printedName": "DittoSingleDocumentLiveQueryEvent", + "children": [ + { + "kind": "Var", + "name": "isInitial", + "printedName": "isInitial", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A28SingleDocumentLiveQueryEventV9isInitialSbvp", + "mangledName": "$s10DittoSwift0A28SingleDocumentLiveQueryEventV9isInitialSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A28SingleDocumentLiveQueryEventV9isInitialSbvg", + "mangledName": "$s10DittoSwift0A28SingleDocumentLiveQueryEventV9isInitialSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "oldDocument", + "printedName": "oldDocument", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A28SingleDocumentLiveQueryEventV03oldD0AA0aD0CSgvp", + "mangledName": "$s10DittoSwift0A28SingleDocumentLiveQueryEventV03oldD0AA0aD0CSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A28SingleDocumentLiveQueryEventV03oldD0AA0aD0CSgvg", + "mangledName": "$s10DittoSwift0A28SingleDocumentLiveQueryEventV03oldD0AA0aD0CSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(document:)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A28SingleDocumentLiveQueryEventV4hash8documents6UInt64VAA0aD0CSg_tF", + "mangledName": "$s10DittoSwift0A28SingleDocumentLiveQueryEventV4hash8documents6UInt64VAA0aD0CSg_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "hashMnemonic", + "printedName": "hashMnemonic(document:)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A28SingleDocumentLiveQueryEventV12hashMnemonic8documentSSAA0aD0CSg_tF", + "mangledName": "$s10DittoSwift0A28SingleDocumentLiveQueryEventV12hashMnemonic8documentSSAA0aD0CSg_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A28SingleDocumentLiveQueryEventV", + "mangledName": "$s10DittoSwift0A28SingleDocumentLiveQueryEventV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoExperimental", + "printedName": "DittoExperimental", + "children": [ + { + "kind": "Function", + "name": "open", + "printedName": "open(identity:historyTrackingEnabled:persistenceDirectory:passphrase:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + }, + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "hasDefaultArg": true, + "usr": "s:10DittoSwift0A8IdentityO" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.URL?", + "children": [ + { + "kind": "TypeNominal", + "name": "URL", + "printedName": "Foundation.URL", + "usr": "s:10Foundation3URLV" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A12ExperimentalC4open8identity22historyTrackingEnabled20persistenceDirectory10passphraseAA0A0CAA0A8IdentityO_Sb10Foundation3URLVSgSSSgtKFZ", + "mangledName": "$s10DittoSwift0A12ExperimentalC4open8identity22historyTrackingEnabled20persistenceDirectory10passphraseAA0A0CAA0A8IdentityO_Sb10Foundation3URLVSgSSSgtKFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "jsonByTranscoding", + "printedName": "jsonByTranscoding(cbor:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A12ExperimentalC17jsonByTranscoding4cbor10Foundation4DataVAH_tKFZ", + "mangledName": "$s10DittoSwift0A12ExperimentalC17jsonByTranscoding4cbor10Foundation4DataVAH_tKFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "triggerTestPanic", + "printedName": "triggerTestPanic()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A12ExperimentalC16triggerTestPanicyyFZ", + "mangledName": "$s10DittoSwift0A12ExperimentalC16triggerTestPanicyyFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A12ExperimentalC", + "mangledName": "$s10DittoSwift0A12ExperimentalC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoAuthenticationDelegate", + "printedName": "DittoAuthenticationDelegate", + "children": [ + { + "kind": "Function", + "name": "authenticationRequired", + "printedName": "authenticationRequired(authenticator:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoAuthenticator", + "printedName": "DittoSwift.DittoAuthenticator", + "usr": "s:10DittoSwift0A13AuthenticatorC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22AuthenticationDelegateP22authenticationRequired13authenticatoryAA0A13AuthenticatorC_tF", + "mangledName": "$s10DittoSwift0A22AuthenticationDelegateP22authenticationRequired13authenticatoryAA0A13AuthenticatorC_tF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoAuthenticationDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "authenticationExpiringSoon", + "printedName": "authenticationExpiringSoon(authenticator:secondsRemaining:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoAuthenticator", + "printedName": "DittoSwift.DittoAuthenticator", + "usr": "s:10DittoSwift0A13AuthenticatorC" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22AuthenticationDelegateP26authenticationExpiringSoon13authenticator16secondsRemainingyAA0A13AuthenticatorC_s5Int64VtF", + "mangledName": "$s10DittoSwift0A22AuthenticationDelegateP26authenticationExpiringSoon13authenticator16secondsRemainingyAA0A13AuthenticatorC_s5Int64VtF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoAuthenticationDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "authenticationStatusDidChange", + "printedName": "authenticationStatusDidChange(authenticator:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoAuthenticator", + "printedName": "DittoSwift.DittoAuthenticator", + "usr": "s:10DittoSwift0A13AuthenticatorC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22AuthenticationDelegateP29authenticationStatusDidChange13authenticatoryAA0A13AuthenticatorC_tF", + "mangledName": "$s10DittoSwift0A22AuthenticationDelegateP29authenticationStatusDidChange13authenticatoryAA0A13AuthenticatorC_tF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoAuthenticationDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "authenticationStatusDidChange", + "printedName": "authenticationStatusDidChange(authenticator:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoAuthenticator", + "printedName": "DittoSwift.DittoAuthenticator", + "usr": "s:10DittoSwift0A13AuthenticatorC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22AuthenticationDelegatePAAE29authenticationStatusDidChange13authenticatoryAA0A13AuthenticatorC_tF", + "mangledName": "$s10DittoSwift0A22AuthenticationDelegatePAAE29authenticationStatusDidChange13authenticatoryAA0A13AuthenticatorC_tF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoAuthenticationDelegate>", + "sugared_genericSig": "", + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Protocol", + "usr": "s:10DittoSwift0A22AuthenticationDelegateP", + "mangledName": "$s10DittoSwift0A22AuthenticationDelegateP", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 : AnyObject>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoSyncSubscription", + "printedName": "DittoSyncSubscription", + "children": [ + { + "kind": "Var", + "name": "ditto", + "printedName": "ditto", + "children": [ + { + "kind": "TypeNominal", + "name": "WeakStorage", + "printedName": "DittoSwift.Ditto?" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16SyncSubscriptionC5dittoAA0A0CSgvp", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC5dittoAA0A0CSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "ReferenceOwnership", + "SetterAccess", + "AccessControl", + "RawDocComment" + ], + "ownership": 1, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.Ditto?", + "children": [ + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16SyncSubscriptionC5dittoAA0A0CSgvg", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC5dittoAA0A0CSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "queryString", + "printedName": "queryString", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16SyncSubscriptionC11queryStringSSvp", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC11queryStringSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16SyncSubscriptionC11queryStringSSvg", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC11queryStringSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "queryArguments", + "printedName": "queryArguments", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16SyncSubscriptionC14queryArgumentsSDySSypSgGSgvp", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC14queryArgumentsSDySSypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16SyncSubscriptionC14queryArgumentsSDySSypSgGSgvg", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC14queryArgumentsSDySSypSgGSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "isCancelled", + "printedName": "isCancelled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16SyncSubscriptionC11isCancelledSbvp", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC11isCancelledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16SyncSubscriptionC11isCancelledSbvg", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC11isCancelledSbvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "cancel", + "printedName": "cancel()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A16SyncSubscriptionC6cancelyyF", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC6cancelyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A16SyncSubscriptionC4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16SyncSubscriptionC9hashValueSivp", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16SyncSubscriptionC9hashValueSivg", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoSyncSubscription", + "printedName": "DittoSwift.DittoSyncSubscription", + "usr": "s:10DittoSwift0A16SyncSubscriptionC" + }, + { + "kind": "TypeNominal", + "name": "DittoSyncSubscription", + "printedName": "DittoSwift.DittoSyncSubscription", + "usr": "s:10DittoSwift0A16SyncSubscriptionC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A16SyncSubscriptionC2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A16SyncSubscriptionC", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoDocumentIDPath", + "printedName": "DittoDocumentIDPath", + "children": [ + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentIDPath", + "printedName": "DittoSwift.DittoDocumentIDPath", + "usr": "s:10DittoSwift0A14DocumentIDPathV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A14DocumentIDPathVyACSScip", + "mangledName": "$s10DittoSwift0A14DocumentIDPathVyACSScip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentIDPath", + "printedName": "DittoSwift.DittoDocumentIDPath", + "usr": "s:10DittoSwift0A14DocumentIDPathV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathVyACSScig", + "mangledName": "$s10DittoSwift0A14DocumentIDPathVyACSScig", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentIDPath", + "printedName": "DittoSwift.DittoDocumentIDPath", + "usr": "s:10DittoSwift0A14DocumentIDPathV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A14DocumentIDPathVyACSicip", + "mangledName": "$s10DittoSwift0A14DocumentIDPathVyACSicip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentIDPath", + "printedName": "DittoSwift.DittoDocumentIDPath", + "usr": "s:10DittoSwift0A14DocumentIDPathV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathVyACSicig", + "mangledName": "$s10DittoSwift0A14DocumentIDPathVyACSicig", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV5valueypSgvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV5valueypSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV5valueypSgvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV5valueypSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "string", + "printedName": "string", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV6stringSSSgvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV6stringSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV6stringSSSgvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV6stringSSSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "stringValue", + "printedName": "stringValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV11stringValueSSvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV11stringValueSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV11stringValueSSvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV11stringValueSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "bool", + "printedName": "bool", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV4boolSbSgvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV4boolSbSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV4boolSbSgvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV4boolSbSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "boolValue", + "printedName": "boolValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV9boolValueSbvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV9boolValueSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV9boolValueSbvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV9boolValueSbvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "int", + "printedName": "int", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV3intSiSgvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV3intSiSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV3intSiSgvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV3intSiSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "intValue", + "printedName": "intValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV8intValueSivp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV8intValueSivp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV8intValueSivg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV8intValueSivg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uint", + "printedName": "uint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV4uintSuSgvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV4uintSuSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV4uintSuSgvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV4uintSuSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uintValue", + "printedName": "uintValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV9uintValueSuvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV9uintValueSuvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV9uintValueSuvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV9uintValueSuvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "float", + "printedName": "float", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV5floatSfSgvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV5floatSfSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV5floatSfSgvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV5floatSfSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "floatValue", + "printedName": "floatValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV10floatValueSfvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV10floatValueSfvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV10floatValueSfvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV10floatValueSfvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "double", + "printedName": "double", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV6doubleSdSgvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV6doubleSdSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV6doubleSdSgvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV6doubleSdSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "doubleValue", + "printedName": "doubleValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV11doubleValueSdvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV11doubleValueSdvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV11doubleValueSdvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV11doubleValueSdvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "array", + "printedName": "array", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV5arraySayypSgGSgvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV5arraySayypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV5arraySayypSgGSgvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV5arraySayypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "arrayValue", + "printedName": "arrayValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV10arrayValueSayypSgGvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV10arrayValueSayypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV10arrayValueSayypSgGvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV10arrayValueSayypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionary", + "printedName": "dictionary", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV10dictionarySDySSypSgGSgvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV10dictionarySDySSypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV10dictionarySDySSypSgGSgvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV10dictionarySDySSypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionaryValue", + "printedName": "dictionaryValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV15dictionaryValueSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV15dictionaryValueSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV15dictionaryValueSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV15dictionaryValueSDySSypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A14DocumentIDPathV", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoDelegate", + "printedName": "DittoDelegate", + "children": [ + { + "kind": "Function", + "name": "dittoTransportConditionDidChange", + "printedName": "dittoTransportConditionDidChange(ditto:condition:subsystem:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + }, + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8DelegateP32dittoTransportConditionDidChange0D09condition9subsystemyAA0A0C_AA0aeF0OAA0aF6SourceOtF", + "mangledName": "$s10DittoSwift0A8DelegateP32dittoTransportConditionDidChange0D09condition9subsystemyAA0A0C_AA0aeF0OAA0aF6SourceOtF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "dittoIdentityProviderAuthenticationRequest", + "printedName": "dittoIdentityProviderAuthenticationRequest(ditto:request:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + }, + { + "kind": "TypeNominal", + "name": "DITAuthenticationRequest", + "printedName": "DittoObjC.DITAuthenticationRequest", + "usr": "c:objc(cs)DITAuthenticationRequest" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8DelegateP42dittoIdentityProviderAuthenticationRequest0D07requestyAA0A0C_So017DITAuthenticationH0CtF", + "mangledName": "$s10DittoSwift0A8DelegateP42dittoIdentityProviderAuthenticationRequest0D07requestyAA0A0C_So017DITAuthenticationH0CtF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "dittoTransportConditionDidChange", + "printedName": "dittoTransportConditionDidChange(ditto:condition:subsystem:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + }, + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8DelegatePAAE32dittoTransportConditionDidChange0D09condition9subsystemyAA0A0C_AA0aeF0OAA0aF6SourceOtF", + "mangledName": "$s10DittoSwift0A8DelegatePAAE32dittoTransportConditionDidChange0D09condition9subsystemyAA0A0C_AA0aeF0OAA0aF6SourceOtF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoDelegate>", + "sugared_genericSig": "", + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "dittoIdentityProviderAuthenticationRequest", + "printedName": "dittoIdentityProviderAuthenticationRequest(ditto:request:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + }, + { + "kind": "TypeNominal", + "name": "DITAuthenticationRequest", + "printedName": "DittoObjC.DITAuthenticationRequest", + "usr": "c:objc(cs)DITAuthenticationRequest" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8DelegatePAAE42dittoIdentityProviderAuthenticationRequest0D07requestyAA0A0C_So017DITAuthenticationH0CtF", + "mangledName": "$s10DittoSwift0A8DelegatePAAE42dittoIdentityProviderAuthenticationRequest0D07requestyAA0A0C_So017DITAuthenticationH0CtF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoDelegate>", + "sugared_genericSig": "", + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "dittoIdentityProviderRefreshRequest", + "printedName": "dittoIdentityProviderRefreshRequest(ditto:request:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8DelegatePAAE35dittoIdentityProviderRefreshRequest0D07requestyAA0A0C_10Foundation4DataVtF", + "mangledName": "$s10DittoSwift0A8DelegatePAAE35dittoIdentityProviderRefreshRequest0D07requestyAA0A0C_10Foundation4DataVtF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoDelegate>", + "sugared_genericSig": "", + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Protocol", + "usr": "s:10DittoSwift0A8DelegateP", + "mangledName": "$s10DittoSwift0A8DelegateP", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 : AnyObject>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoRemotePeer", + "printedName": "DittoRemotePeer", + "children": [ + { + "kind": "Var", + "name": "networkId", + "printedName": "networkId", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10RemotePeerV9networkIdSSvp", + "mangledName": "$s10DittoSwift0A10RemotePeerV9networkIdSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10RemotePeerV9networkIdSSvg", + "mangledName": "$s10DittoSwift0A10RemotePeerV9networkIdSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "deviceName", + "printedName": "deviceName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10RemotePeerV10deviceNameSSvp", + "mangledName": "$s10DittoSwift0A10RemotePeerV10deviceNameSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10RemotePeerV10deviceNameSSvg", + "mangledName": "$s10DittoSwift0A10RemotePeerV10deviceNameSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "connections", + "printedName": "connections", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10RemotePeerV11connectionsSaySSGvp", + "mangledName": "$s10DittoSwift0A10RemotePeerV11connectionsSaySSGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10RemotePeerV11connectionsSaySSGvg", + "mangledName": "$s10DittoSwift0A10RemotePeerV11connectionsSaySSGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "rssi", + "printedName": "rssi", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10RemotePeerV4rssiSfSgvp", + "mangledName": "$s10DittoSwift0A10RemotePeerV4rssiSfSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10RemotePeerV4rssiSfSgvg", + "mangledName": "$s10DittoSwift0A10RemotePeerV4rssiSfSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "approximateDistanceInMeters", + "printedName": "approximateDistanceInMeters", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10RemotePeerV27approximateDistanceInMetersSfSgvp", + "mangledName": "$s10DittoSwift0A10RemotePeerV27approximateDistanceInMetersSfSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10RemotePeerV27approximateDistanceInMetersSfSgvg", + "mangledName": "$s10DittoSwift0A10RemotePeerV27approximateDistanceInMetersSfSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10RemotePeerV27approximateDistanceInMetersSfSgvs", + "mangledName": "$s10DittoSwift0A10RemotePeerV27approximateDistanceInMetersSfSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10RemotePeerV27approximateDistanceInMetersSfSgvM", + "mangledName": "$s10DittoSwift0A10RemotePeerV27approximateDistanceInMetersSfSgvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(networkId:deviceName:connections:rssi:approximateDistanceInMeters:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoRemotePeer", + "printedName": "DittoSwift.DittoRemotePeer", + "usr": "s:10DittoSwift0A10RemotePeerV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10RemotePeerV9networkId10deviceName11connections4rssi27approximateDistanceInMetersACSS_SSSaySSGSfSgAJtcfc", + "mangledName": "$s10DittoSwift0A10RemotePeerV9networkId10deviceName11connections4rssi27approximateDistanceInMetersACSS_SSSaySSGSfSgAJtcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoRemotePeer", + "printedName": "DittoSwift.DittoRemotePeer", + "usr": "s:10DittoSwift0A10RemotePeerV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10RemotePeerV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A10RemotePeerV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10RemotePeerV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A10RemotePeerV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10RemotePeerV2idSSvp", + "mangledName": "$s10DittoSwift0A10RemotePeerV2idSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10RemotePeerV2idSSvg", + "mangledName": "$s10DittoSwift0A10RemotePeerV2idSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A10RemotePeerV", + "mangledName": "$s10DittoSwift0A10RemotePeerV", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Identifiable", + "printedName": "Identifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "ID", + "printedName": "ID", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s12IdentifiableP", + "mangledName": "$ss12IdentifiableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoAttachment", + "printedName": "DittoAttachment", + "children": [ + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10AttachmentC2idSSvp", + "mangledName": "$s10DittoSwift0A10AttachmentC2idSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10AttachmentC2idSSvg", + "mangledName": "$s10DittoSwift0A10AttachmentC2idSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "len", + "printedName": "len", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10AttachmentC3lenSivp", + "mangledName": "$s10DittoSwift0A10AttachmentC3lenSivp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10AttachmentC3lenSivg", + "mangledName": "$s10DittoSwift0A10AttachmentC3lenSivg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "metadata", + "printedName": "metadata", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10AttachmentC8metadataSDyS2SGvp", + "mangledName": "$s10DittoSwift0A10AttachmentC8metadataSDyS2SGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10AttachmentC8metadataSDyS2SGvg", + "mangledName": "$s10DittoSwift0A10AttachmentC8metadataSDyS2SGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachment", + "printedName": "DittoSwift.DittoAttachment", + "usr": "s:10DittoSwift0A10AttachmentC" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachment", + "printedName": "DittoSwift.DittoAttachment", + "usr": "s:10DittoSwift0A10AttachmentC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10AttachmentC2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A10AttachmentC2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10AttachmentC4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A10AttachmentC4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getData", + "printedName": "getData()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10AttachmentC7getData10Foundation0E0VyKF", + "mangledName": "$s10DittoSwift0A10AttachmentC7getData10Foundation0E0VyKF", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "data", + "printedName": "data()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10AttachmentC4data10Foundation4DataVyKF", + "mangledName": "$s10DittoSwift0A10AttachmentC4data10Foundation4DataVyKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "copy", + "printedName": "copy(toPath:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10AttachmentC4copy6toPathySS_tKF", + "mangledName": "$s10DittoSwift0A10AttachmentC4copy6toPathySS_tKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10AttachmentC9hashValueSivp", + "mangledName": "$s10DittoSwift0A10AttachmentC9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10AttachmentC9hashValueSivg", + "mangledName": "$s10DittoSwift0A10AttachmentC9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A10AttachmentC", + "mangledName": "$s10DittoSwift0A10AttachmentC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoAttachmentToken", + "printedName": "DittoAttachmentToken", + "children": [ + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15AttachmentTokenC2idSSvp", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC2idSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15AttachmentTokenC2idSSvg", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC2idSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "len", + "printedName": "len", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15AttachmentTokenC3lenSivp", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC3lenSivp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15AttachmentTokenC3lenSivg", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC3lenSivg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "metadata", + "printedName": "metadata", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15AttachmentTokenC8metadataSDyS2SGvp", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC8metadataSDyS2SGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15AttachmentTokenC8metadataSDyS2SGvg", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC8metadataSDyS2SGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentToken", + "printedName": "DittoSwift.DittoAttachmentToken", + "usr": "s:10DittoSwift0A15AttachmentTokenC" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentToken", + "printedName": "DittoSwift.DittoAttachmentToken", + "usr": "s:10DittoSwift0A15AttachmentTokenC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15AttachmentTokenC2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15AttachmentTokenC4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15AttachmentTokenC9hashValueSivp", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15AttachmentTokenC9hashValueSivg", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A15AttachmentTokenC", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Combine", + "printedName": "Combine", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "DittoTransactionInfo", + "printedName": "DittoTransactionInfo", + "children": [ + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15TransactionInfoV9hashValueSivp", + "mangledName": "$s10DittoSwift0A15TransactionInfoV9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransactionInfoV9hashValueSivg", + "mangledName": "$s10DittoSwift0A15TransactionInfoV9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15TransactionInfoV4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A15TransactionInfoV4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoTransactionInfo", + "printedName": "DittoSwift.DittoTransactionInfo", + "usr": "s:10DittoSwift0A15TransactionInfoV" + }, + { + "kind": "TypeNominal", + "name": "DittoTransactionInfo", + "printedName": "DittoSwift.DittoTransactionInfo", + "usr": "s:10DittoSwift0A15TransactionInfoV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15TransactionInfoV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A15TransactionInfoV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransactionInfo", + "printedName": "DittoSwift.DittoTransactionInfo", + "usr": "s:10DittoSwift0A15TransactionInfoV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A15TransactionInfoV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A15TransactionInfoV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15TransactionInfoV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A15TransactionInfoV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A15TransactionInfoV", + "mangledName": "$s10DittoSwift0A15TransactionInfoV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoTransportDiagnostics", + "printedName": "DittoTransportDiagnostics", + "children": [ + { + "kind": "Var", + "name": "transports", + "printedName": "transports", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoTransportSnapshot]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportSnapshot", + "printedName": "DittoSwift.DittoTransportSnapshot", + "usr": "s:10DittoSwift0A17TransportSnapshotC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A20TransportDiagnosticsC10transportsSayAA0aC8SnapshotCGvp", + "mangledName": "$s10DittoSwift0A20TransportDiagnosticsC10transportsSayAA0aC8SnapshotCGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoTransportSnapshot]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportSnapshot", + "printedName": "DittoSwift.DittoTransportSnapshot", + "usr": "s:10DittoSwift0A17TransportSnapshotC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A20TransportDiagnosticsC10transportsSayAA0aC8SnapshotCGvg", + "mangledName": "$s10DittoSwift0A20TransportDiagnosticsC10transportsSayAA0aC8SnapshotCGvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A20TransportDiagnosticsC", + "mangledName": "$s10DittoSwift0A20TransportDiagnosticsC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoSmallPeerInfo", + "printedName": "DittoSmallPeerInfo", + "children": [ + { + "kind": "Var", + "name": "isEnabled", + "printedName": "isEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13SmallPeerInfoC9isEnabledSbvp", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC9isEnabledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13SmallPeerInfoC9isEnabledSbvg", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC9isEnabledSbvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13SmallPeerInfoC9isEnabledSbvs", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC9isEnabledSbvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13SmallPeerInfoC9isEnabledSbvM", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC9isEnabledSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "syncScope", + "printedName": "syncScope", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13SmallPeerInfoC9syncScopeAA0acde4SyncG0Ovp", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC9syncScopeAA0acde4SyncG0Ovp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13SmallPeerInfoC9syncScopeAA0acde4SyncG0Ovg", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC9syncScopeAA0acde4SyncG0Ovg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13SmallPeerInfoC9syncScopeAA0acde4SyncG0Ovs", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC9syncScopeAA0acde4SyncG0Ovs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13SmallPeerInfoC9syncScopeAA0acde4SyncG0OvM", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC9syncScopeAA0acde4SyncG0OvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "metadata", + "printedName": "metadata", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13SmallPeerInfoC8metadataSDySSypGvp", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC8metadataSDySSypGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13SmallPeerInfoC8metadataSDySSypGvg", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC8metadataSDySSypGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "setMetadata", + "printedName": "setMetadata(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13SmallPeerInfoC11setMetadatayySDySSypGKF", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC11setMetadatayySDySSypGKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "metadataJSONString", + "printedName": "metadataJSONString", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13SmallPeerInfoC18metadataJSONStringSSvp", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC18metadataJSONStringSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13SmallPeerInfoC18metadataJSONStringSSvg", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC18metadataJSONStringSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "setMetadataJSONString", + "printedName": "setMetadataJSONString(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13SmallPeerInfoC21setMetadataJSONStringyySSKF", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC21setMetadataJSONStringyySSKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A13SmallPeerInfoC", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoPendingIDSpecificOperation", + "printedName": "DittoPendingIDSpecificOperation", + "children": [ + { + "kind": "Function", + "name": "subscribe", + "printedName": "subscribe()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSubscription", + "printedName": "DittoSwift.DittoSubscription", + "usr": "s:10DittoSwift0A12SubscriptionC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC9subscribeAA0A12SubscriptionCyF", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC9subscribeAA0A12SubscriptionCyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "remove", + "printedName": "remove()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC6removeSbyF", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC6removeSbyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "evict", + "printedName": "evict()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC5evictSbyF", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC5evictSbyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "exec", + "printedName": "exec()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC4execAA0A8DocumentCSgyF", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC4execAA0A8DocumentCSgyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "observeLocal", + "printedName": "observeLocal(deliverOn:eventHandler:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQuery", + "printedName": "DittoSwift.DittoLiveQuery", + "usr": "s:10DittoSwift0A9LiveQueryC" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoDocument?, DittoSwift.DittoSingleDocumentLiveQueryEvent) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DittoSwift.DittoDocument?, DittoSwift.DittoSingleDocumentLiveQueryEvent)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "DittoSingleDocumentLiveQueryEvent", + "printedName": "DittoSwift.DittoSingleDocumentLiveQueryEvent", + "usr": "s:10DittoSwift0A28SingleDocumentLiveQueryEventV" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC12observeLocal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_yAA0A8DocumentCSg_AA0a6SingleqlM5EventVtctF", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC12observeLocal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_yAA0A8DocumentCSg_AA0a6SingleqlM5EventVtctF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "observeLocalWithNextSignal", + "printedName": "observeLocalWithNextSignal(deliverOn:eventHandler:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQuery", + "printedName": "DittoSwift.DittoLiveQuery", + "usr": "s:10DittoSwift0A9LiveQueryC" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoDocument?, DittoSwift.DittoSingleDocumentLiveQueryEvent, @escaping () -> ()) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DittoSwift.DittoDocument?, DittoSwift.DittoSingleDocumentLiveQueryEvent, () -> ())", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "DittoSingleDocumentLiveQueryEvent", + "printedName": "DittoSwift.DittoSingleDocumentLiveQueryEvent", + "usr": "s:10DittoSwift0A28SingleDocumentLiveQueryEventV" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "() -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ] + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC26observeLocalWithNextSignal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_yAA0A8DocumentCSg_AA0a6SingletoP5EventVyyctctF", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC26observeLocalWithNextSignal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_yAA0A8DocumentCSg_AA0a6SingletoP5EventVyyctctF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "update", + "printedName": "update(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoUpdateResult]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoUpdateResult", + "printedName": "DittoSwift.DittoUpdateResult", + "usr": "s:10DittoSwift0A12UpdateResultO" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoMutableDocument?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoMutableDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocument", + "printedName": "DittoSwift.DittoMutableDocument", + "usr": "s:10DittoSwift0A15MutableDocumentC" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC6updateySayAA0A12UpdateResultOGyAA0A15MutableDocumentCSgcF", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC6updateySayAA0A12UpdateResultOGyAA0A15MutableDocumentCSgcF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "update", + "printedName": "update(using:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC6update5usingyx_tKSeRzSERzlF", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC6update5usingyx_tKSeRzSERzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Swift.Decodable, ฯ„_0_0 : Swift.Encodable>", + "sugared_genericSig": "", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "SingleDocumentLiveQueryPublisher", + "printedName": "SingleDocumentLiveQueryPublisher", + "children": [ + { + "kind": "Function", + "name": "receive", + "printedName": "receive(subscriber:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC32SingleDocumentLiveQueryPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0aG0CSg8document_AA0afghI5EventV5eventt5InputRtzlF", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC32SingleDocumentLiveQueryPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0aG0CSg8document_AA0afghI5EventV5eventt5InputRtzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Combine.Subscriber, ฯ„_0_0.Failure == Swift.Never, ฯ„_0_0.Input == (document: DittoSwift.DittoDocument?, event: DittoSwift.DittoSingleDocumentLiveQueryEvent)>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC32SingleDocumentLiveQueryPublisherV", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC32SingleDocumentLiveQueryPublisherV", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Publisher", + "printedName": "Publisher", + "children": [ + { + "kind": "TypeWitness", + "name": "Output", + "printedName": "Output", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(document: DittoSwift.DittoDocument?, event: DittoSwift.DittoSingleDocumentLiveQueryEvent)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "DittoSingleDocumentLiveQueryEvent", + "printedName": "DittoSwift.DittoSingleDocumentLiveQueryEvent", + "usr": "s:10DittoSwift0A28SingleDocumentLiveQueryEventV" + } + ] + } + ] + }, + { + "kind": "TypeWitness", + "name": "Failure", + "printedName": "Failure", + "children": [ + { + "kind": "TypeNominal", + "name": "Never", + "printedName": "Swift.Never", + "usr": "s:s5NeverO" + } + ] + } + ], + "usr": "s:7Combine9PublisherP", + "mangledName": "$s7Combine9PublisherP" + } + ] + }, + { + "kind": "Function", + "name": "singleDocumentLiveQueryPublisher", + "printedName": "singleDocumentLiveQueryPublisher()", + "children": [ + { + "kind": "TypeNominal", + "name": "SingleDocumentLiveQueryPublisher", + "printedName": "DittoSwift.DittoPendingIDSpecificOperation.SingleDocumentLiveQueryPublisher", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC32SingleDocumentLiveQueryPublisherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC32singleDocumentLiveQueryPublisherAC06SingleghiJ0VyF", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC32singleDocumentLiveQueryPublisherAC06SingleghiJ0VyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoObjCInterop", + "printedName": "DittoObjCInterop", + "children": [ + { + "kind": "Function", + "name": "initDittoWith", + "printedName": "initDittoWith(ditDitto:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + }, + { + "kind": "TypeNominal", + "name": "DITDitto", + "printedName": "DittoObjC.DITDitto", + "usr": "c:objc(cs)DITDitto" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A11ObjCInteropO04initA4With03ditA0AA0A0CSo8DITDittoC_tFZ", + "mangledName": "$s10DittoSwift0A11ObjCInteropO04initA4With03ditA0AA0A0CSo8DITDittoC_tFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "ditDittoFor", + "printedName": "ditDittoFor(ditto:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DITDitto", + "printedName": "DittoObjC.DITDitto", + "usr": "c:objc(cs)DITDitto" + }, + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A11ObjCInteropO03ditA3For5dittoSo8DITDittoCAA0A0C_tFZ", + "mangledName": "$s10DittoSwift0A11ObjCInteropO03ditA3For5dittoSo8DITDittoCAA0A0C_tFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A11ObjCInteropO", + "mangledName": "$s10DittoSwift0A11ObjCInteropO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoWriteTransactionPendingCursorOperation", + "printedName": "DittoWriteTransactionPendingCursorOperation", + "children": [ + { + "kind": "Function", + "name": "limit", + "printedName": "limit(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DynamicSelf", + "printedName": "Self" + }, + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC5limityACXDs5Int32VF", + "mangledName": "$s10DittoSwift0A38WriteTransactionPendingCursorOperationC5limityACXDs5Int32VF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "sort", + "printedName": "sort(_:direction:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DynamicSelf", + "printedName": "Self" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "DittoSortDirection", + "printedName": "DittoSwift.DittoSortDirection", + "usr": "s:10DittoSwift0A13SortDirectionO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC4sort_9directionACXDSS_AA0A13SortDirectionOtF", + "mangledName": "$s10DittoSwift0A38WriteTransactionPendingCursorOperationC4sort_9directionACXDSS_AA0A13SortDirectionOtF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "offset", + "printedName": "offset(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DynamicSelf", + "printedName": "Self" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC6offsetyACXDs6UInt32VF", + "mangledName": "$s10DittoSwift0A38WriteTransactionPendingCursorOperationC6offsetyACXDs6UInt32VF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "exec", + "printedName": "exec()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC4execSayAA0A8DocumentCGyF", + "mangledName": "$s10DittoSwift0A38WriteTransactionPendingCursorOperationC4execSayAA0A8DocumentCGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "remove", + "printedName": "remove()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocumentID]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC6removeSayAA0A10DocumentIDVGyF", + "mangledName": "$s10DittoSwift0A38WriteTransactionPendingCursorOperationC6removeSayAA0A10DocumentIDVGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "evict", + "printedName": "evict()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocumentID]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC5evictSayAA0A10DocumentIDVGyF", + "mangledName": "$s10DittoSwift0A38WriteTransactionPendingCursorOperationC5evictSayAA0A10DocumentIDVGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "update", + "printedName": "update(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DittoSwift.DittoDocumentID : [DittoSwift.DittoUpdateResult]]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoUpdateResult]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoUpdateResult", + "printedName": "DittoSwift.DittoUpdateResult", + "usr": "s:10DittoSwift0A12UpdateResultO" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:SD" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "([DittoSwift.DittoMutableDocument]) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoMutableDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocument", + "printedName": "DittoSwift.DittoMutableDocument", + "usr": "s:10DittoSwift0A15MutableDocumentC" + } + ], + "usr": "s:Sa" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC6updateySDyAA0A10DocumentIDVSayAA0A12UpdateResultOGGySayAA0a7MutableI0CGcF", + "mangledName": "$s10DittoSwift0A38WriteTransactionPendingCursorOperationC6updateySDyAA0A10DocumentIDVSayAA0A12UpdateResultOGGySayAA0a7MutableI0CGcF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC", + "mangledName": "$s10DittoSwift0A38WriteTransactionPendingCursorOperationC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoPeer", + "printedName": "DittoPeer", + "children": [ + { + "kind": "Var", + "name": "address", + "printedName": "address", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV7addressAA0A7AddressVvp", + "mangledName": "$s10DittoSwift0A4PeerV7addressAA0A7AddressVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV7addressAA0A7AddressVvg", + "mangledName": "$s10DittoSwift0A4PeerV7addressAA0A7AddressVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV7addressAA0A7AddressVvs", + "mangledName": "$s10DittoSwift0A4PeerV7addressAA0A7AddressVvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV7addressAA0A7AddressVvM", + "mangledName": "$s10DittoSwift0A4PeerV7addressAA0A7AddressVvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "peerKey", + "printedName": "peerKey", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV7peerKey10Foundation4DataVvp", + "mangledName": "$s10DittoSwift0A4PeerV7peerKey10Foundation4DataVvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV7peerKey10Foundation4DataVvg", + "mangledName": "$s10DittoSwift0A4PeerV7peerKey10Foundation4DataVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV7peerKey10Foundation4DataVvs", + "mangledName": "$s10DittoSwift0A4PeerV7peerKey10Foundation4DataVvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV7peerKey10Foundation4DataVvM", + "mangledName": "$s10DittoSwift0A4PeerV7peerKey10Foundation4DataVvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "peerKeyString", + "printedName": "peerKeyString", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV13peerKeyStringSSvp", + "mangledName": "$s10DittoSwift0A4PeerV13peerKeyStringSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV13peerKeyStringSSvg", + "mangledName": "$s10DittoSwift0A4PeerV13peerKeyStringSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV13peerKeyStringSSvs", + "mangledName": "$s10DittoSwift0A4PeerV13peerKeyStringSSvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV13peerKeyStringSSvM", + "mangledName": "$s10DittoSwift0A4PeerV13peerKeyStringSSvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "connections", + "printedName": "connections", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoConnection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV11connectionsSayAA0A10ConnectionVGvp", + "mangledName": "$s10DittoSwift0A4PeerV11connectionsSayAA0A10ConnectionVGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoConnection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV11connectionsSayAA0A10ConnectionVGvg", + "mangledName": "$s10DittoSwift0A4PeerV11connectionsSayAA0A10ConnectionVGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoConnection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV11connectionsSayAA0A10ConnectionVGvs", + "mangledName": "$s10DittoSwift0A4PeerV11connectionsSayAA0A10ConnectionVGvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV11connectionsSayAA0A10ConnectionVGvM", + "mangledName": "$s10DittoSwift0A4PeerV11connectionsSayAA0A10ConnectionVGvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "deviceName", + "printedName": "deviceName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV10deviceNameSSvp", + "mangledName": "$s10DittoSwift0A4PeerV10deviceNameSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV10deviceNameSSvg", + "mangledName": "$s10DittoSwift0A4PeerV10deviceNameSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV10deviceNameSSvs", + "mangledName": "$s10DittoSwift0A4PeerV10deviceNameSSvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV10deviceNameSSvM", + "mangledName": "$s10DittoSwift0A4PeerV10deviceNameSSvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "isConnectedToDittoCloud", + "printedName": "isConnectedToDittoCloud", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV013isConnectedToA5CloudSbvp", + "mangledName": "$s10DittoSwift0A4PeerV013isConnectedToA5CloudSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV013isConnectedToA5CloudSbvg", + "mangledName": "$s10DittoSwift0A4PeerV013isConnectedToA5CloudSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV013isConnectedToA5CloudSbvs", + "mangledName": "$s10DittoSwift0A4PeerV013isConnectedToA5CloudSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV013isConnectedToA5CloudSbvM", + "mangledName": "$s10DittoSwift0A4PeerV013isConnectedToA5CloudSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "queryOverlapGroup", + "printedName": "queryOverlapGroup", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV17queryOverlapGroups5UInt8Vvp", + "mangledName": "$s10DittoSwift0A4PeerV17queryOverlapGroups5UInt8Vvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV17queryOverlapGroups5UInt8Vvg", + "mangledName": "$s10DittoSwift0A4PeerV17queryOverlapGroups5UInt8Vvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV17queryOverlapGroups5UInt8Vvs", + "mangledName": "$s10DittoSwift0A4PeerV17queryOverlapGroups5UInt8Vvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV17queryOverlapGroups5UInt8VvM", + "mangledName": "$s10DittoSwift0A4PeerV17queryOverlapGroups5UInt8VvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "os", + "printedName": "os", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV2osSSSgvp", + "mangledName": "$s10DittoSwift0A4PeerV2osSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV2osSSSgvg", + "mangledName": "$s10DittoSwift0A4PeerV2osSSSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV2osSSSgvs", + "mangledName": "$s10DittoSwift0A4PeerV2osSSSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV2osSSSgvM", + "mangledName": "$s10DittoSwift0A4PeerV2osSSSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "dittoSDKVersion", + "printedName": "dittoSDKVersion", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV15dittoSDKVersionSSSgvp", + "mangledName": "$s10DittoSwift0A4PeerV15dittoSDKVersionSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV15dittoSDKVersionSSSgvg", + "mangledName": "$s10DittoSwift0A4PeerV15dittoSDKVersionSSSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV15dittoSDKVersionSSSgvs", + "mangledName": "$s10DittoSwift0A4PeerV15dittoSDKVersionSSSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV15dittoSDKVersionSSSgvM", + "mangledName": "$s10DittoSwift0A4PeerV15dittoSDKVersionSSSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "isCompatible", + "printedName": "isCompatible", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV12isCompatibleSbSgvp", + "mangledName": "$s10DittoSwift0A4PeerV12isCompatibleSbSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV12isCompatibleSbSgvg", + "mangledName": "$s10DittoSwift0A4PeerV12isCompatibleSbSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV12isCompatibleSbSgvs", + "mangledName": "$s10DittoSwift0A4PeerV12isCompatibleSbSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV12isCompatibleSbSgvM", + "mangledName": "$s10DittoSwift0A4PeerV12isCompatibleSbSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "peerMetadata", + "printedName": "peerMetadata", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV12peerMetadataSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A4PeerV12peerMetadataSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV12peerMetadataSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A4PeerV12peerMetadataSDySSypSgGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "identityServiceMetadata", + "printedName": "identityServiceMetadata", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV23identityServiceMetadataSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A4PeerV23identityServiceMetadataSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV23identityServiceMetadataSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A4PeerV23identityServiceMetadataSDySSypSgGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(address:peerKey:connections:deviceName:isConnectedToDittoCloud:queryOverlapGroup:os:dittoSDKVersion:isCompatible:peerMetadata:identityServiceMetadata:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + }, + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoConnection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Swift.AnyHashable?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.AnyHashable?", + "children": [ + { + "kind": "TypeNominal", + "name": "AnyHashable", + "printedName": "Swift.AnyHashable", + "usr": "s:s11AnyHashableV" + } + ], + "usr": "s:Sq" + } + ], + "hasDefaultArg": true, + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Swift.AnyHashable?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.AnyHashable?", + "children": [ + { + "kind": "TypeNominal", + "name": "AnyHashable", + "printedName": "Swift.AnyHashable", + "usr": "s:s11AnyHashableV" + } + ], + "usr": "s:Sq" + } + ], + "hasDefaultArg": true, + "usr": "s:SD" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A4PeerV7address7peerKey11connections10deviceName013isConnectedToA5Cloud17queryOverlapGroup2os15dittoSDKVersion0J10Compatible0E8Metadata015identityServiceU0AcA0A7AddressV_10Foundation4DataVSayAA0A10ConnectionVGSSSbs5UInt8VSSSgAYSbSgSDySSs11AnyHashableVSgGA2_tcfc", + "mangledName": "$s10DittoSwift0A4PeerV7address7peerKey11connections10deviceName013isConnectedToA5Cloud17queryOverlapGroup2os15dittoSDKVersion0J10Compatible0E8Metadata015identityServiceU0AcA0A7AddressV_10Foundation4DataVSayAA0A10ConnectionVGSSSbs5UInt8VSSSgAYSbSgSDySSs11AnyHashableVSgGA2_tcfc", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(address:peerKeyString:connections:deviceName:isConnectedToDittoCloud:queryOverlapGroup:os:dittoSDKVersion:isCompatible:peerMetadata:identityServiceMetadata:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + }, + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoConnection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "hasDefaultArg": true, + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "hasDefaultArg": true, + "usr": "s:SD" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A4PeerV7address13peerKeyString11connections10deviceName013isConnectedToA5Cloud17queryOverlapGroup2os15dittoSDKVersion0K10Compatible0E8Metadata015identityServiceV0AcA0A7AddressV_SSSayAA0A10ConnectionVGSSSbs5UInt8VSSSgAVSbSgSDySSypSgGAYtcfc", + "mangledName": "$s10DittoSwift0A4PeerV7address13peerKeyString11connections10deviceName013isConnectedToA5Cloud17queryOverlapGroup2os15dittoSDKVersion0K10Compatible0E8Metadata015identityServiceV0AcA0A7AddressV_SSSayAA0A10ConnectionVGSSSbs5UInt8VSSSgAVSbSgSDySSypSgGAYtcfc", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(address:peerKeyString:connections:deviceName:isConnectedToDittoCloud:os:dittoSDKVersion:isCompatible:peerMetadata:identityServiceMetadata:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + }, + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoConnection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "hasDefaultArg": true, + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "hasDefaultArg": true, + "usr": "s:SD" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A4PeerV7address13peerKeyString11connections10deviceName013isConnectedToA5Cloud2os15dittoSDKVersion0K10Compatible0E8Metadata015identityServiceS0AcA0A7AddressV_SSSayAA0A10ConnectionVGSSSbSSSgASSbSgSDySSypSgGAVtcfc", + "mangledName": "$s10DittoSwift0A4PeerV7address13peerKeyString11connections10deviceName013isConnectedToA5Cloud2os15dittoSDKVersion0K10Compatible0E8Metadata015identityServiceS0AcA0A7AddressV_SSSayAA0A10ConnectionVGSSSbSSSgASSbSgSDySSypSgGAVtcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + }, + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A4PeerV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A4PeerV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV9hashValueSivp", + "mangledName": "$s10DittoSwift0A4PeerV9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV9hashValueSivg", + "mangledName": "$s10DittoSwift0A4PeerV9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A4PeerV4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A4PeerV4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A4PeerV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A4PeerV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A4PeerV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A4PeerV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "throwing": true, + "init_kind": "Designated" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A4PeerV", + "mangledName": "$s10DittoSwift0A4PeerV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoQueryResult", + "printedName": "DittoQueryResult", + "children": [ + { + "kind": "Var", + "name": "items", + "printedName": "items", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoQueryResultItem]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoQueryResultItem", + "printedName": "DittoSwift.DittoQueryResultItem", + "usr": "s:10DittoSwift0A15QueryResultItemC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A11QueryResultC5itemsSayAA0acD4ItemCGvp", + "mangledName": "$s10DittoSwift0A11QueryResultC5itemsSayAA0acD4ItemCGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoQueryResultItem]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoQueryResultItem", + "printedName": "DittoSwift.DittoQueryResultItem", + "usr": "s:10DittoSwift0A15QueryResultItemC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A11QueryResultC5itemsSayAA0acD4ItemCGvg", + "mangledName": "$s10DittoSwift0A11QueryResultC5itemsSayAA0acD4ItemCGvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "mutatedDocumentIDs", + "printedName": "mutatedDocumentIDs()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocumentID]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A11QueryResultC18mutatedDocumentIDsSayAA0aF2IDVGyF", + "mangledName": "$s10DittoSwift0A11QueryResultC18mutatedDocumentIDsSayAA0aF2IDVGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A11QueryResultC", + "mangledName": "$s10DittoSwift0A11QueryResultC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoAuthenticator", + "printedName": "DittoAuthenticator", + "children": [ + { + "kind": "Var", + "name": "status", + "printedName": "status", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAuthenticationStatus", + "printedName": "DittoSwift.DittoAuthenticationStatus", + "usr": "s:10DittoSwift0A20AuthenticationStatusV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13AuthenticatorC6statusAA0A20AuthenticationStatusVvp", + "mangledName": "$s10DittoSwift0A13AuthenticatorC6statusAA0A20AuthenticationStatusVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAuthenticationStatus", + "printedName": "DittoSwift.DittoAuthenticationStatus", + "usr": "s:10DittoSwift0A20AuthenticationStatusV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13AuthenticatorC6statusAA0A20AuthenticationStatusVvg", + "mangledName": "$s10DittoSwift0A13AuthenticatorC6statusAA0A20AuthenticationStatusVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "login", + "printedName": "login(token:provider:completion:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String?, DittoSwift.DittoSwiftError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.String?, DittoSwift.DittoSwiftError?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoSwiftError?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13AuthenticatorC5login5token8provider10completionySS_SSySSSg_AA0aB5ErrorOSgtctF", + "mangledName": "$s10DittoSwift0A13AuthenticatorC5login5token8provider10completionySS_SSySSSg_AA0aB5ErrorOSgtctF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "loginWithToken", + "printedName": "loginWithToken(_:provider:completion:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoSwiftError?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13AuthenticatorC14loginWithToken_8provider10completionySS_SSyAA0aB5ErrorOSgctF", + "mangledName": "$s10DittoSwift0A13AuthenticatorC14loginWithToken_8provider10completionySS_SSyAA0aB5ErrorOSgctF", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "loginWithCredentials", + "printedName": "loginWithCredentials(username:password:provider:completion:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoSwiftError?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13AuthenticatorC20loginWithCredentials8username8password8provider10completionySS_S2SyAA0aB5ErrorOSgctF", + "mangledName": "$s10DittoSwift0A13AuthenticatorC20loginWithCredentials8username8password8provider10completionySS_S2SyAA0aB5ErrorOSgctF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "logout", + "printedName": "logout(cleanup:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((DittoSwift.Ditto) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.Ditto) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + } + ] + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13AuthenticatorC6logout7cleanupyyAA0A0CcSg_tF", + "mangledName": "$s10DittoSwift0A13AuthenticatorC6logout7cleanupyyAA0A0CcSg_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "observeStatus", + "printedName": "observeStatus(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoObserver", + "printedName": "DittoSwift.DittoObserver", + "usr": "s:10DittoSwift0A8ObserverC" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoAuthenticationStatus) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoAuthenticationStatus", + "printedName": "DittoSwift.DittoAuthenticationStatus", + "usr": "s:10DittoSwift0A20AuthenticationStatusV" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13AuthenticatorC13observeStatusyAA0A8ObserverCyAA0a14AuthenticationE0VcF", + "mangledName": "$s10DittoSwift0A13AuthenticatorC13observeStatusyAA0A8ObserverCyAA0a14AuthenticationE0VcF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "StatusPublisher", + "printedName": "StatusPublisher", + "children": [ + { + "kind": "Function", + "name": "receive", + "printedName": "receive(subscriber:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13AuthenticatorC15StatusPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0a14AuthenticationD0V5InputRtzlF", + "mangledName": "$s10DittoSwift0A13AuthenticatorC15StatusPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0a14AuthenticationD0V5InputRtzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Combine.Subscriber, ฯ„_0_0.Failure == Swift.Never, ฯ„_0_0.Input == DittoSwift.DittoAuthenticationStatus>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A13AuthenticatorC15StatusPublisherV", + "mangledName": "$s10DittoSwift0A13AuthenticatorC15StatusPublisherV", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Publisher", + "printedName": "Publisher", + "children": [ + { + "kind": "TypeWitness", + "name": "Output", + "printedName": "Output", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAuthenticationStatus", + "printedName": "DittoSwift.DittoAuthenticationStatus", + "usr": "s:10DittoSwift0A20AuthenticationStatusV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Failure", + "printedName": "Failure", + "children": [ + { + "kind": "TypeNominal", + "name": "Never", + "printedName": "Swift.Never", + "usr": "s:s5NeverO" + } + ] + } + ], + "usr": "s:7Combine9PublisherP", + "mangledName": "$s7Combine9PublisherP" + } + ] + }, + { + "kind": "Function", + "name": "statusPublisher", + "printedName": "statusPublisher()", + "children": [ + { + "kind": "TypeNominal", + "name": "StatusPublisher", + "printedName": "DittoSwift.DittoAuthenticator.StatusPublisher", + "usr": "s:10DittoSwift0A13AuthenticatorC15StatusPublisherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13AuthenticatorC15statusPublisherAC06StatusE0VyF", + "mangledName": "$s10DittoSwift0A13AuthenticatorC15statusPublisherAC06StatusE0VyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A13AuthenticatorC", + "mangledName": "$s10DittoSwift0A13AuthenticatorC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Combine", + "printedName": "Combine", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoSwiftError", + "printedName": "DittoSwiftError", + "children": [ + { + "kind": "TypeDecl", + "name": "ActivationErrorReason", + "printedName": "ActivationErrorReason", + "children": [ + { + "kind": "Var", + "name": "licenseTokenExpired", + "printedName": "licenseTokenExpired", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ActivationErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.ActivationErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.ActivationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "ActivationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ActivationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO19licenseTokenExpiredyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010ActivationC6ReasonO19licenseTokenExpiredyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "licenseTokenUnsupportedFutureVersion", + "printedName": "licenseTokenUnsupportedFutureVersion", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ActivationErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.ActivationErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.ActivationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "ActivationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ActivationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO36licenseTokenUnsupportedFutureVersionyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010ActivationC6ReasonO36licenseTokenUnsupportedFutureVersionyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "licenseTokenVerificationFailed", + "printedName": "licenseTokenVerificationFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ActivationErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.ActivationErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.ActivationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "ActivationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ActivationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO30licenseTokenVerificationFailedyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010ActivationC6ReasonO30licenseTokenVerificationFailedyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "notActivatedError", + "printedName": "notActivatedError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ActivationErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.ActivationErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.ActivationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "ActivationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ActivationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO012notActivatedC0yAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010ActivationC6ReasonO012notActivatedC0yAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO", + "mangledName": "$s10DittoSwift0aB5ErrorO010ActivationC6ReasonO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "AuthenticationErrorReason", + "printedName": "AuthenticationErrorReason", + "children": [ + { + "kind": "Var", + "name": "failedToAuthenticate", + "printedName": "failedToAuthenticate", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.AuthenticationErrorReason.Type) -> DittoSwift.DittoSwiftError.AuthenticationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.AuthenticationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.AuthenticationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.AuthenticationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO20failedToAuthenticateyA2EmF", + "mangledName": "$s10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO20failedToAuthenticateyA2EmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "AuthenticationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.AuthenticationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "AuthenticationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.AuthenticationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO2eeoiySbAE_AEtFZ", + "mangledName": "$s10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO2eeoiySbAE_AEtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO9hashValueSivp", + "mangledName": "$s10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO9hashValueSivg", + "mangledName": "$s10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO", + "mangledName": "$s10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "TypeDecl", + "name": "EncryptionErrorReason", + "printedName": "EncryptionErrorReason", + "children": [ + { + "kind": "Var", + "name": "extraneousPassphraseGiven", + "printedName": "extraneousPassphraseGiven", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.EncryptionErrorReason.Type) -> DittoSwift.DittoSwiftError.EncryptionErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "EncryptionErrorReason", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "EncryptionErrorReason", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO25extraneousPassphraseGivenyA2EmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010EncryptionC6ReasonO25extraneousPassphraseGivenyA2EmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "passphraseInvalid", + "printedName": "passphraseInvalid", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.EncryptionErrorReason.Type) -> DittoSwift.DittoSwiftError.EncryptionErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "EncryptionErrorReason", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "EncryptionErrorReason", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO17passphraseInvalidyA2EmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010EncryptionC6ReasonO17passphraseInvalidyA2EmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "passphraseNotGiven", + "printedName": "passphraseNotGiven", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.EncryptionErrorReason.Type) -> DittoSwift.DittoSwiftError.EncryptionErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "EncryptionErrorReason", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "EncryptionErrorReason", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO18passphraseNotGivenyA2EmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010EncryptionC6ReasonO18passphraseNotGivenyA2EmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "EncryptionErrorReason", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "EncryptionErrorReason", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO2eeoiySbAE_AEtFZ", + "mangledName": "$s10DittoSwift0aB5ErrorO010EncryptionC6ReasonO2eeoiySbAE_AEtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO9hashValueSivp", + "mangledName": "$s10DittoSwift0aB5ErrorO010EncryptionC6ReasonO9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO9hashValueSivg", + "mangledName": "$s10DittoSwift0aB5ErrorO010EncryptionC6ReasonO9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0aB5ErrorO010EncryptionC6ReasonO4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO", + "mangledName": "$s10DittoSwift0aB5ErrorO010EncryptionC6ReasonO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "TypeDecl", + "name": "MigrationErrorReason", + "printedName": "MigrationErrorReason", + "children": [ + { + "kind": "Var", + "name": "disableSyncWithV3Failed", + "printedName": "disableSyncWithV3Failed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.MigrationErrorReason.Type) -> DittoSwift.DittoSwiftError.MigrationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "MigrationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.MigrationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.MigrationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "MigrationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.MigrationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO23disableSyncWithV3FailedyA2EmF", + "mangledName": "$s10DittoSwift0aB5ErrorO09MigrationC6ReasonO23disableSyncWithV3FailedyA2EmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "MigrationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.MigrationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "MigrationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.MigrationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO2eeoiySbAE_AEtFZ", + "mangledName": "$s10DittoSwift0aB5ErrorO09MigrationC6ReasonO2eeoiySbAE_AEtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO9hashValueSivp", + "mangledName": "$s10DittoSwift0aB5ErrorO09MigrationC6ReasonO9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO9hashValueSivg", + "mangledName": "$s10DittoSwift0aB5ErrorO09MigrationC6ReasonO9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0aB5ErrorO09MigrationC6ReasonO4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO", + "mangledName": "$s10DittoSwift0aB5ErrorO09MigrationC6ReasonO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "TypeDecl", + "name": "StoreErrorReason", + "printedName": "StoreErrorReason", + "children": [ + { + "kind": "Var", + "name": "attachmentDataRetrievalError", + "printedName": "attachmentDataRetrievalError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (any Swift.Error) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(any Swift.Error) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(error: any Swift.Error)", + "children": [ + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO023attachmentDataRetrievalC0yAEs0C0_p_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO023attachmentDataRetrievalC0yAEs0C0_p_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "attachmentFileCopyError", + "printedName": "attachmentFileCopyError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (any Swift.Error) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(any Swift.Error) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(error: any Swift.Error)", + "children": [ + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO018attachmentFileCopyC0yAEs0C0_p_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO018attachmentFileCopyC0yAEs0C0_p_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "attachmentFileNotFound", + "printedName": "attachmentFileNotFound", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO22attachmentFileNotFoundyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO22attachmentFileNotFoundyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "attachmentFilePermissionDenied", + "printedName": "attachmentFilePermissionDenied", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO30attachmentFilePermissionDeniedyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO30attachmentFilePermissionDeniedyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "attachmentNotFound", + "printedName": "attachmentNotFound", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO18attachmentNotFoundyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO18attachmentNotFoundyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "attachmentTokenInvalid", + "printedName": "attachmentTokenInvalid", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO22attachmentTokenInvalidyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO22attachmentTokenInvalidyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "failedToCreateAttachment", + "printedName": "failedToCreateAttachment", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO24failedToCreateAttachmentyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO24failedToCreateAttachmentyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "failedToFetchAttachment", + "printedName": "failedToFetchAttachment", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO23failedToFetchAttachmentyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO23failedToFetchAttachmentyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "backendError", + "printedName": "backendError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO07backendC0yAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO07backendC0yAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "crdtError", + "printedName": "crdtError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO04crdtC0yAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO04crdtC0yAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "documentContentEncodingFailed", + "printedName": "documentContentEncodingFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> ((any Swift.Error)?) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "((any Swift.Error)?) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(error: (any Swift.Error)?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(any Swift.Error)?", + "children": [ + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ], + "usr": "s:Sq" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO29documentContentEncodingFailedyAEs0C0_pSg_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO29documentContentEncodingFailedyAEs0C0_pSg_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "documentNotFound", + "printedName": "documentNotFound", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO16documentNotFoundyA2EmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO16documentNotFoundyA2EmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "failedToDecodeData", + "printedName": "failedToDecodeData", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> ((any Swift.Error)?, [Swift.UInt8]) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "((any Swift.Error)?, [Swift.UInt8]) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(error: (any Swift.Error)?, data: [Swift.UInt8])", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(any Swift.Error)?", + "children": [ + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO18failedToDecodeDatayAEs0C0_pSg_Says5UInt8VGtcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO18failedToDecodeDatayAEs0C0_pSg_Says5UInt8VGtcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "failedToDecodeDocument", + "printedName": "failedToDecodeDocument", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (any Swift.Error) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(any Swift.Error) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(error: any Swift.Error)", + "children": [ + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO22failedToDecodeDocumentyAEs0C0_p_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO22failedToDecodeDocumentyAEs0C0_p_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "failedToGetDocumentData", + "printedName": "failedToGetDocumentData", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(path: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO23failedToGetDocumentDatayAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO23failedToGetDocumentDatayAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "failedToGetDocumentIDData", + "printedName": "failedToGetDocumentIDData", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(path: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO25failedToGetDocumentIDDatayAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO25failedToGetDocumentIDDatayAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "invalidCRDTType", + "printedName": "invalidCRDTType", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO15invalidCRDTTypeyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO15invalidCRDTTypeyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "invalidDocumentStructure", + "printedName": "invalidDocumentStructure", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (DittoSwift.CBOR) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(cbor: DittoSwift.CBOR)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO24invalidDocumentStructureyAeA4CBORO_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO24invalidDocumentStructureyAeA4CBORO_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "invalidValueForCRDT", + "printedName": "invalidValueForCRDT", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO19invalidValueForCRDTyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO19invalidValueForCRDTyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "nonStringKeyInDocument", + "printedName": "nonStringKeyInDocument", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (DittoSwift.CBOR) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(key: DittoSwift.CBOR)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO22nonStringKeyInDocumentyAeA4CBORO_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO22nonStringKeyInDocumentyAeA4CBORO_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "queryArgumentsInvalid", + "printedName": "queryArgumentsInvalid", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO21queryArgumentsInvalidyA2EmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO21queryArgumentsInvalidyA2EmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "queryError", + "printedName": "queryError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO05queryC0yAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO05queryC0yAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "queryInvalid", + "printedName": "queryInvalid", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO12queryInvalidyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO12queryInvalidyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "queryNotSupported", + "printedName": "queryNotSupported", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO17queryNotSupportedyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO17queryNotSupportedyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "transactionReadOnly", + "printedName": "transactionReadOnly", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO19transactionReadOnlyyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO19transactionReadOnlyyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "TransportErrorReason", + "printedName": "TransportErrorReason", + "children": [ + { + "kind": "Var", + "name": "diagnosticsUnavailable", + "printedName": "diagnosticsUnavailable", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.TransportErrorReason.Type) -> DittoSwift.DittoSwiftError.TransportErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "TransportErrorReason", + "printedName": "DittoSwift.DittoSwiftError.TransportErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.TransportErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "TransportErrorReason", + "printedName": "DittoSwift.DittoSwiftError.TransportErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO22diagnosticsUnavailableyA2EmF", + "mangledName": "$s10DittoSwift0aB5ErrorO09TransportC6ReasonO22diagnosticsUnavailableyA2EmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "failedToDecodeTransportDiagnostics", + "printedName": "failedToDecodeTransportDiagnostics", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.TransportErrorReason.Type) -> DittoSwift.DittoSwiftError.TransportErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "TransportErrorReason", + "printedName": "DittoSwift.DittoSwiftError.TransportErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.TransportErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "TransportErrorReason", + "printedName": "DittoSwift.DittoSwiftError.TransportErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO014failedToDecodeD11DiagnosticsyA2EmF", + "mangledName": "$s10DittoSwift0aB5ErrorO09TransportC6ReasonO014failedToDecodeD11DiagnosticsyA2EmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "TransportErrorReason", + "printedName": "DittoSwift.DittoSwiftError.TransportErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "TransportErrorReason", + "printedName": "DittoSwift.DittoSwiftError.TransportErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO2eeoiySbAE_AEtFZ", + "mangledName": "$s10DittoSwift0aB5ErrorO09TransportC6ReasonO2eeoiySbAE_AEtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO9hashValueSivp", + "mangledName": "$s10DittoSwift0aB5ErrorO09TransportC6ReasonO9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO9hashValueSivg", + "mangledName": "$s10DittoSwift0aB5ErrorO09TransportC6ReasonO9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0aB5ErrorO09TransportC6ReasonO4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO", + "mangledName": "$s10DittoSwift0aB5ErrorO09TransportC6ReasonO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "TypeDecl", + "name": "ValidationErrorReason", + "printedName": "ValidationErrorReason", + "children": [ + { + "kind": "Var", + "name": "depthLimitExceeded", + "printedName": "depthLimitExceeded", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ValidationErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO18depthLimitExceededyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010ValidationC6ReasonO18depthLimitExceededyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "notADictionary", + "printedName": "notADictionary", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ValidationErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO14notADictionaryyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010ValidationC6ReasonO14notADictionaryyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "notJSONCompatible", + "printedName": "notJSONCompatible", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ValidationErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO17notJSONCompatibleyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010ValidationC6ReasonO17notJSONCompatibleyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "invalidJSON", + "printedName": "invalidJSON", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ValidationErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO11invalidJSONyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010ValidationC6ReasonO11invalidJSONyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "invalidCBOR", + "printedName": "invalidCBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ValidationErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO11invalidCBORyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010ValidationC6ReasonO11invalidCBORyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "sizeLimitExceeded", + "printedName": "sizeLimitExceeded", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ValidationErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO17sizeLimitExceededyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010ValidationC6ReasonO17sizeLimitExceededyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO", + "mangledName": "$s10DittoSwift0aB5ErrorO010ValidationC6ReasonO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "IOErrorReason", + "printedName": "IOErrorReason", + "children": [ + { + "kind": "Var", + "name": "alreadyExists", + "printedName": "alreadyExists", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.IOErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.IOErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.IOErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "IOErrorReason", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IOErrorReason", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO13alreadyExistsyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO13IOErrorReasonO13alreadyExistsyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "notFound", + "printedName": "notFound", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.IOErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.IOErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.IOErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "IOErrorReason", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IOErrorReason", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO8notFoundyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO13IOErrorReasonO8notFoundyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "permissionDenied", + "printedName": "permissionDenied", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.IOErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.IOErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.IOErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "IOErrorReason", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IOErrorReason", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO16permissionDeniedyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO13IOErrorReasonO16permissionDeniedyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "operationFailed", + "printedName": "operationFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.IOErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.IOErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.IOErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "IOErrorReason", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IOErrorReason", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO15operationFailedyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO13IOErrorReasonO15operationFailedyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO", + "mangledName": "$s10DittoSwift0aB5ErrorO13IOErrorReasonO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Var", + "name": "activationError", + "printedName": "activationError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.Type) -> (DittoSwift.DittoSwiftError.ActivationErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ActivationErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DittoSwift.DittoSwiftError.ActivationErrorReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "ActivationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010activationC0yA2C010ActivationC6ReasonO_tcACmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010activationC0yA2C010ActivationC6ReasonO_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "authenticationError", + "printedName": "authenticationError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.Type) -> (DittoSwift.DittoSwiftError.AuthenticationErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.AuthenticationErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DittoSwift.DittoSwiftError.AuthenticationErrorReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.AuthenticationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO014authenticationC0yA2C014AuthenticationC6ReasonO_tcACmF", + "mangledName": "$s10DittoSwift0aB5ErrorO014authenticationC0yA2C014AuthenticationC6ReasonO_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "encryptionError", + "printedName": "encryptionError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.Type) -> (DittoSwift.DittoSwiftError.EncryptionErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.EncryptionErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DittoSwift.DittoSwiftError.EncryptionErrorReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "EncryptionErrorReason", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010encryptionC0yA2C010EncryptionC6ReasonO_tcACmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010encryptionC0yA2C010EncryptionC6ReasonO_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "migrationError", + "printedName": "migrationError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.Type) -> (DittoSwift.DittoSwiftError.MigrationErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.MigrationErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DittoSwift.DittoSwiftError.MigrationErrorReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "MigrationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.MigrationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO09migrationC0yA2C09MigrationC6ReasonO_tcACmF", + "mangledName": "$s10DittoSwift0aB5ErrorO09migrationC0yA2C09MigrationC6ReasonO_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "storeError", + "printedName": "storeError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.Type) -> (DittoSwift.DittoSwiftError.StoreErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DittoSwift.DittoSwiftError.StoreErrorReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05storeC0yA2C05StoreC6ReasonO_tcACmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05storeC0yA2C05StoreC6ReasonO_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "transportError", + "printedName": "transportError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.Type) -> (DittoSwift.DittoSwiftError.TransportErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.TransportErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DittoSwift.DittoSwiftError.TransportErrorReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "TransportErrorReason", + "printedName": "DittoSwift.DittoSwiftError.TransportErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO09transportC0yA2C09TransportC6ReasonO_tcACmF", + "mangledName": "$s10DittoSwift0aB5ErrorO09transportC0yA2C09TransportC6ReasonO_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "validationError", + "printedName": "validationError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.Type) -> (DittoSwift.DittoSwiftError.ValidationErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ValidationErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DittoSwift.DittoSwiftError.ValidationErrorReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010validationC0yA2C010ValidationC6ReasonO_tcACmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010validationC0yA2C010ValidationC6ReasonO_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "ioError", + "printedName": "ioError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.Type) -> (DittoSwift.DittoSwiftError.IOErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.IOErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DittoSwift.DittoSwiftError.IOErrorReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "IOErrorReason", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO02ioC0yA2C13IOErrorReasonO_tcACmF", + "mangledName": "$s10DittoSwift0aB5ErrorO02ioC0yA2C13IOErrorReasonO_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "unsupportedError", + "printedName": "unsupportedError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO011unsupportedC0yACSS_tcACmF", + "mangledName": "$s10DittoSwift0aB5ErrorO011unsupportedC0yACSS_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "unknownError", + "printedName": "unknownError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO07unknownC0yACSS_tcACmF", + "mangledName": "$s10DittoSwift0aB5ErrorO07unknownC0yACSS_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "errorDescription", + "printedName": "errorDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0aB5ErrorO16errorDescriptionSSSgvp", + "mangledName": "$s10DittoSwift0aB5ErrorO16errorDescriptionSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0aB5ErrorO16errorDescriptionSSSgvg", + "mangledName": "$s10DittoSwift0aB5ErrorO16errorDescriptionSSSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0aB5ErrorO", + "mangledName": "$s10DittoSwift0aB5ErrorO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "LocalizedError", + "printedName": "LocalizedError", + "usr": "s:10Foundation14LocalizedErrorP", + "mangledName": "$s10Foundation14LocalizedErrorP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoWriteTransaction", + "printedName": "DittoWriteTransaction", + "children": [ + { + "kind": "Function", + "name": "scoped", + "printedName": "scoped(toCollectionNamed:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoScopedWriteTransaction", + "printedName": "DittoSwift.DittoScopedWriteTransaction", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A16WriteTransactionC6scoped17toCollectionNamedAA0a6ScopedcD0CSS_tF", + "mangledName": "$s10DittoSwift0A16WriteTransactionC6scoped17toCollectionNamedAA0a6ScopedcD0CSS_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoScopedWriteTransaction", + "printedName": "DittoSwift.DittoScopedWriteTransaction", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A16WriteTransactionCyAA0a6ScopedcD0CSScip", + "mangledName": "$s10DittoSwift0A16WriteTransactionCyAA0a6ScopedcD0CSScip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoScopedWriteTransaction", + "printedName": "DittoSwift.DittoScopedWriteTransaction", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16WriteTransactionCyAA0a6ScopedcD0CSScig", + "mangledName": "$s10DittoSwift0A16WriteTransactionCyAA0a6ScopedcD0CSScig", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A16WriteTransactionC", + "mangledName": "$s10DittoSwift0A16WriteTransactionC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoLogger", + "printedName": "DittoLogger", + "children": [ + { + "kind": "Var", + "name": "enabled", + "printedName": "enabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A6LoggerC7enabledSbvpZ", + "mangledName": "$s10DittoSwift0A6LoggerC7enabledSbvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6LoggerC7enabledSbvgZ", + "mangledName": "$s10DittoSwift0A6LoggerC7enabledSbvgZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6LoggerC7enabledSbvsZ", + "mangledName": "$s10DittoSwift0A6LoggerC7enabledSbvsZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6LoggerC7enabledSbvMZ", + "mangledName": "$s10DittoSwift0A6LoggerC7enabledSbvMZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "minimumLogLevel", + "printedName": "minimumLogLevel", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A6LoggerC15minimumLogLevelAA0aeF0OvpZ", + "mangledName": "$s10DittoSwift0A6LoggerC15minimumLogLevelAA0aeF0OvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6LoggerC15minimumLogLevelAA0aeF0OvgZ", + "mangledName": "$s10DittoSwift0A6LoggerC15minimumLogLevelAA0aeF0OvgZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6LoggerC15minimumLogLevelAA0aeF0OvsZ", + "mangledName": "$s10DittoSwift0A6LoggerC15minimumLogLevelAA0aeF0OvsZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6LoggerC15minimumLogLevelAA0aeF0OvMZ", + "mangledName": "$s10DittoSwift0A6LoggerC15minimumLogLevelAA0aeF0OvMZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "emojiLogLevelHeadingsEnabled", + "printedName": "emojiLogLevelHeadingsEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A6LoggerC28emojiLogLevelHeadingsEnabledSbvpZ", + "mangledName": "$s10DittoSwift0A6LoggerC28emojiLogLevelHeadingsEnabledSbvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6LoggerC28emojiLogLevelHeadingsEnabledSbvgZ", + "mangledName": "$s10DittoSwift0A6LoggerC28emojiLogLevelHeadingsEnabledSbvgZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6LoggerC28emojiLogLevelHeadingsEnabledSbvsZ", + "mangledName": "$s10DittoSwift0A6LoggerC28emojiLogLevelHeadingsEnabledSbvsZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6LoggerC28emojiLogLevelHeadingsEnabledSbvMZ", + "mangledName": "$s10DittoSwift0A6LoggerC28emojiLogLevelHeadingsEnabledSbvMZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Function", + "name": "setLogFile", + "printedName": "setLogFile(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A6LoggerC10setLogFileyySSSgFZ", + "mangledName": "$s10DittoSwift0A6LoggerC10setLogFileyySSSgFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setLogFileURL", + "printedName": "setLogFileURL(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.URL?", + "children": [ + { + "kind": "TypeNominal", + "name": "URL", + "printedName": "Foundation.URL", + "usr": "s:10Foundation3URLV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A6LoggerC13setLogFileURLyy10Foundation0G0VSgFZ", + "mangledName": "$s10DittoSwift0A6LoggerC13setLogFileURLyy10Foundation0G0VSgFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setCustomLogCallback", + "printedName": "setCustomLogCallback(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((DittoSwift.DittoLogLevel, Swift.String) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoLogLevel, Swift.String) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DittoSwift.DittoLogLevel, Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A6LoggerC20setCustomLogCallbackyyyAA0aF5LevelO_SStcSgFZ", + "mangledName": "$s10DittoSwift0A6LoggerC20setCustomLogCallbackyyyAA0aF5LevelO_SStcSgFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "export", + "printedName": "export(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + }, + { + "kind": "TypeNominal", + "name": "URL", + "printedName": "Foundation.URL", + "usr": "s:10Foundation3URLV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A6LoggerC6export2tos6UInt64V10Foundation3URLV_tYaKFZ", + "mangledName": "$s10DittoSwift0A6LoggerC6export2tos6UInt64V10Foundation3URLV_tYaKFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A6LoggerC", + "mangledName": "$s10DittoSwift0A6LoggerC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoSubscription", + "printedName": "DittoSubscription", + "children": [ + { + "kind": "Var", + "name": "query", + "printedName": "query", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12SubscriptionC5querySSvp", + "mangledName": "$s10DittoSwift0A12SubscriptionC5querySSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12SubscriptionC5querySSvg", + "mangledName": "$s10DittoSwift0A12SubscriptionC5querySSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "collectionName", + "printedName": "collectionName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12SubscriptionC14collectionNameSSvp", + "mangledName": "$s10DittoSwift0A12SubscriptionC14collectionNameSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12SubscriptionC14collectionNameSSvg", + "mangledName": "$s10DittoSwift0A12SubscriptionC14collectionNameSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "cancel", + "printedName": "cancel()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A12SubscriptionC6cancelyyF", + "mangledName": "$s10DittoSwift0A12SubscriptionC6cancelyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A12SubscriptionC", + "mangledName": "$s10DittoSwift0A12SubscriptionC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoScopedWriteTransaction", + "printedName": "DittoScopedWriteTransaction", + "children": [ + { + "kind": "Var", + "name": "collectionName", + "printedName": "collectionName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC14collectionNameSSvp", + "mangledName": "$s10DittoSwift0A22ScopedWriteTransactionC14collectionNameSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC14collectionNameSSvg", + "mangledName": "$s10DittoSwift0A22ScopedWriteTransactionC14collectionNameSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "upsert", + "printedName": "upsert(_:writeStrategy:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "hasDefaultArg": true, + "usr": "s:10DittoSwift0A13WriteStrategyO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC6upsert_13writeStrategyAA0A10DocumentIDVSDySSypSgG_AA0adH0OtKF", + "mangledName": "$s10DittoSwift0A22ScopedWriteTransactionC6upsert_13writeStrategyAA0A10DocumentIDVSDySSypSgG_AA0adH0OtKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "upsert", + "printedName": "upsert(_:writeStrategy:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + }, + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "hasDefaultArg": true, + "usr": "s:10DittoSwift0A13WriteStrategyO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC6upsert_13writeStrategyAA0A10DocumentIDVx_AA0adH0OtKSeRzSERzlF", + "mangledName": "$s10DittoSwift0A22ScopedWriteTransactionC6upsert_13writeStrategyAA0A10DocumentIDVx_AA0adH0OtKSeRzSERzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Swift.Decodable, ฯ„_0_0 : Swift.Encodable>", + "sugared_genericSig": "", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "findByID", + "printedName": "findByID(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionPendingIDSpecificOperation", + "printedName": "DittoSwift.DittoWriteTransactionPendingIDSpecificOperation", + "usr": "s:10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC" + }, + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC8findByIDyAA0adE26PendingIDSpecificOperationCAA0a8DocumentH0VF", + "mangledName": "$s10DittoSwift0A22ScopedWriteTransactionC8findByIDyAA0adE26PendingIDSpecificOperationCAA0a8DocumentH0VF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "findByID", + "printedName": "findByID(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionPendingIDSpecificOperation", + "printedName": "DittoSwift.DittoWriteTransactionPendingIDSpecificOperation", + "usr": "s:10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC" + }, + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC8findByIDyAA0adE26PendingIDSpecificOperationCypF", + "mangledName": "$s10DittoSwift0A22ScopedWriteTransactionC8findByIDyAA0adE26PendingIDSpecificOperationCypF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "find", + "printedName": "find(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionPendingCursorOperation", + "printedName": "DittoSwift.DittoWriteTransactionPendingCursorOperation", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC4findyAA0adE22PendingCursorOperationCSSF", + "mangledName": "$s10DittoSwift0A22ScopedWriteTransactionC4findyAA0adE22PendingCursorOperationCSSF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "find", + "printedName": "find(_:args:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionPendingCursorOperation", + "printedName": "DittoSwift.DittoWriteTransactionPendingCursorOperation", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC4find_4argsAA0adE22PendingCursorOperationCSS_SDySSypSgGtF", + "mangledName": "$s10DittoSwift0A22ScopedWriteTransactionC4find_4argsAA0adE22PendingCursorOperationCSS_SDySSypSgGtF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "findAll", + "printedName": "findAll()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionPendingCursorOperation", + "printedName": "DittoSwift.DittoWriteTransactionPendingCursorOperation", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC7findAllAA0adE22PendingCursorOperationCyF", + "mangledName": "$s10DittoSwift0A22ScopedWriteTransactionC7findAllAA0adE22PendingCursorOperationCyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC", + "mangledName": "$s10DittoSwift0A22ScopedWriteTransactionC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoMutableDocumentPath", + "printedName": "DittoMutableDocumentPath", + "children": [ + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A19MutableDocumentPathCyACSScip", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathCyACSScip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathCyACSScig", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathCyACSScig", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathCyACSScis", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathCyACSScis", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathCyACSSciM", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathCyACSSciM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A19MutableDocumentPathCyACSicip", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathCyACSicip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathCyACSicig", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathCyACSicig", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathCyACSicis", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathCyACSicis", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathCyACSiciM", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathCyACSiciM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Function", + "name": "set", + "printedName": "set(_:isDefault:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A19MutableDocumentPathC3set_9isDefaultyypSg_SbtF", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC3set_9isDefaultyypSg_SbtF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "remove", + "printedName": "remove()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A19MutableDocumentPathC6removeyyF", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC6removeyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(stringLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC13stringLiteralACSS_tcfc", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC13stringLiteralACSS_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Required", + "AccessControl", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(extendedGraphemeClusterLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC30extendedGraphemeClusterLiteralACSS_tcfc", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC30extendedGraphemeClusterLiteralACSS_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Required", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(unicodeScalarLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC20unicodeScalarLiteralACSS_tcfc", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC20unicodeScalarLiteralACSS_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Required", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(integerLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC14integerLiteralACSi_tcfc", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC14integerLiteralACSi_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Required", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(booleanLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC14booleanLiteralACSb_tcfc", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC14booleanLiteralACSb_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Required", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(floatLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC12floatLiteralACSd_tcfc", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC12floatLiteralACSd_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Required", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(dictionaryLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[(Swift.String, Any)]", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.String, Any)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ] + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC17dictionaryLiteralACSS_yptd_tcfc", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC17dictionaryLiteralACSS_yptd_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Required", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(arrayLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any]", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC12arrayLiteralACypd_tcfc", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC12arrayLiteralACypd_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Required", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(nilLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC10nilLiteralACyt_tcfc", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC10nilLiteralACyt_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Required", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC5valueypSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC5valueypSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC5valueypSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC5valueypSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "string", + "printedName": "string", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC6stringSSSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC6stringSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC6stringSSSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC6stringSSSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "stringValue", + "printedName": "stringValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC11stringValueSSvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC11stringValueSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC11stringValueSSvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC11stringValueSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "bool", + "printedName": "bool", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC4boolSbSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC4boolSbSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC4boolSbSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC4boolSbSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "boolValue", + "printedName": "boolValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC9boolValueSbvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC9boolValueSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC9boolValueSbvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC9boolValueSbvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "int", + "printedName": "int", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC3intSiSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC3intSiSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC3intSiSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC3intSiSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "intValue", + "printedName": "intValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC8intValueSivp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC8intValueSivp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC8intValueSivg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC8intValueSivg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uint", + "printedName": "uint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC4uintSuSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC4uintSuSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC4uintSuSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC4uintSuSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uintValue", + "printedName": "uintValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC9uintValueSuvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC9uintValueSuvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC9uintValueSuvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC9uintValueSuvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "float", + "printedName": "float", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC5floatSfSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC5floatSfSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC5floatSfSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC5floatSfSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "floatValue", + "printedName": "floatValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC10floatValueSfvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC10floatValueSfvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC10floatValueSfvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC10floatValueSfvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "double", + "printedName": "double", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC6doubleSdSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC6doubleSdSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC6doubleSdSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC6doubleSdSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "doubleValue", + "printedName": "doubleValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC11doubleValueSdvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC11doubleValueSdvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC11doubleValueSdvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC11doubleValueSdvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "array", + "printedName": "array", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC5arraySayypSgGSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC5arraySayypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC5arraySayypSgGSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC5arraySayypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "arrayValue", + "printedName": "arrayValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC10arrayValueSayypSgGvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC10arrayValueSayypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC10arrayValueSayypSgGvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC10arrayValueSayypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionary", + "printedName": "dictionary", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC10dictionarySDySSypSgGSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC10dictionarySDySSypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC10dictionarySDySSypSgGSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC10dictionarySDySSypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionaryValue", + "printedName": "dictionaryValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC15dictionaryValueSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC15dictionaryValueSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC15dictionaryValueSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC15dictionaryValueSDySSypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "attachmentToken", + "printedName": "attachmentToken", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoAttachmentToken?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentToken", + "printedName": "DittoSwift.DittoAttachmentToken", + "usr": "s:10DittoSwift0A15AttachmentTokenC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC15attachmentTokenAA0a10AttachmentG0CSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC15attachmentTokenAA0a10AttachmentG0CSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoAttachmentToken?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentToken", + "printedName": "DittoSwift.DittoAttachmentToken", + "usr": "s:10DittoSwift0A15AttachmentTokenC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC15attachmentTokenAA0a10AttachmentG0CSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC15attachmentTokenAA0a10AttachmentG0CSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "counter", + "printedName": "counter", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoMutableCounter?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableCounter", + "printedName": "DittoSwift.DittoMutableCounter", + "usr": "s:10DittoSwift0A14MutableCounterC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC7counterAA0aC7CounterCSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC7counterAA0aC7CounterCSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoMutableCounter?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableCounter", + "printedName": "DittoSwift.DittoMutableCounter", + "usr": "s:10DittoSwift0A14MutableCounterC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC7counterAA0aC7CounterCSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC7counterAA0aC7CounterCSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "register", + "printedName": "register", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoMutableRegister?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableRegister", + "printedName": "DittoSwift.DittoMutableRegister", + "usr": "s:10DittoSwift0A15MutableRegisterC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC8registerAA0aC8RegisterCSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC8registerAA0aC8RegisterCSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoMutableRegister?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableRegister", + "printedName": "DittoSwift.DittoMutableRegister", + "usr": "s:10DittoSwift0A15MutableRegisterC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC8registerAA0aC8RegisterCSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC8registerAA0aC8RegisterCSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A19MutableDocumentPathC", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByStringLiteral", + "printedName": "ExpressibleByStringLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "StringLiteralType", + "printedName": "StringLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s26ExpressibleByStringLiteralP", + "mangledName": "$ss26ExpressibleByStringLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByBooleanLiteral", + "printedName": "ExpressibleByBooleanLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "BooleanLiteralType", + "printedName": "BooleanLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + } + ], + "usr": "s:s27ExpressibleByBooleanLiteralP", + "mangledName": "$ss27ExpressibleByBooleanLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByFloatLiteral", + "printedName": "ExpressibleByFloatLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "FloatLiteralType", + "printedName": "FloatLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ] + } + ], + "usr": "s:s25ExpressibleByFloatLiteralP", + "mangledName": "$ss25ExpressibleByFloatLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByDictionaryLiteral", + "printedName": "ExpressibleByDictionaryLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "Key", + "printedName": "Key", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Value", + "printedName": "Value", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ] + } + ], + "usr": "s:s30ExpressibleByDictionaryLiteralP", + "mangledName": "$ss30ExpressibleByDictionaryLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByArrayLiteral", + "printedName": "ExpressibleByArrayLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "ArrayLiteralElement", + "printedName": "ArrayLiteralElement", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ] + } + ], + "usr": "s:s25ExpressibleByArrayLiteralP", + "mangledName": "$ss25ExpressibleByArrayLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByNilLiteral", + "printedName": "ExpressibleByNilLiteral", + "usr": "s:s23ExpressibleByNilLiteralP", + "mangledName": "$ss23ExpressibleByNilLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByExtendedGraphemeClusterLiteral", + "printedName": "ExpressibleByExtendedGraphemeClusterLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "ExtendedGraphemeClusterLiteralType", + "printedName": "ExtendedGraphemeClusterLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s43ExpressibleByExtendedGraphemeClusterLiteralP", + "mangledName": "$ss43ExpressibleByExtendedGraphemeClusterLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByUnicodeScalarLiteral", + "printedName": "ExpressibleByUnicodeScalarLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "UnicodeScalarLiteralType", + "printedName": "UnicodeScalarLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s33ExpressibleByUnicodeScalarLiteralP", + "mangledName": "$ss33ExpressibleByUnicodeScalarLiteralP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "DittoAuthenticationStatus", + "printedName": "DittoAuthenticationStatus", + "children": [ + { + "kind": "Var", + "name": "isAuthenticated", + "printedName": "isAuthenticated", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A20AuthenticationStatusV15isAuthenticatedSbvp", + "mangledName": "$s10DittoSwift0A20AuthenticationStatusV15isAuthenticatedSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A20AuthenticationStatusV15isAuthenticatedSbvg", + "mangledName": "$s10DittoSwift0A20AuthenticationStatusV15isAuthenticatedSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A20AuthenticationStatusV15isAuthenticatedSbvs", + "mangledName": "$s10DittoSwift0A20AuthenticationStatusV15isAuthenticatedSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A20AuthenticationStatusV15isAuthenticatedSbvM", + "mangledName": "$s10DittoSwift0A20AuthenticationStatusV15isAuthenticatedSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "userID", + "printedName": "userID", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A20AuthenticationStatusV6userIDSSSgvp", + "mangledName": "$s10DittoSwift0A20AuthenticationStatusV6userIDSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A20AuthenticationStatusV6userIDSSSgvg", + "mangledName": "$s10DittoSwift0A20AuthenticationStatusV6userIDSSSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A20AuthenticationStatusV6userIDSSSgvs", + "mangledName": "$s10DittoSwift0A20AuthenticationStatusV6userIDSSSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A20AuthenticationStatusV6userIDSSSgvM", + "mangledName": "$s10DittoSwift0A20AuthenticationStatusV6userIDSSSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoAuthenticationStatus", + "printedName": "DittoSwift.DittoAuthenticationStatus", + "usr": "s:10DittoSwift0A20AuthenticationStatusV" + }, + { + "kind": "TypeNominal", + "name": "DittoAuthenticationStatus", + "printedName": "DittoSwift.DittoAuthenticationStatus", + "usr": "s:10DittoSwift0A20AuthenticationStatusV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A20AuthenticationStatusV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A20AuthenticationStatusV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A20AuthenticationStatusV", + "mangledName": "$s10DittoSwift0A20AuthenticationStatusV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoPresenceGraph", + "printedName": "DittoPresenceGraph", + "children": [ + { + "kind": "Var", + "name": "localPeer", + "printedName": "localPeer", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13PresenceGraphV9localPeerAA0aF0Vvp", + "mangledName": "$s10DittoSwift0A13PresenceGraphV9localPeerAA0aF0Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13PresenceGraphV9localPeerAA0aF0Vvg", + "mangledName": "$s10DittoSwift0A13PresenceGraphV9localPeerAA0aF0Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13PresenceGraphV9localPeerAA0aF0Vvs", + "mangledName": "$s10DittoSwift0A13PresenceGraphV9localPeerAA0aF0Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13PresenceGraphV9localPeerAA0aF0VvM", + "mangledName": "$s10DittoSwift0A13PresenceGraphV9localPeerAA0aF0VvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "remotePeers", + "printedName": "remotePeers", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoPeer]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13PresenceGraphV11remotePeersSayAA0A4PeerVGvp", + "mangledName": "$s10DittoSwift0A13PresenceGraphV11remotePeersSayAA0A4PeerVGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoPeer]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13PresenceGraphV11remotePeersSayAA0A4PeerVGvg", + "mangledName": "$s10DittoSwift0A13PresenceGraphV11remotePeersSayAA0A4PeerVGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoPeer]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13PresenceGraphV11remotePeersSayAA0A4PeerVGvs", + "mangledName": "$s10DittoSwift0A13PresenceGraphV11remotePeersSayAA0A4PeerVGvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13PresenceGraphV11remotePeersSayAA0A4PeerVGvM", + "mangledName": "$s10DittoSwift0A13PresenceGraphV11remotePeersSayAA0A4PeerVGvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(localPeer:remotePeers:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPresenceGraph", + "printedName": "DittoSwift.DittoPresenceGraph", + "usr": "s:10DittoSwift0A13PresenceGraphV" + }, + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoPeer]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A13PresenceGraphV9localPeer11remotePeersAcA0aF0V_SayAGGtcfc", + "mangledName": "$s10DittoSwift0A13PresenceGraphV9localPeer11remotePeersAcA0aF0V_SayAGGtcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "allConnectionsByID", + "printedName": "allConnectionsByID()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : DittoSwift.DittoConnection]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13PresenceGraphV18allConnectionsByIDSDySSAA0A10ConnectionVGyF", + "mangledName": "$s10DittoSwift0A13PresenceGraphV18allConnectionsByIDSDySSAA0A10ConnectionVGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoPresenceGraph", + "printedName": "DittoSwift.DittoPresenceGraph", + "usr": "s:10DittoSwift0A13PresenceGraphV" + }, + { + "kind": "TypeNominal", + "name": "DittoPresenceGraph", + "printedName": "DittoSwift.DittoPresenceGraph", + "usr": "s:10DittoSwift0A13PresenceGraphV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13PresenceGraphV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A13PresenceGraphV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13PresenceGraphV9hashValueSivp", + "mangledName": "$s10DittoSwift0A13PresenceGraphV9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13PresenceGraphV9hashValueSivg", + "mangledName": "$s10DittoSwift0A13PresenceGraphV9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13PresenceGraphV4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A13PresenceGraphV4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPresenceGraph", + "printedName": "DittoSwift.DittoPresenceGraph", + "usr": "s:10DittoSwift0A13PresenceGraphV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A13PresenceGraphV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A13PresenceGraphV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13PresenceGraphV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A13PresenceGraphV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A13PresenceGraphV", + "mangledName": "$s10DittoSwift0A13PresenceGraphV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + } + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoTypedDocument", + "printedName": "DittoTypedDocument", + "children": [ + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13TypedDocumentC2idAA0aD2IDVvp", + "mangledName": "$s10DittoSwift0A13TypedDocumentC2idAA0aD2IDVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13TypedDocumentC2idAA0aD2IDVvg", + "mangledName": "$s10DittoSwift0A13TypedDocumentC2idAA0aD2IDVvg", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Swift.Decodable>", + "sugared_genericSig": "", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13TypedDocumentC5valuexvp", + "mangledName": "$s10DittoSwift0A13TypedDocumentC5valuexvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13TypedDocumentC5valuexvg", + "mangledName": "$s10DittoSwift0A13TypedDocumentC5valuexvg", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Swift.Decodable>", + "sugared_genericSig": "", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A13TypedDocumentC", + "mangledName": "$s10DittoSwift0A13TypedDocumentC", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Swift.Decodable>", + "sugared_genericSig": "", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoSortDirection", + "printedName": "DittoSortDirection", + "children": [ + { + "kind": "Var", + "name": "ascending", + "printedName": "ascending", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSortDirection.Type) -> DittoSwift.DittoSortDirection", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSortDirection", + "printedName": "DittoSwift.DittoSortDirection", + "usr": "s:10DittoSwift0A13SortDirectionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSortDirection.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSortDirection", + "printedName": "DittoSwift.DittoSortDirection", + "usr": "s:10DittoSwift0A13SortDirectionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A13SortDirectionO9ascendingyA2CmF", + "mangledName": "$s10DittoSwift0A13SortDirectionO9ascendingyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "descending", + "printedName": "descending", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSortDirection.Type) -> DittoSwift.DittoSortDirection", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSortDirection", + "printedName": "DittoSwift.DittoSortDirection", + "usr": "s:10DittoSwift0A13SortDirectionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSortDirection.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSortDirection", + "printedName": "DittoSwift.DittoSortDirection", + "usr": "s:10DittoSwift0A13SortDirectionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A13SortDirectionO10descendingyA2CmF", + "mangledName": "$s10DittoSwift0A13SortDirectionO10descendingyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoSortDirection", + "printedName": "DittoSwift.DittoSortDirection", + "usr": "s:10DittoSwift0A13SortDirectionO" + }, + { + "kind": "TypeNominal", + "name": "DittoSortDirection", + "printedName": "DittoSwift.DittoSortDirection", + "usr": "s:10DittoSwift0A13SortDirectionO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13SortDirectionO2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A13SortDirectionO2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13SortDirectionO9hashValueSivp", + "mangledName": "$s10DittoSwift0A13SortDirectionO9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13SortDirectionO9hashValueSivg", + "mangledName": "$s10DittoSwift0A13SortDirectionO9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13SortDirectionO4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A13SortDirectionO4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A13SortDirectionO", + "mangledName": "$s10DittoSwift0A13SortDirectionO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoQueryResultItem", + "printedName": "DittoQueryResultItem", + "children": [ + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15QueryResultItemC5valueSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A15QueryResultItemC5valueSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15QueryResultItemC5valueSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A15QueryResultItemC5valueSDySSypSgGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "isMaterialized", + "printedName": "isMaterialized", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15QueryResultItemC14isMaterializedSbvp", + "mangledName": "$s10DittoSwift0A15QueryResultItemC14isMaterializedSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15QueryResultItemC14isMaterializedSbvg", + "mangledName": "$s10DittoSwift0A15QueryResultItemC14isMaterializedSbvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "materialize", + "printedName": "materialize()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15QueryResultItemC11materializeyyF", + "mangledName": "$s10DittoSwift0A15QueryResultItemC11materializeyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "dematerialize", + "printedName": "dematerialize()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15QueryResultItemC13dematerializeyyF", + "mangledName": "$s10DittoSwift0A15QueryResultItemC13dematerializeyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "cborData", + "printedName": "cborData()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15QueryResultItemC8cborData10Foundation0G0VyF", + "mangledName": "$s10DittoSwift0A15QueryResultItemC8cborData10Foundation0G0VyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "jsonData", + "printedName": "jsonData()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15QueryResultItemC8jsonData10Foundation0G0VyF", + "mangledName": "$s10DittoSwift0A15QueryResultItemC8jsonData10Foundation0G0VyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "jsonString", + "printedName": "jsonString()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15QueryResultItemC10jsonStringSSyF", + "mangledName": "$s10DittoSwift0A15QueryResultItemC10jsonStringSSyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A15QueryResultItemC", + "mangledName": "$s10DittoSwift0A15QueryResultItemC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoTransaction", + "printedName": "DittoTransaction", + "children": [ + { + "kind": "Var", + "name": "info", + "printedName": "info", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransactionInfo", + "printedName": "DittoSwift.DittoTransactionInfo", + "usr": "s:10DittoSwift0A15TransactionInfoV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A11TransactionC4infoAA0aC4InfoVvp", + "mangledName": "$s10DittoSwift0A11TransactionC4infoAA0aC4InfoVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransactionInfo", + "printedName": "DittoSwift.DittoTransactionInfo", + "usr": "s:10DittoSwift0A15TransactionInfoV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A11TransactionC4infoAA0aC4InfoVvg", + "mangledName": "$s10DittoSwift0A11TransactionC4infoAA0aC4InfoVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "store", + "printedName": "store", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoStore", + "printedName": "DittoSwift.DittoStore", + "usr": "s:10DittoSwift0A5StoreC" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A11TransactionC5storeAA0A5StoreCvp", + "mangledName": "$s10DittoSwift0A11TransactionC5storeAA0A5StoreCvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoStore", + "printedName": "DittoSwift.DittoStore", + "usr": "s:10DittoSwift0A5StoreC" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A11TransactionC5storeAA0A5StoreCvg", + "mangledName": "$s10DittoSwift0A11TransactionC5storeAA0A5StoreCvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "execute", + "printedName": "execute(query:arguments:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoQueryResult", + "printedName": "DittoSwift.DittoQueryResult", + "usr": "s:10DittoSwift0A11QueryResultC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A11TransactionC7execute5query9argumentsAA0A11QueryResultCSS_SDySSypSgGtYaKF", + "mangledName": "$s10DittoSwift0A11TransactionC7execute5query9argumentsAA0A11QueryResultCSS_SDySSypSgGtYaKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A11TransactionC", + "mangledName": "$s10DittoSwift0A11TransactionC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "DittoQueryExecuting", + "printedName": "DittoQueryExecuting", + "usr": "s:10DittoSwift0A14QueryExecutingP", + "mangledName": "$s10DittoSwift0A14QueryExecutingP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoPendingCollectionsOperation", + "printedName": "DittoPendingCollectionsOperation", + "children": [ + { + "kind": "Function", + "name": "limit", + "printedName": "limit(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DynamicSelf", + "printedName": "Self" + }, + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A27PendingCollectionsOperationC5limityACXDs5Int32VF", + "mangledName": "$s10DittoSwift0A27PendingCollectionsOperationC5limityACXDs5Int32VF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "sort", + "printedName": "sort(_:direction:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DynamicSelf", + "printedName": "Self" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "DittoSortDirection", + "printedName": "DittoSwift.DittoSortDirection", + "usr": "s:10DittoSwift0A13SortDirectionO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A27PendingCollectionsOperationC4sort_9directionACXDSS_AA0A13SortDirectionOtF", + "mangledName": "$s10DittoSwift0A27PendingCollectionsOperationC4sort_9directionACXDSS_AA0A13SortDirectionOtF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "offset", + "printedName": "offset(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DynamicSelf", + "printedName": "Self" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A27PendingCollectionsOperationC6offsetyACXDs6UInt32VF", + "mangledName": "$s10DittoSwift0A27PendingCollectionsOperationC6offsetyACXDs6UInt32VF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "subscribe", + "printedName": "subscribe()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSubscription", + "printedName": "DittoSwift.DittoSubscription", + "usr": "s:10DittoSwift0A12SubscriptionC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A27PendingCollectionsOperationC9subscribeAA0A12SubscriptionCyF", + "mangledName": "$s10DittoSwift0A27PendingCollectionsOperationC9subscribeAA0A12SubscriptionCyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "exec", + "printedName": "exec()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoCollection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCollection", + "printedName": "DittoSwift.DittoCollection", + "usr": "s:10DittoSwift0A10CollectionC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A27PendingCollectionsOperationC4execSayAA0A10CollectionCGyF", + "mangledName": "$s10DittoSwift0A27PendingCollectionsOperationC4execSayAA0A10CollectionCGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "observeLocal", + "printedName": "observeLocal(deliverOn:eventHandler:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQuery", + "printedName": "DittoSwift.DittoLiveQuery", + "usr": "s:10DittoSwift0A9LiveQueryC" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoCollectionsEvent) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoCollectionsEvent", + "printedName": "DittoSwift.DittoCollectionsEvent", + "usr": "s:10DittoSwift0A16CollectionsEventV" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A27PendingCollectionsOperationC12observeLocal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_yAA0aD5EventVctF", + "mangledName": "$s10DittoSwift0A27PendingCollectionsOperationC12observeLocal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_yAA0aD5EventVctF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "observeLocalWithNextSignal", + "printedName": "observeLocalWithNextSignal(deliverOn:eventHandler:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQuery", + "printedName": "DittoSwift.DittoLiveQuery", + "usr": "s:10DittoSwift0A9LiveQueryC" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoCollectionsEvent, @escaping () -> ()) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DittoSwift.DittoCollectionsEvent, () -> ())", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCollectionsEvent", + "printedName": "DittoSwift.DittoCollectionsEvent", + "usr": "s:10DittoSwift0A16CollectionsEventV" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "() -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ] + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A27PendingCollectionsOperationC26observeLocalWithNextSignal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_yAA0aD5EventV_yyctctF", + "mangledName": "$s10DittoSwift0A27PendingCollectionsOperationC26observeLocalWithNextSignal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_yAA0aD5EventV_yyctctF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A27PendingCollectionsOperationC", + "mangledName": "$s10DittoSwift0A27PendingCollectionsOperationC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoConnectionRequest", + "printedName": "DittoConnectionRequest", + "children": [ + { + "kind": "Var", + "name": "peerKeyString", + "printedName": "peerKeyString", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17ConnectionRequestC13peerKeyStringSSvp", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC13peerKeyStringSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17ConnectionRequestC13peerKeyStringSSvg", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC13peerKeyStringSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "peerMetadata", + "printedName": "peerMetadata", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17ConnectionRequestC12peerMetadataSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC12peerMetadataSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17ConnectionRequestC12peerMetadataSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC12peerMetadataSDySSypSgGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "peerMetadataJSONData", + "printedName": "peerMetadataJSONData", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17ConnectionRequestC20peerMetadataJSONData10Foundation4DataVvp", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC20peerMetadataJSONData10Foundation4DataVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17ConnectionRequestC20peerMetadataJSONData10Foundation4DataVvg", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC20peerMetadataJSONData10Foundation4DataVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "identityServiceMetadata", + "printedName": "identityServiceMetadata", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17ConnectionRequestC23identityServiceMetadataSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC23identityServiceMetadataSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17ConnectionRequestC23identityServiceMetadataSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC23identityServiceMetadataSDySSypSgGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "identityServiceMetadataJSONData", + "printedName": "identityServiceMetadataJSONData", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17ConnectionRequestC31identityServiceMetadataJSONData10Foundation4DataVvp", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC31identityServiceMetadataJSONData10Foundation4DataVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17ConnectionRequestC31identityServiceMetadataJSONData10Foundation4DataVvg", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC31identityServiceMetadataJSONData10Foundation4DataVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "connectionType", + "printedName": "connectionType", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17ConnectionRequestC14connectionTypeAA0acF0Ovp", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC14connectionTypeAA0acF0Ovp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17ConnectionRequestC14connectionTypeAA0acF0Ovg", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC14connectionTypeAA0acF0Ovg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17ConnectionRequestC11descriptionSSvp", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC11descriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17ConnectionRequestC11descriptionSSvg", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC11descriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A17ConnectionRequestC", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + } + ] + }, + { + "kind": "Import", + "name": "Combine", + "printedName": "Combine", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "DittoAddress", + "printedName": "DittoAddress", + "children": [ + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + }, + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A7AddressV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A7AddressV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A7AddressV9hashValueSivp", + "mangledName": "$s10DittoSwift0A7AddressV9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7AddressV9hashValueSivg", + "mangledName": "$s10DittoSwift0A7AddressV9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A7AddressV4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A7AddressV4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A7AddressV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A7AddressV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A7AddressV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A7AddressV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A7AddressV", + "mangledName": "$s10DittoSwift0A7AddressV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoPendingCursorOperation", + "printedName": "DittoPendingCursorOperation", + "children": [ + { + "kind": "Function", + "name": "limit", + "printedName": "limit(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DynamicSelf", + "printedName": "Self" + }, + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC5limityACXDs5Int32VF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC5limityACXDs5Int32VF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "sort", + "printedName": "sort(_:direction:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DynamicSelf", + "printedName": "Self" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "DittoSortDirection", + "printedName": "DittoSwift.DittoSortDirection", + "usr": "s:10DittoSwift0A13SortDirectionO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC4sort_9directionACXDSS_AA0A13SortDirectionOtF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC4sort_9directionACXDSS_AA0A13SortDirectionOtF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "offset", + "printedName": "offset(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DynamicSelf", + "printedName": "Self" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC6offsetyACXDs6UInt32VF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC6offsetyACXDs6UInt32VF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "subscribe", + "printedName": "subscribe()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSubscription", + "printedName": "DittoSwift.DittoSubscription", + "usr": "s:10DittoSwift0A12SubscriptionC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC9subscribeAA0A12SubscriptionCyF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC9subscribeAA0A12SubscriptionCyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "remove", + "printedName": "remove()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocumentID]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC6removeSayAA0A10DocumentIDVGyF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC6removeSayAA0A10DocumentIDVGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "evict", + "printedName": "evict()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocumentID]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC5evictSayAA0A10DocumentIDVGyF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC5evictSayAA0A10DocumentIDVGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "exec", + "printedName": "exec()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC4execSayAA0A8DocumentCGyF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC4execSayAA0A8DocumentCGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "observeLocal", + "printedName": "observeLocal(deliverOn:eventHandler:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQuery", + "printedName": "DittoSwift.DittoLiveQuery", + "usr": "s:10DittoSwift0A9LiveQueryC" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "([DittoSwift.DittoDocument], DittoSwift.DittoLiveQueryEvent) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "([DittoSwift.DittoDocument], DittoSwift.DittoLiveQueryEvent)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "DittoLiveQueryEvent", + "printedName": "DittoSwift.DittoLiveQueryEvent", + "usr": "s:10DittoSwift0A14LiveQueryEventO" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC12observeLocal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_ySayAA0A8DocumentCG_AA0alM5EventOtctF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC12observeLocal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_ySayAA0A8DocumentCG_AA0alM5EventOtctF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "observeLocalWithNextSignal", + "printedName": "observeLocalWithNextSignal(deliverOn:eventHandler:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQuery", + "printedName": "DittoSwift.DittoLiveQuery", + "usr": "s:10DittoSwift0A9LiveQueryC" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "([DittoSwift.DittoDocument], DittoSwift.DittoLiveQueryEvent, @escaping () -> ()) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "([DittoSwift.DittoDocument], DittoSwift.DittoLiveQueryEvent, () -> ())", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "DittoLiveQueryEvent", + "printedName": "DittoSwift.DittoLiveQueryEvent", + "usr": "s:10DittoSwift0A14LiveQueryEventO" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "() -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ] + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC26observeLocalWithNextSignal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_ySayAA0A8DocumentCG_AA0aoP5EventOyyctctF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC26observeLocalWithNextSignal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_ySayAA0A8DocumentCG_AA0aoP5EventOyyctctF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "update", + "printedName": "update(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DittoSwift.DittoDocumentID : [DittoSwift.DittoUpdateResult]]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoUpdateResult]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoUpdateResult", + "printedName": "DittoSwift.DittoUpdateResult", + "usr": "s:10DittoSwift0A12UpdateResultO" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:SD" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "([DittoSwift.DittoMutableDocument]) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoMutableDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocument", + "printedName": "DittoSwift.DittoMutableDocument", + "usr": "s:10DittoSwift0A15MutableDocumentC" + } + ], + "usr": "s:Sa" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC6updateySDyAA0A10DocumentIDVSayAA0A12UpdateResultOGGySayAA0a7MutableG0CGcF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC6updateySDyAA0A10DocumentIDVSayAA0A12UpdateResultOGGySayAA0a7MutableG0CGcF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "LiveQueryPublisher", + "printedName": "LiveQueryPublisher", + "children": [ + { + "kind": "Function", + "name": "receive", + "printedName": "receive(subscriber:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC18LiveQueryPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzSayAA0A8DocumentCG9documents_AA0afG5EventO5eventt5InputRtzlF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC18LiveQueryPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzSayAA0A8DocumentCG9documents_AA0afG5EventO5eventt5InputRtzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Combine.Subscriber, ฯ„_0_0.Failure == Swift.Never, ฯ„_0_0.Input == (documents: [DittoSwift.DittoDocument], event: DittoSwift.DittoLiveQueryEvent)>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A22PendingCursorOperationC18LiveQueryPublisherV", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC18LiveQueryPublisherV", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Publisher", + "printedName": "Publisher", + "children": [ + { + "kind": "TypeWitness", + "name": "Output", + "printedName": "Output", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(documents: [DittoSwift.DittoDocument], event: DittoSwift.DittoLiveQueryEvent)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "DittoLiveQueryEvent", + "printedName": "DittoSwift.DittoLiveQueryEvent", + "usr": "s:10DittoSwift0A14LiveQueryEventO" + } + ] + } + ] + }, + { + "kind": "TypeWitness", + "name": "Failure", + "printedName": "Failure", + "children": [ + { + "kind": "TypeNominal", + "name": "Never", + "printedName": "Swift.Never", + "usr": "s:s5NeverO" + } + ] + } + ], + "usr": "s:7Combine9PublisherP", + "mangledName": "$s7Combine9PublisherP" + } + ] + }, + { + "kind": "Function", + "name": "liveQueryPublisher", + "printedName": "liveQueryPublisher()", + "children": [ + { + "kind": "TypeNominal", + "name": "LiveQueryPublisher", + "printedName": "DittoSwift.DittoPendingCursorOperation.LiveQueryPublisher", + "usr": "s:10DittoSwift0A22PendingCursorOperationC18LiveQueryPublisherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC18liveQueryPublisherAC04LivegH0VyF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC18liveQueryPublisherAC04LivegH0VyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A22PendingCursorOperationC", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoMutableDocument", + "printedName": "DittoMutableDocument", + "children": [ + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableDocumentC2idAA0aD2IDVvp", + "mangledName": "$s10DittoSwift0A15MutableDocumentC2idAA0aD2IDVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableDocumentC2idAA0aD2IDVvg", + "mangledName": "$s10DittoSwift0A15MutableDocumentC2idAA0aD2IDVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableDocumentC5valueSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A15MutableDocumentC5valueSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableDocumentC5valueSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A15MutableDocumentC5valueSDySSypSgGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "typed", + "printedName": "typed(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTypedDocument", + "printedName": "DittoSwift.DittoTypedDocument<ฯ„_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "usr": "s:10DittoSwift0A13TypedDocumentC" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "ฯ„_0_0.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15MutableDocumentC5typedyAA0a5TypedD0CyxGxmKSeRzSERzlF", + "mangledName": "$s10DittoSwift0A15MutableDocumentC5typedyAA0a5TypedD0CyxGxmKSeRzSERzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Swift.Decodable, ฯ„_0_0 : Swift.Encodable>", + "sugared_genericSig": "", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A15MutableDocumentCyAA0acD4PathCSScip", + "mangledName": "$s10DittoSwift0A15MutableDocumentCyAA0acD4PathCSScip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableDocumentCyAA0acD4PathCSScig", + "mangledName": "$s10DittoSwift0A15MutableDocumentCyAA0acD4PathCSScig", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableDocumentCyAA0acD4PathCSScis", + "mangledName": "$s10DittoSwift0A15MutableDocumentCyAA0acD4PathCSScis", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableDocumentCyAA0acD4PathCSSciM", + "mangledName": "$s10DittoSwift0A15MutableDocumentCyAA0acD4PathCSSciM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A15MutableDocumentC", + "mangledName": "$s10DittoSwift0A15MutableDocumentC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoConnectionRequestAuthorization", + "printedName": "DittoConnectionRequestAuthorization", + "children": [ + { + "kind": "Var", + "name": "allow", + "printedName": "allow", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionRequestAuthorization.Type) -> DittoSwift.DittoConnectionRequestAuthorization", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionRequestAuthorization", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionRequestAuthorization", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO5allowyA2CmF", + "mangledName": "$s10DittoSwift0A30ConnectionRequestAuthorizationO5allowyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "deny", + "printedName": "deny", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionRequestAuthorization.Type) -> DittoSwift.DittoConnectionRequestAuthorization", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionRequestAuthorization", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionRequestAuthorization", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO4denyyA2CmF", + "mangledName": "$s10DittoSwift0A30ConnectionRequestAuthorizationO4denyyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO9hashValueSivp", + "mangledName": "$s10DittoSwift0A30ConnectionRequestAuthorizationO9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO9hashValueSivg", + "mangledName": "$s10DittoSwift0A30ConnectionRequestAuthorizationO9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A30ConnectionRequestAuthorizationO4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoConnectionRequestAuthorization", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO" + }, + { + "kind": "TypeNominal", + "name": "DittoConnectionRequestAuthorization", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A30ConnectionRequestAuthorizationO2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO", + "mangledName": "$s10DittoSwift0A30ConnectionRequestAuthorizationO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoIdentity", + "printedName": "DittoIdentity", + "children": [ + { + "kind": "Var", + "name": "offlinePlayground", + "printedName": "offlinePlayground", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoIdentity.Type) -> (Swift.String?, Swift.UInt64?) -> DittoSwift.DittoIdentity", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String?, Swift.UInt64?) -> DittoSwift.DittoIdentity", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "usr": "s:10DittoSwift0A8IdentityO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(appID: Swift.String?, siteID: Swift.UInt64?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt64?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "usr": "s:Sq" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoIdentity.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "usr": "s:10DittoSwift0A8IdentityO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A8IdentityO17offlinePlaygroundyACSSSg_s6UInt64VSgtcACmF", + "mangledName": "$s10DittoSwift0A8IdentityO17offlinePlaygroundyACSSSg_s6UInt64VSgtcACmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "onlineWithAuthentication", + "printedName": "onlineWithAuthentication", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoIdentity.Type) -> (Swift.String, any DittoSwift.DittoAuthenticationDelegate, Swift.Bool, Foundation.URL?) -> DittoSwift.DittoIdentity", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String, any DittoSwift.DittoAuthenticationDelegate, Swift.Bool, Foundation.URL?) -> DittoSwift.DittoIdentity", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "usr": "s:10DittoSwift0A8IdentityO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(appID: Swift.String, authenticationDelegate: any DittoSwift.DittoAuthenticationDelegate, enableDittoCloudSync: Swift.Bool, customAuthURL: Foundation.URL?)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "DittoAuthenticationDelegate", + "printedName": "any DittoSwift.DittoAuthenticationDelegate", + "usr": "s:10DittoSwift0A22AuthenticationDelegateP" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.URL?", + "children": [ + { + "kind": "TypeNominal", + "name": "URL", + "printedName": "Foundation.URL", + "usr": "s:10Foundation3URLV" + } + ], + "usr": "s:Sq" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoIdentity.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "usr": "s:10DittoSwift0A8IdentityO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A8IdentityO24onlineWithAuthenticationyACSS_AA0aF8Delegate_pSb10Foundation3URLVSgtcACmF", + "mangledName": "$s10DittoSwift0A8IdentityO24onlineWithAuthenticationyACSS_AA0aF8Delegate_pSb10Foundation3URLVSgtcACmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "onlinePlayground", + "printedName": "onlinePlayground", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoIdentity.Type) -> (Swift.String, Swift.String, Swift.Bool, Foundation.URL?) -> DittoSwift.DittoIdentity", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String, Swift.String, Swift.Bool, Foundation.URL?) -> DittoSwift.DittoIdentity", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "usr": "s:10DittoSwift0A8IdentityO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(appID: Swift.String, token: Swift.String, enableDittoCloudSync: Swift.Bool, customAuthURL: Foundation.URL?)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.URL?", + "children": [ + { + "kind": "TypeNominal", + "name": "URL", + "printedName": "Foundation.URL", + "usr": "s:10Foundation3URLV" + } + ], + "usr": "s:Sq" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoIdentity.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "usr": "s:10DittoSwift0A8IdentityO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A8IdentityO16onlinePlaygroundyACSS_SSSb10Foundation3URLVSgtcACmF", + "mangledName": "$s10DittoSwift0A8IdentityO16onlinePlaygroundyACSS_SSSb10Foundation3URLVSgtcACmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "sharedKey", + "printedName": "sharedKey", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoIdentity.Type) -> (Swift.String, Swift.String, Swift.UInt64?) -> DittoSwift.DittoIdentity", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String, Swift.String, Swift.UInt64?) -> DittoSwift.DittoIdentity", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "usr": "s:10DittoSwift0A8IdentityO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(appID: Swift.String, sharedKey: Swift.String, siteID: Swift.UInt64?)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt64?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "usr": "s:Sq" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoIdentity.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "usr": "s:10DittoSwift0A8IdentityO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A8IdentityO9sharedKeyyACSS_SSs6UInt64VSgtcACmF", + "mangledName": "$s10DittoSwift0A8IdentityO9sharedKeyyACSS_SSs6UInt64VSgtcACmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "manual", + "printedName": "manual", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoIdentity.Type) -> (Swift.String) -> DittoSwift.DittoIdentity", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoIdentity", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "usr": "s:10DittoSwift0A8IdentityO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(certificateConfig: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoIdentity.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "usr": "s:10DittoSwift0A8IdentityO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A8IdentityO6manualyACSS_tcACmF", + "mangledName": "$s10DittoSwift0A8IdentityO6manualyACSS_tcACmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A8IdentityO", + "mangledName": "$s10DittoSwift0A8IdentityO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Combine", + "printedName": "Combine", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoQueryExecuting", + "printedName": "DittoQueryExecuting", + "children": [ + { + "kind": "Function", + "name": "execute", + "printedName": "execute(query:arguments:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoQueryResult", + "printedName": "DittoSwift.DittoQueryResult", + "usr": "s:10DittoSwift0A11QueryResultC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A14QueryExecutingP7execute5query9argumentsAA0aC6ResultCSS_SDySSypSgGtYaKF", + "mangledName": "$s10DittoSwift0A14QueryExecutingP7execute5query9argumentsAA0aC6ResultCSS_SDySSypSgGtYaKF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoQueryExecuting>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "execute", + "printedName": "execute(query:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoQueryResult", + "printedName": "DittoSwift.DittoQueryResult", + "usr": "s:10DittoSwift0A11QueryResultC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A14QueryExecutingPAAE7execute5queryAA0aC6ResultCSS_tYaKF", + "mangledName": "$s10DittoSwift0A14QueryExecutingPAAE7execute5queryAA0aC6ResultCSS_tYaKF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoQueryExecuting>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Protocol", + "usr": "s:10DittoSwift0A14QueryExecutingP", + "mangledName": "$s10DittoSwift0A14QueryExecutingP", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoStore", + "printedName": "DittoStore", + "children": [ + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCollection", + "printedName": "DittoSwift.DittoCollection", + "usr": "s:10DittoSwift0A10CollectionC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A5StoreCyAA0A10CollectionCSScip", + "mangledName": "$s10DittoSwift0A5StoreCyAA0A10CollectionCSScip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCollection", + "printedName": "DittoSwift.DittoCollection", + "usr": "s:10DittoSwift0A10CollectionC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreCyAA0A10CollectionCSScig", + "mangledName": "$s10DittoSwift0A5StoreCyAA0A10CollectionCSScig", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "collection", + "printedName": "collection(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCollection", + "printedName": "DittoSwift.DittoCollection", + "usr": "s:10DittoSwift0A10CollectionC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC10collectionyAA0A10CollectionCSSF", + "mangledName": "$s10DittoSwift0A5StoreC10collectionyAA0A10CollectionCSSF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collectionNames", + "printedName": "collectionNames()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC15collectionNamesSaySSGyF", + "mangledName": "$s10DittoSwift0A5StoreC15collectionNamesSaySSGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collections", + "printedName": "collections()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPendingCollectionsOperation", + "printedName": "DittoSwift.DittoPendingCollectionsOperation", + "usr": "s:10DittoSwift0A27PendingCollectionsOperationC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC11collectionsAA0A27PendingCollectionsOperationCyF", + "mangledName": "$s10DittoSwift0A5StoreC11collectionsAA0A27PendingCollectionsOperationCyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "queriesHash", + "printedName": "queriesHash(queries:)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoLiveQuery]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQuery", + "printedName": "DittoSwift.DittoLiveQuery", + "usr": "s:10DittoSwift0A9LiveQueryC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC11queriesHash0D0SuSayAA0A9LiveQueryCG_tF", + "mangledName": "$s10DittoSwift0A5StoreC11queriesHash0D0SuSayAA0A9LiveQueryCG_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "queriesHashMnemonic", + "printedName": "queriesHashMnemonic(queries:)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoLiveQuery]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQuery", + "printedName": "DittoSwift.DittoLiveQuery", + "usr": "s:10DittoSwift0A9LiveQueryC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC19queriesHashMnemonic0D0SSSayAA0A9LiveQueryCG_tF", + "mangledName": "$s10DittoSwift0A5StoreC19queriesHashMnemonic0D0SSSayAA0A9LiveQueryCG_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "write", + "printedName": "write(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoWriteTransactionResult]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionResult", + "printedName": "DittoSwift.DittoWriteTransactionResult", + "usr": "s:10DittoSwift0A22WriteTransactionResultO" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoWriteTransaction) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoWriteTransaction", + "printedName": "DittoSwift.DittoWriteTransaction", + "usr": "s:10DittoSwift0A16WriteTransactionC" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC5writeySayAA0A22WriteTransactionResultOGyAA0aeF0CcF", + "mangledName": "$s10DittoSwift0A5StoreC5writeySayAA0A22WriteTransactionResultOGyAA0aeF0CcF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "observers", + "printedName": "observers", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoStoreObserver", + "printedName": "DittoSwift.DittoStoreObserver", + "usr": "s:10DittoSwift0A13StoreObserverC" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A5StoreC9observersShyAA0aC8ObserverCGvp", + "mangledName": "$s10DittoSwift0A5StoreC9observersShyAA0aC8ObserverCGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoStoreObserver", + "printedName": "DittoSwift.DittoStoreObserver", + "usr": "s:10DittoSwift0A13StoreObserverC" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC9observersShyAA0aC8ObserverCGvg", + "mangledName": "$s10DittoSwift0A5StoreC9observersShyAA0aC8ObserverCGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "registerObserver", + "printedName": "registerObserver(query:arguments:deliverOn:handler:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoStoreObserver", + "printedName": "DittoSwift.DittoStoreObserver", + "usr": "s:10DittoSwift0A13StoreObserverC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoQueryResult) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoQueryResult", + "printedName": "DittoSwift.DittoQueryResult", + "usr": "s:10DittoSwift0A11QueryResultC" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC16registerObserver5query9arguments9deliverOn7handlerAA0acE0CSS_SDySSypSgGSgSo17OS_dispatch_queueCyAA0A11QueryResultCctKF", + "mangledName": "$s10DittoSwift0A5StoreC16registerObserver5query9arguments9deliverOn7handlerAA0acE0CSS_SDySSypSgGSgSo17OS_dispatch_queueCyAA0A11QueryResultCctKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "registerObserver", + "printedName": "registerObserver(query:arguments:deliverOn:handlerWithSignalNext:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoStoreObserver", + "printedName": "DittoSwift.DittoStoreObserver", + "usr": "s:10DittoSwift0A13StoreObserverC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoQueryResult, @escaping () -> ()) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DittoSwift.DittoQueryResult, () -> ())", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoQueryResult", + "printedName": "DittoSwift.DittoQueryResult", + "usr": "s:10DittoSwift0A11QueryResultC" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "() -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ] + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC16registerObserver5query9arguments9deliverOn21handlerWithSignalNextAA0acE0CSS_SDySSypSgGSgSo17OS_dispatch_queueCyAA0A11QueryResultC_yyctctKF", + "mangledName": "$s10DittoSwift0A5StoreC16registerObserver5query9arguments9deliverOn21handlerWithSignalNextAA0acE0CSS_SDySSypSgGSgSo17OS_dispatch_queueCyAA0A11QueryResultC_yyctctKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "transaction", + "printedName": "transaction(hint:isReadOnly:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransactionCompletionAction", + "printedName": "DittoSwift.DittoTransactionCompletionAction", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransaction) async throws -> DittoSwift.DittoTransactionCompletionAction", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransactionCompletionAction", + "printedName": "DittoSwift.DittoTransactionCompletionAction", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO" + }, + { + "kind": "TypeNominal", + "name": "DittoTransaction", + "printedName": "DittoSwift.DittoTransaction", + "usr": "s:10DittoSwift0A11TransactionC" + } + ], + "typeAttributes": [ + "noescape" + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC11transaction4hint10isReadOnly4withAA0A27TransactionCompletionActionOSSSg_SbAiA0aJ0CYaKXEtYaKF", + "mangledName": "$s10DittoSwift0A5StoreC11transaction4hint10isReadOnly4withAA0A27TransactionCompletionActionOSSSg_SbAiA0aJ0CYaKXEtYaKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "transaction", + "printedName": "transaction(hint:isReadOnly:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransaction) async throws -> ฯ„_0_0", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + }, + { + "kind": "TypeNominal", + "name": "DittoTransaction", + "printedName": "DittoSwift.DittoTransaction", + "usr": "s:10DittoSwift0A11TransactionC" + } + ], + "typeAttributes": [ + "noescape" + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC11transaction4hint10isReadOnly4withxSSSg_SbxAA0A11TransactionCYaKXEtYaKlF", + "mangledName": "$s10DittoSwift0A5StoreC11transaction4hint10isReadOnly4withxSSSg_SbxAA0A11TransactionCYaKXEtYaKlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "newAttachment", + "printedName": "newAttachment(path:metadata:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachment", + "printedName": "DittoSwift.DittoAttachment", + "usr": "s:10DittoSwift0A10AttachmentC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC13newAttachment4path8metadataAA0aE0CSS_SDyS2SGtYaKF", + "mangledName": "$s10DittoSwift0A5StoreC13newAttachment4path8metadataAA0aE0CSS_SDyS2SGtYaKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "attachmentFetchers", + "printedName": "attachmentFetchers", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetcher", + "printedName": "DittoSwift.DittoAttachmentFetcher", + "usr": "s:10DittoSwift0A17AttachmentFetcherC" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A5StoreC18attachmentFetchersShyAA0A17AttachmentFetcherCGvp", + "mangledName": "$s10DittoSwift0A5StoreC18attachmentFetchersShyAA0A17AttachmentFetcherCGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetcher", + "printedName": "DittoSwift.DittoAttachmentFetcher", + "usr": "s:10DittoSwift0A17AttachmentFetcherC" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC18attachmentFetchersShyAA0A17AttachmentFetcherCGvg", + "mangledName": "$s10DittoSwift0A5StoreC18attachmentFetchersShyAA0A17AttachmentFetcherCGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "fetchAttachment", + "printedName": "fetchAttachment(token:deliverOn:onFetchEvent:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetcher", + "printedName": "DittoSwift.DittoAttachmentFetcher", + "usr": "s:10DittoSwift0A17AttachmentFetcherC" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentToken", + "printedName": "DittoSwift.DittoAttachmentToken", + "usr": "s:10DittoSwift0A15AttachmentTokenC" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoAttachmentFetchEvent) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC15fetchAttachment5token9deliverOn12onFetchEventAA0aE7FetcherCAA0aE5TokenC_So17OS_dispatch_queueCyAA0aejK0OctKF", + "mangledName": "$s10DittoSwift0A5StoreC15fetchAttachment5token9deliverOn12onFetchEventAA0aE7FetcherCAA0aE5TokenC_So17OS_dispatch_queueCyAA0aejK0OctKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "fetchAttachment", + "printedName": "fetchAttachment(token:deliverOn:onFetchEvent:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetcher", + "printedName": "DittoSwift.DittoAttachmentFetcher", + "usr": "s:10DittoSwift0A17AttachmentFetcherC" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoAttachmentFetchEvent) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC15fetchAttachment5token9deliverOn12onFetchEventAA0aE7FetcherCSDySSypG_So17OS_dispatch_queueCyAA0aejK0OctKF", + "mangledName": "$s10DittoSwift0A5StoreC15fetchAttachment5token9deliverOn12onFetchEventAA0aE7FetcherCSDySSypG_So17OS_dispatch_queueCyAA0aejK0OctKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "FetchAttachmentPublisher", + "printedName": "FetchAttachmentPublisher", + "children": [ + { + "kind": "TypeDecl", + "name": "Progress", + "printedName": "Progress", + "children": [ + { + "kind": "Var", + "name": "percentage", + "printedName": "percentage", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10percentageSfvp", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10percentageSfvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10percentageSfvg", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10percentageSfvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10percentageSfvs", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10percentageSfvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10percentageSfvM", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10percentageSfvM", + "moduleName": "DittoSwift", + "implicit": true, + "intro_Macosx": "10.15", + "intro_iOS": "13", + "intro_tvOS": "13", + "intro_watchOS": "6", + "declAttributes": [ + "Available", + "Available", + "Available", + "Available", + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "downloadedBytes", + "printedName": "downloadedBytes", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvp", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvg", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvs", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64VvM", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64VvM", + "moduleName": "DittoSwift", + "implicit": true, + "intro_Macosx": "10.15", + "intro_iOS": "13", + "intro_tvOS": "13", + "intro_watchOS": "6", + "declAttributes": [ + "Available", + "Available", + "Available", + "Available", + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "totalBytes", + "printedName": "totalBytes", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvp", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvg", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvs", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64VvM", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64VvM", + "moduleName": "DittoSwift", + "implicit": true, + "intro_Macosx": "10.15", + "intro_iOS": "13", + "intro_tvOS": "13", + "intro_watchOS": "6", + "declAttributes": [ + "Available", + "Available", + "Available", + "Available", + "Available" + ], + "accessorKind": "_modify" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Function", + "name": "receive", + "printedName": "receive(subscriber:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV7receive10subscriberyx_t7Combine10SubscriberRzAA0aB5ErrorO7FailureRtzAA0aeD5EventO5InputRtzlF", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV7receive10subscriberyx_t7Combine10SubscriberRzAA0aB5ErrorO7FailureRtzAA0aeD5EventO5InputRtzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Combine.Subscriber, ฯ„_0_0.Failure == DittoSwift.DittoSwiftError, ฯ„_0_0.Input == DittoSwift.DittoAttachmentFetchEvent>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "progress", + "printedName": "progress()", + "children": [ + { + "kind": "TypeNominal", + "name": "AnyPublisher", + "printedName": "Combine.AnyPublisher", + "children": [ + { + "kind": "TypeNominal", + "name": "Progress", + "printedName": "DittoSwift.DittoStore.FetchAttachmentPublisher.Progress", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV" + }, + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ], + "usr": "s:7Combine12AnyPublisherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8progress7Combine03AnyF0VyAE8ProgressVAA0aB5ErrorOGyF", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8progress7Combine03AnyF0VyAE8ProgressVAA0aB5ErrorOGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "completed", + "printedName": "completed()", + "children": [ + { + "kind": "TypeNominal", + "name": "AnyPublisher", + "printedName": "Combine.AnyPublisher", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachment", + "printedName": "DittoSwift.DittoAttachment", + "usr": "s:10DittoSwift0A10AttachmentC" + }, + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ], + "usr": "s:7Combine12AnyPublisherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV9completed7Combine03AnyF0VyAA0aE0CAA0aB5ErrorOGyF", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV9completed7Combine03AnyF0VyAA0aE0CAA0aB5ErrorOGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Publisher", + "printedName": "Publisher", + "children": [ + { + "kind": "TypeWitness", + "name": "Output", + "printedName": "Output", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Failure", + "printedName": "Failure", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ], + "usr": "s:7Combine9PublisherP", + "mangledName": "$s7Combine9PublisherP" + } + ] + }, + { + "kind": "Function", + "name": "fetchAttachmentPublisher", + "printedName": "fetchAttachmentPublisher(attachmentToken:)", + "children": [ + { + "kind": "TypeNominal", + "name": "FetchAttachmentPublisher", + "printedName": "DittoSwift.DittoStore.FetchAttachmentPublisher", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentToken", + "printedName": "DittoSwift.DittoAttachmentToken", + "usr": "s:10DittoSwift0A15AttachmentTokenC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC24fetchAttachmentPublisher15attachmentTokenAC05FetcheF0VAA0aeH0C_tF", + "mangledName": "$s10DittoSwift0A5StoreC24fetchAttachmentPublisher15attachmentTokenAC05FetcheF0VAA0aeH0C_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "fetchAttachmentPublisher", + "printedName": "fetchAttachmentPublisher(attachmentToken:)", + "children": [ + { + "kind": "TypeNominal", + "name": "FetchAttachmentPublisher", + "printedName": "DittoSwift.DittoStore.FetchAttachmentPublisher", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC24fetchAttachmentPublisher15attachmentTokenAC05FetcheF0VSDySSypG_tF", + "mangledName": "$s10DittoSwift0A5StoreC24fetchAttachmentPublisher15attachmentTokenAC05FetcheF0VSDySSypG_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "execute", + "printedName": "execute(query:arguments:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoQueryResult", + "printedName": "DittoSwift.DittoQueryResult", + "usr": "s:10DittoSwift0A11QueryResultC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC7execute5query9argumentsAA0A11QueryResultCSS_SDySSypSgGtYaKF", + "mangledName": "$s10DittoSwift0A5StoreC7execute5query9argumentsAA0A11QueryResultCSS_SDySSypSgGtYaKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A5StoreC", + "mangledName": "$s10DittoSwift0A5StoreC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "DittoQueryExecuting", + "printedName": "DittoQueryExecuting", + "usr": "s:10DittoSwift0A14QueryExecutingP", + "mangledName": "$s10DittoSwift0A14QueryExecutingP" + } + ] + }, + { + "kind": "Import", + "name": "Combine", + "printedName": "Combine", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "DittoFileSystemType", + "printedName": "DittoFileSystemType", + "children": [ + { + "kind": "Var", + "name": "directory", + "printedName": "directory", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoFileSystemType.Type) -> DittoSwift.DittoFileSystemType", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoFileSystemType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A14FileSystemTypeO9directoryyA2CmF", + "mangledName": "$s10DittoSwift0A14FileSystemTypeO9directoryyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "file", + "printedName": "file", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoFileSystemType.Type) -> DittoSwift.DittoFileSystemType", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoFileSystemType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A14FileSystemTypeO4fileyA2CmF", + "mangledName": "$s10DittoSwift0A14FileSystemTypeO4fileyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "symlink", + "printedName": "symlink", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoFileSystemType.Type) -> DittoSwift.DittoFileSystemType", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoFileSystemType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A14FileSystemTypeO7symlinkyA2CmF", + "mangledName": "$s10DittoSwift0A14FileSystemTypeO7symlinkyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + }, + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A14FileSystemTypeO2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A14FileSystemTypeO2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14FileSystemTypeO9hashValueSivp", + "mangledName": "$s10DittoSwift0A14FileSystemTypeO9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14FileSystemTypeO9hashValueSivg", + "mangledName": "$s10DittoSwift0A14FileSystemTypeO9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A14FileSystemTypeO4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A14FileSystemTypeO4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14FileSystemTypeO11descriptionSSvp", + "mangledName": "$s10DittoSwift0A14FileSystemTypeO11descriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14FileSystemTypeO11descriptionSSvg", + "mangledName": "$s10DittoSwift0A14FileSystemTypeO11descriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A14FileSystemTypeO", + "mangledName": "$s10DittoSwift0A14FileSystemTypeO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "String", + "printedName": "String", + "children": [ + { + "kind": "Var", + "name": "history", + "printedName": "history", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:SS10DittoSwiftE7historySSvpZ", + "mangledName": "$sSS10DittoSwiftE7historySSvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "RawDocComment" + ], + "isFromExtension": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:SS10DittoSwiftE7historySSvgZ", + "mangledName": "$sSS10DittoSwiftE7historySSvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:SS10DittoSwiftE7historySSvsZ", + "mangledName": "$sSS10DittoSwiftE7historySSvsZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:SS10DittoSwiftE7historySSvMZ", + "mangledName": "$sSS10DittoSwiftE7historySSvMZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "_modify" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:SS", + "mangledName": "$sSS", + "moduleName": "Swift", + "declAttributes": [ + "EagerMove", + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CodingKeyRepresentable", + "printedName": "CodingKeyRepresentable", + "usr": "s:s22CodingKeyRepresentableP", + "mangledName": "$ss22CodingKeyRepresentableP" + }, + { + "kind": "Conformance", + "name": "_HasContiguousBytes", + "printedName": "_HasContiguousBytes", + "usr": "s:s19_HasContiguousBytesP", + "mangledName": "$ss19_HasContiguousBytesP" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "TextOutputStream", + "printedName": "TextOutputStream", + "usr": "s:s16TextOutputStreamP", + "mangledName": "$ss16TextOutputStreamP" + }, + { + "kind": "Conformance", + "name": "TextOutputStreamable", + "printedName": "TextOutputStreamable", + "usr": "s:s20TextOutputStreamableP", + "mangledName": "$ss20TextOutputStreamableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinUnicodeScalarLiteral", + "printedName": "_ExpressibleByBuiltinUnicodeScalarLiteral", + "usr": "s:s41_ExpressibleByBuiltinUnicodeScalarLiteralP", + "mangledName": "$ss41_ExpressibleByBuiltinUnicodeScalarLiteralP" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinExtendedGraphemeClusterLiteral", + "printedName": "_ExpressibleByBuiltinExtendedGraphemeClusterLiteral", + "usr": "s:s51_ExpressibleByBuiltinExtendedGraphemeClusterLiteralP", + "mangledName": "$ss51_ExpressibleByBuiltinExtendedGraphemeClusterLiteralP" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinStringLiteral", + "printedName": "_ExpressibleByBuiltinStringLiteral", + "usr": "s:s34_ExpressibleByBuiltinStringLiteralP", + "mangledName": "$ss34_ExpressibleByBuiltinStringLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByStringLiteral", + "printedName": "ExpressibleByStringLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "StringLiteralType", + "printedName": "StringLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s26ExpressibleByStringLiteralP", + "mangledName": "$ss26ExpressibleByStringLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByExtendedGraphemeClusterLiteral", + "printedName": "ExpressibleByExtendedGraphemeClusterLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "ExtendedGraphemeClusterLiteralType", + "printedName": "ExtendedGraphemeClusterLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s43ExpressibleByExtendedGraphemeClusterLiteralP", + "mangledName": "$ss43ExpressibleByExtendedGraphemeClusterLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByUnicodeScalarLiteral", + "printedName": "ExpressibleByUnicodeScalarLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "UnicodeScalarLiteralType", + "printedName": "UnicodeScalarLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s33ExpressibleByUnicodeScalarLiteralP", + "mangledName": "$ss33ExpressibleByUnicodeScalarLiteralP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "BidirectionalCollection", + "printedName": "BidirectionalCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "Character", + "printedName": "Swift.Character", + "usr": "s:SJ" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Index", + "printedName": "Swift.String.Index", + "usr": "s:SS5IndexV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "Substring", + "printedName": "Swift.Substring", + "usr": "s:Ss" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Indices", + "printedName": "Indices", + "children": [ + { + "kind": "TypeNominal", + "name": "DefaultIndices", + "printedName": "Swift.DefaultIndices", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:SI" + } + ] + } + ], + "usr": "s:SK", + "mangledName": "$sSK" + }, + { + "kind": "Conformance", + "name": "Collection", + "printedName": "Collection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "Character", + "printedName": "Swift.Character", + "usr": "s:SJ" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Index", + "printedName": "Swift.String.Index", + "usr": "s:SS5IndexV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Iterator", + "printedName": "Iterator", + "children": [ + { + "kind": "TypeNominal", + "name": "Iterator", + "printedName": "Swift.String.Iterator", + "usr": "s:SS8IteratorV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "Substring", + "printedName": "Swift.Substring", + "usr": "s:Ss" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Indices", + "printedName": "Indices", + "children": [ + { + "kind": "TypeNominal", + "name": "DefaultIndices", + "printedName": "Swift.DefaultIndices", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:SI" + } + ] + } + ], + "usr": "s:Sl", + "mangledName": "$sSl" + }, + { + "kind": "Conformance", + "name": "Sequence", + "printedName": "Sequence", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "Character", + "printedName": "Swift.Character", + "usr": "s:SJ" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Iterator", + "printedName": "Iterator", + "children": [ + { + "kind": "TypeNominal", + "name": "Iterator", + "printedName": "Swift.String.Iterator", + "usr": "s:SS8IteratorV" + } + ] + } + ], + "usr": "s:ST", + "mangledName": "$sST" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "StringProtocol", + "printedName": "StringProtocol", + "children": [ + { + "kind": "TypeWitness", + "name": "UTF8View", + "printedName": "UTF8View", + "children": [ + { + "kind": "TypeNominal", + "name": "UTF8View", + "printedName": "Swift.String.UTF8View", + "usr": "s:SS8UTF8ViewV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "UTF16View", + "printedName": "UTF16View", + "children": [ + { + "kind": "TypeNominal", + "name": "UTF16View", + "printedName": "Swift.String.UTF16View", + "usr": "s:SS9UTF16ViewV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "UnicodeScalarView", + "printedName": "UnicodeScalarView", + "children": [ + { + "kind": "TypeNominal", + "name": "UnicodeScalarView", + "printedName": "Swift.String.UnicodeScalarView", + "usr": "s:SS17UnicodeScalarViewV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "Substring", + "printedName": "Swift.Substring", + "usr": "s:Ss" + } + ] + } + ], + "usr": "s:Sy", + "mangledName": "$sSy" + }, + { + "kind": "Conformance", + "name": "ExpressibleByStringInterpolation", + "printedName": "ExpressibleByStringInterpolation", + "children": [ + { + "kind": "TypeWitness", + "name": "StringInterpolation", + "printedName": "StringInterpolation", + "children": [ + { + "kind": "TypeNominal", + "name": "DefaultStringInterpolation", + "printedName": "Swift.DefaultStringInterpolation", + "usr": "s:s26DefaultStringInterpolationV" + } + ] + } + ], + "usr": "s:s32ExpressibleByStringInterpolationP", + "mangledName": "$ss32ExpressibleByStringInterpolationP" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "RangeReplaceableCollection", + "printedName": "RangeReplaceableCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "Substring", + "printedName": "Swift.Substring", + "usr": "s:Ss" + } + ] + } + ], + "usr": "s:Sm", + "mangledName": "$sSm" + }, + { + "kind": "Conformance", + "name": "MirrorPath", + "printedName": "MirrorPath", + "usr": "s:s10MirrorPathP", + "mangledName": "$ss10MirrorPathP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSString", + "printedName": "Foundation.NSString", + "usr": "c:objc(cs)NSString" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Int", + "printedName": "Int", + "declKind": "Struct", + "usr": "s:Si", + "mangledName": "$sSi", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "SignedInteger", + "printedName": "SignedInteger", + "usr": "s:SZ", + "mangledName": "$sSZ" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.Int.Words", + "usr": "s:Si5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "SignedNumeric", + "printedName": "SignedNumeric", + "usr": "s:s13SignedNumericP", + "mangledName": "$ss13SignedNumericP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CodingKeyRepresentable", + "printedName": "CodingKeyRepresentable", + "usr": "s:s22CodingKeyRepresentableP", + "mangledName": "$ss22CodingKeyRepresentableP" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "MirrorPath", + "printedName": "MirrorPath", + "usr": "s:s10MirrorPathP", + "mangledName": "$ss10MirrorPathP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.Int.SIMD2Storage", + "usr": "s:Si12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.Int.SIMD4Storage", + "usr": "s:Si12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.Int.SIMD8Storage", + "usr": "s:Si12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.Int.SIMD16Storage", + "usr": "s:Si13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.Int.SIMD32Storage", + "usr": "s:Si13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.Int.SIMD64Storage", + "usr": "s:Si13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Int8", + "printedName": "Int8", + "declKind": "Struct", + "usr": "s:s4Int8V", + "mangledName": "$ss4Int8V", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "SignedInteger", + "printedName": "SignedInteger", + "usr": "s:SZ", + "mangledName": "$sSZ" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.Int8.Words", + "usr": "s:s4Int8V5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "SignedNumeric", + "printedName": "SignedNumeric", + "usr": "s:s13SignedNumericP", + "mangledName": "$ss13SignedNumericP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Int8", + "printedName": "Swift.Int8", + "usr": "s:s4Int8V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int8", + "printedName": "Swift.Int8", + "usr": "s:s4Int8V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.Int8.SIMD2Storage", + "usr": "s:s4Int8V12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.Int8.SIMD4Storage", + "usr": "s:s4Int8V12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.Int8.SIMD8Storage", + "usr": "s:s4Int8V12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.Int8.SIMD16Storage", + "usr": "s:s4Int8V13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.Int8.SIMD32Storage", + "usr": "s:s4Int8V13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.Int8.SIMD64Storage", + "usr": "s:s4Int8V13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Int16", + "printedName": "Int16", + "declKind": "Struct", + "usr": "s:s5Int16V", + "mangledName": "$ss5Int16V", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "SignedInteger", + "printedName": "SignedInteger", + "usr": "s:SZ", + "mangledName": "$sSZ" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.Int16.Words", + "usr": "s:s5Int16V5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "SignedNumeric", + "printedName": "SignedNumeric", + "usr": "s:s13SignedNumericP", + "mangledName": "$ss13SignedNumericP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Int16", + "printedName": "Swift.Int16", + "usr": "s:s5Int16V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int16", + "printedName": "Swift.Int16", + "usr": "s:s5Int16V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.Int16.SIMD2Storage", + "usr": "s:s5Int16V12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.Int16.SIMD4Storage", + "usr": "s:s5Int16V12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.Int16.SIMD8Storage", + "usr": "s:s5Int16V12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.Int16.SIMD16Storage", + "usr": "s:s5Int16V13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.Int16.SIMD32Storage", + "usr": "s:s5Int16V13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.Int16.SIMD64Storage", + "usr": "s:s5Int16V13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Int32", + "printedName": "Int32", + "declKind": "Struct", + "usr": "s:s5Int32V", + "mangledName": "$ss5Int32V", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "SignedInteger", + "printedName": "SignedInteger", + "usr": "s:SZ", + "mangledName": "$sSZ" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.Int32.Words", + "usr": "s:s5Int32V5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "SignedNumeric", + "printedName": "SignedNumeric", + "usr": "s:s13SignedNumericP", + "mangledName": "$ss13SignedNumericP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.Int32.SIMD2Storage", + "usr": "s:s5Int32V12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.Int32.SIMD4Storage", + "usr": "s:s5Int32V12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.Int32.SIMD8Storage", + "usr": "s:s5Int32V12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.Int32.SIMD16Storage", + "usr": "s:s5Int32V13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.Int32.SIMD32Storage", + "usr": "s:s5Int32V13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.Int32.SIMD64Storage", + "usr": "s:s5Int32V13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Int64", + "printedName": "Int64", + "declKind": "Struct", + "usr": "s:s5Int64V", + "mangledName": "$ss5Int64V", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "SignedInteger", + "printedName": "SignedInteger", + "usr": "s:SZ", + "mangledName": "$sSZ" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.Int64.Words", + "usr": "s:s5Int64V5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "SignedNumeric", + "printedName": "SignedNumeric", + "usr": "s:s13SignedNumericP", + "mangledName": "$ss13SignedNumericP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_CVarArgAligned", + "printedName": "_CVarArgAligned", + "usr": "s:s15_CVarArgAlignedP", + "mangledName": "$ss15_CVarArgAlignedP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.Int64.SIMD2Storage", + "usr": "s:s5Int64V12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.Int64.SIMD4Storage", + "usr": "s:s5Int64V12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.Int64.SIMD8Storage", + "usr": "s:s5Int64V12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.Int64.SIMD16Storage", + "usr": "s:s5Int64V13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.Int64.SIMD32Storage", + "usr": "s:s5Int64V13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.Int64.SIMD64Storage", + "usr": "s:s5Int64V13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "UInt", + "printedName": "UInt", + "declKind": "Struct", + "usr": "s:Su", + "mangledName": "$sSu", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "UnsignedInteger", + "printedName": "UnsignedInteger", + "usr": "s:SU", + "mangledName": "$sSU" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.UInt.Words", + "usr": "s:Su5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.UInt.SIMD2Storage", + "usr": "s:Su12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.UInt.SIMD4Storage", + "usr": "s:Su12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.UInt.SIMD8Storage", + "usr": "s:Su12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.UInt.SIMD16Storage", + "usr": "s:Su13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.UInt.SIMD32Storage", + "usr": "s:Su13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.UInt.SIMD64Storage", + "usr": "s:Su13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "UInt8", + "printedName": "UInt8", + "declKind": "Struct", + "usr": "s:s5UInt8V", + "mangledName": "$ss5UInt8V", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "UnsignedInteger", + "printedName": "UnsignedInteger", + "usr": "s:SU", + "mangledName": "$sSU" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.UInt8.Words", + "usr": "s:s5UInt8V5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "_StringElement", + "printedName": "_StringElement", + "usr": "s:s14_StringElementP", + "mangledName": "$ss14_StringElementP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int8", + "printedName": "Swift.Int8", + "usr": "s:s4Int8V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.UInt8.SIMD2Storage", + "usr": "s:s5UInt8V12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.UInt8.SIMD4Storage", + "usr": "s:s5UInt8V12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.UInt8.SIMD8Storage", + "usr": "s:s5UInt8V12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.UInt8.SIMD16Storage", + "usr": "s:s5UInt8V13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.UInt8.SIMD32Storage", + "usr": "s:s5UInt8V13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.UInt8.SIMD64Storage", + "usr": "s:s5UInt8V13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "UInt16", + "printedName": "UInt16", + "declKind": "Struct", + "usr": "s:s6UInt16V", + "mangledName": "$ss6UInt16V", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "UnsignedInteger", + "printedName": "UnsignedInteger", + "usr": "s:SU", + "mangledName": "$sSU" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.UInt16.Words", + "usr": "s:s6UInt16V5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "_StringElement", + "printedName": "_StringElement", + "usr": "s:s14_StringElementP", + "mangledName": "$ss14_StringElementP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int16", + "printedName": "Swift.Int16", + "usr": "s:s5Int16V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.UInt16.SIMD2Storage", + "usr": "s:s6UInt16V12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.UInt16.SIMD4Storage", + "usr": "s:s6UInt16V12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.UInt16.SIMD8Storage", + "usr": "s:s6UInt16V12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.UInt16.SIMD16Storage", + "usr": "s:s6UInt16V13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.UInt16.SIMD32Storage", + "usr": "s:s6UInt16V13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.UInt16.SIMD64Storage", + "usr": "s:s6UInt16V13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "UInt32", + "printedName": "UInt32", + "declKind": "Struct", + "usr": "s:s6UInt32V", + "mangledName": "$ss6UInt32V", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "UnsignedInteger", + "printedName": "UnsignedInteger", + "usr": "s:SU", + "mangledName": "$sSU" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.UInt32.Words", + "usr": "s:s6UInt32V5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.UInt32.SIMD2Storage", + "usr": "s:s6UInt32V12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.UInt32.SIMD4Storage", + "usr": "s:s6UInt32V12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.UInt32.SIMD8Storage", + "usr": "s:s6UInt32V12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.UInt32.SIMD16Storage", + "usr": "s:s6UInt32V13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.UInt32.SIMD32Storage", + "usr": "s:s6UInt32V13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.UInt32.SIMD64Storage", + "usr": "s:s6UInt32V13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "UInt64", + "printedName": "UInt64", + "declKind": "Struct", + "usr": "s:s6UInt64V", + "mangledName": "$ss6UInt64V", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "UnsignedInteger", + "printedName": "UnsignedInteger", + "usr": "s:SU", + "mangledName": "$sSU" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.UInt64.Words", + "usr": "s:s6UInt64V5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_CVarArgAligned", + "printedName": "_CVarArgAligned", + "usr": "s:s15_CVarArgAlignedP", + "mangledName": "$ss15_CVarArgAlignedP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.UInt64.SIMD2Storage", + "usr": "s:s6UInt64V12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.UInt64.SIMD4Storage", + "usr": "s:s6UInt64V12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.UInt64.SIMD8Storage", + "usr": "s:s6UInt64V12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.UInt64.SIMD16Storage", + "usr": "s:s6UInt64V13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.UInt64.SIMD32Storage", + "usr": "s:s6UInt64V13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.UInt64.SIMD64Storage", + "usr": "s:s6UInt64V13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Float", + "printedName": "Float", + "declKind": "Struct", + "usr": "s:Sf", + "mangledName": "$sSf", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "_CVarArgPassedAsDouble", + "printedName": "_CVarArgPassedAsDouble", + "usr": "s:s22_CVarArgPassedAsDoubleP", + "mangledName": "$ss22_CVarArgPassedAsDoubleP" + }, + { + "kind": "Conformance", + "name": "_CVarArgAligned", + "printedName": "_CVarArgAligned", + "usr": "s:s15_CVarArgAlignedP", + "mangledName": "$ss15_CVarArgAlignedP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "TextOutputStreamable", + "printedName": "TextOutputStreamable", + "usr": "s:s20TextOutputStreamableP", + "mangledName": "$ss20TextOutputStreamableP" + }, + { + "kind": "Conformance", + "name": "BinaryFloatingPoint", + "printedName": "BinaryFloatingPoint", + "children": [ + { + "kind": "TypeWitness", + "name": "RawSignificand", + "printedName": "RawSignificand", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "RawExponent", + "printedName": "RawExponent", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ] + } + ], + "usr": "s:SB", + "mangledName": "$sSB" + }, + { + "kind": "Conformance", + "name": "ExpressibleByFloatLiteral", + "printedName": "ExpressibleByFloatLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "FloatLiteralType", + "printedName": "FloatLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ] + } + ], + "usr": "s:s25ExpressibleByFloatLiteralP", + "mangledName": "$ss25ExpressibleByFloatLiteralP" + }, + { + "kind": "Conformance", + "name": "FloatingPoint", + "printedName": "FloatingPoint", + "children": [ + { + "kind": "TypeWitness", + "name": "Exponent", + "printedName": "Exponent", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:SF", + "mangledName": "$sSF" + }, + { + "kind": "Conformance", + "name": "SignedNumeric", + "printedName": "SignedNumeric", + "usr": "s:s13SignedNumericP", + "mangledName": "$ss13SignedNumericP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinFloatLiteral", + "printedName": "_ExpressibleByBuiltinFloatLiteral", + "usr": "s:s33_ExpressibleByBuiltinFloatLiteralP", + "mangledName": "$ss33_ExpressibleByBuiltinFloatLiteralP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.Float.SIMD2Storage", + "usr": "s:Sf12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.Float.SIMD4Storage", + "usr": "s:Sf12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.Float.SIMD8Storage", + "usr": "s:Sf12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.Float.SIMD16Storage", + "usr": "s:Sf13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.Float.SIMD32Storage", + "usr": "s:Sf13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.Float.SIMD64Storage", + "usr": "s:Sf13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Double", + "printedName": "Double", + "declKind": "Struct", + "usr": "s:Sd", + "mangledName": "$sSd", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "_CVarArgPassedAsDouble", + "printedName": "_CVarArgPassedAsDouble", + "usr": "s:s22_CVarArgPassedAsDoubleP", + "mangledName": "$ss22_CVarArgPassedAsDoubleP" + }, + { + "kind": "Conformance", + "name": "_CVarArgAligned", + "printedName": "_CVarArgAligned", + "usr": "s:s15_CVarArgAlignedP", + "mangledName": "$ss15_CVarArgAlignedP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "TextOutputStreamable", + "printedName": "TextOutputStreamable", + "usr": "s:s20TextOutputStreamableP", + "mangledName": "$ss20TextOutputStreamableP" + }, + { + "kind": "Conformance", + "name": "BinaryFloatingPoint", + "printedName": "BinaryFloatingPoint", + "children": [ + { + "kind": "TypeWitness", + "name": "RawSignificand", + "printedName": "RawSignificand", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "RawExponent", + "printedName": "RawExponent", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ] + } + ], + "usr": "s:SB", + "mangledName": "$sSB" + }, + { + "kind": "Conformance", + "name": "ExpressibleByFloatLiteral", + "printedName": "ExpressibleByFloatLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "FloatLiteralType", + "printedName": "FloatLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ] + } + ], + "usr": "s:s25ExpressibleByFloatLiteralP", + "mangledName": "$ss25ExpressibleByFloatLiteralP" + }, + { + "kind": "Conformance", + "name": "FloatingPoint", + "printedName": "FloatingPoint", + "children": [ + { + "kind": "TypeWitness", + "name": "Exponent", + "printedName": "Exponent", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:SF", + "mangledName": "$sSF" + }, + { + "kind": "Conformance", + "name": "SignedNumeric", + "printedName": "SignedNumeric", + "usr": "s:s13SignedNumericP", + "mangledName": "$ss13SignedNumericP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinFloatLiteral", + "printedName": "_ExpressibleByBuiltinFloatLiteral", + "usr": "s:s33_ExpressibleByBuiltinFloatLiteralP", + "mangledName": "$ss33_ExpressibleByBuiltinFloatLiteralP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.Double.SIMD2Storage", + "usr": "s:Sd12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.Double.SIMD4Storage", + "usr": "s:Sd12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.Double.SIMD8Storage", + "usr": "s:Sd12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.Double.SIMD16Storage", + "usr": "s:Sd13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.Double.SIMD32Storage", + "usr": "s:Sd13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.Double.SIMD64Storage", + "usr": "s:Sd13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Bool", + "printedName": "Bool", + "declKind": "Struct", + "usr": "s:Sb", + "mangledName": "$sSb", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinBooleanLiteral", + "printedName": "_ExpressibleByBuiltinBooleanLiteral", + "usr": "s:s35_ExpressibleByBuiltinBooleanLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinBooleanLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByBooleanLiteral", + "printedName": "ExpressibleByBooleanLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "BooleanLiteralType", + "printedName": "BooleanLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + } + ], + "usr": "s:s27ExpressibleByBooleanLiteralP", + "mangledName": "$ss27ExpressibleByBooleanLiteralP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "NSNull", + "printedName": "NSNull", + "declKind": "Class", + "usr": "c:objc(cs)NSNull", + "moduleName": "Foundation", + "isOpen": true, + "objc_name": "NSNull", + "declAttributes": [ + "ObjC", + "SynthesizedProtocol", + "NonSendable", + "Sendable", + "Dynamic" + ], + "superclassUsr": "c:objc(cs)NSObject", + "isExternal": true, + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Date", + "printedName": "Date", + "declKind": "Struct", + "usr": "s:10Foundation4DateV", + "mangledName": "$s10Foundation4DateV", + "moduleName": "Foundation", + "intro_Macosx": "10.10", + "intro_iOS": "8.0", + "intro_tvOS": "9.0", + "intro_watchOS": "2.0", + "declAttributes": [ + "Available", + "Available", + "Available", + "Available" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "ReferenceConvertible", + "printedName": "ReferenceConvertible", + "children": [ + { + "kind": "TypeWitness", + "name": "ReferenceType", + "printedName": "ReferenceType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSDate", + "printedName": "Foundation.NSDate", + "usr": "c:objc(cs)NSDate" + } + ] + } + ], + "usr": "s:10Foundation20ReferenceConvertibleP", + "mangledName": "$s10Foundation20ReferenceConvertibleP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSDate", + "printedName": "Foundation.NSDate", + "usr": "c:objc(cs)NSDate" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Data", + "printedName": "Data", + "declKind": "Struct", + "usr": "s:10Foundation4DataV", + "mangledName": "$s10Foundation4DataV", + "moduleName": "Foundation", + "intro_Macosx": "10.10", + "intro_iOS": "8.0", + "intro_tvOS": "9.0", + "intro_watchOS": "2.0", + "declAttributes": [ + "Frozen", + "Available", + "Available", + "Available", + "Available" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RandomAccessCollection", + "printedName": "RandomAccessCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Indices", + "printedName": "Indices", + "children": [ + { + "kind": "TypeNominal", + "name": "Range", + "printedName": "Swift.Range", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sn" + } + ] + } + ], + "usr": "s:Sk", + "mangledName": "$sSk" + }, + { + "kind": "Conformance", + "name": "MutableCollection", + "printedName": "MutableCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ] + } + ], + "usr": "s:SM", + "mangledName": "$sSM" + }, + { + "kind": "Conformance", + "name": "RangeReplaceableCollection", + "printedName": "RangeReplaceableCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ] + } + ], + "usr": "s:Sm", + "mangledName": "$sSm" + }, + { + "kind": "Conformance", + "name": "MutableDataProtocol", + "printedName": "MutableDataProtocol", + "usr": "s:10Foundation19MutableDataProtocolP", + "mangledName": "$s10Foundation19MutableDataProtocolP" + }, + { + "kind": "Conformance", + "name": "ContiguousBytes", + "printedName": "ContiguousBytes", + "usr": "s:10Foundation15ContiguousBytesP", + "mangledName": "$s10Foundation15ContiguousBytesP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "BidirectionalCollection", + "printedName": "BidirectionalCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Indices", + "printedName": "Indices", + "children": [ + { + "kind": "TypeNominal", + "name": "Range", + "printedName": "Swift.Range", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sn" + } + ] + } + ], + "usr": "s:SK", + "mangledName": "$sSK" + }, + { + "kind": "Conformance", + "name": "Collection", + "printedName": "Collection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Iterator", + "printedName": "Iterator", + "children": [ + { + "kind": "TypeNominal", + "name": "Iterator", + "printedName": "Foundation.Data.Iterator", + "usr": "s:10Foundation4DataV8IteratorV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Indices", + "printedName": "Indices", + "children": [ + { + "kind": "TypeNominal", + "name": "Range", + "printedName": "Swift.Range", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sn" + } + ] + } + ], + "usr": "s:Sl", + "mangledName": "$sSl" + }, + { + "kind": "Conformance", + "name": "DataProtocol", + "printedName": "DataProtocol", + "children": [ + { + "kind": "TypeWitness", + "name": "Regions", + "printedName": "Regions", + "children": [ + { + "kind": "TypeNominal", + "name": "CollectionOfOne", + "printedName": "Swift.CollectionOfOne", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "usr": "s:s15CollectionOfOneV" + } + ] + } + ], + "usr": "s:10Foundation12DataProtocolP", + "mangledName": "$s10Foundation12DataProtocolP" + }, + { + "kind": "Conformance", + "name": "Sequence", + "printedName": "Sequence", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Iterator", + "printedName": "Iterator", + "children": [ + { + "kind": "TypeNominal", + "name": "Iterator", + "printedName": "Foundation.Data.Iterator", + "usr": "s:10Foundation4DataV8IteratorV" + } + ] + } + ], + "usr": "s:ST", + "mangledName": "$sST" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "ReferenceConvertible", + "printedName": "ReferenceConvertible", + "children": [ + { + "kind": "TypeWitness", + "name": "ReferenceType", + "printedName": "ReferenceType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSData", + "printedName": "Foundation.NSData", + "usr": "c:objc(cs)NSData" + } + ] + } + ], + "usr": "s:10Foundation20ReferenceConvertibleP", + "mangledName": "$s10Foundation20ReferenceConvertibleP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSData", + "printedName": "Foundation.NSData", + "usr": "c:objc(cs)NSData" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Name", + "printedName": "Name", + "children": [ + { + "kind": "Var", + "name": "dittoAuthenticationStatusDidChange", + "printedName": "dittoAuthenticationStatusDidChange", + "children": [ + { + "kind": "TypeNominal", + "name": "Name", + "printedName": "Foundation.NSNotification.Name", + "usr": "c:@T@NSNotificationName" + } + ], + "declKind": "Var", + "usr": "s:So18NSNotificationNamea10DittoSwiftE34dittoAuthenticationStatusDidChangeABvpZ", + "mangledName": "$sSo18NSNotificationNamea10DittoSwiftE34dittoAuthenticationStatusDidChangeABvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "RawDocComment" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Name", + "printedName": "Foundation.NSNotification.Name", + "usr": "c:@T@NSNotificationName" + } + ], + "declKind": "Accessor", + "usr": "s:So18NSNotificationNamea10DittoSwiftE34dittoAuthenticationStatusDidChangeABvgZ", + "mangledName": "$sSo18NSNotificationNamea10DittoSwiftE34dittoAuthenticationStatusDidChangeABvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "c:@T@NSNotificationName", + "moduleName": "Foundation", + "declAttributes": [ + "SynthesizedProtocol", + "SynthesizedProtocol", + "SynthesizedProtocol", + "SynthesizedProtocol", + "SynthesizedProtocol", + "SynthesizedProtocol", + "Sendable" + ], + "isFromExtension": true, + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSString", + "printedName": "Foundation.NSString", + "usr": "c:objc(cs)NSString" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_SwiftNewtypeWrapper", + "printedName": "_SwiftNewtypeWrapper", + "usr": "s:s20_SwiftNewtypeWrapperP", + "mangledName": "$ss20_SwiftNewtypeWrapperP" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + } + ] + } + ], + "json_format_version": 8 + }, + "ConstValues": [ + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Internal\/Util.swift", + "kind": "StringLiteral", + "offset": 5107, + "length": 34, + "value": "\"_ditto_internal_type_jkb12973t4b\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Internal\/Util.swift", + "kind": "StringLiteral", + "offset": 5171, + "length": 8, + "value": "\"_value\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Internal\/Util.swift", + "kind": "BooleanLiteral", + "offset": 5346, + "length": 4, + "value": "true" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoSync.swift", + "kind": "Array", + "offset": 376, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoCollection.swift", + "kind": "Dictionary", + "offset": 9116, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoConnectionType.swift", + "kind": "StringLiteral", + "offset": 282, + "length": 11, + "value": "\"Bluetooth\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoConnectionType.swift", + "kind": "StringLiteral", + "offset": 317, + "length": 13, + "value": "\"AccessPoint\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoConnectionType.swift", + "kind": "StringLiteral", + "offset": 350, + "length": 9, + "value": "\"P2PWiFi\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoConnectionType.swift", + "kind": "StringLiteral", + "offset": 381, + "length": 11, + "value": "\"WebSocket\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 362, + "length": 2, + "value": "42" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 369, + "length": 2, + "value": "42" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 1575, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 19691, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 19799, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "StringLiteral", + "offset": 20617, + "length": 8, + "value": "\"__type\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "StringLiteral", + "offset": 20653, + "length": 22, + "value": "\"date_epoch_timestamp\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "StringLiteral", + "offset": 20702, + "length": 9, + "value": "\"__value\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 20881, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 21005, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 21195, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 21311, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "Array", + "offset": 23077, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "Dictionary", + "offset": 23127, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "Array", + "offset": 24764, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 27247, + "length": 4, + "value": "true" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "Dictionary", + "offset": 32402, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 43017, + "length": 1, + "value": "0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 43037, + "length": 1, + "value": "1" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 43057, + "length": 1, + "value": "2" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 43077, + "length": 1, + "value": "3" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49252, + "length": 1, + "value": "0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49317, + "length": 1, + "value": "1" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49378, + "length": 1, + "value": "2" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49439, + "length": 1, + "value": "3" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49501, + "length": 1, + "value": "4" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49556, + "length": 1, + "value": "5" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49667, + "length": 2, + "value": "21" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49749, + "length": 2, + "value": "22" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49831, + "length": 2, + "value": "23" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49898, + "length": 2, + "value": "24" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49977, + "length": 2, + "value": "32" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 50034, + "length": 2, + "value": "33" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 50088, + "length": 2, + "value": "34" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 50153, + "length": 2, + "value": "35" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 50212, + "length": 2, + "value": "36" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 50264, + "length": 2, + "value": "37" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 50359, + "length": 5, + "value": "55799" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 70193, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 70399, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "Dictionary", + "offset": 70933, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "Array", + "offset": 72476, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "Dictionary", + "offset": 72526, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 78069, + "length": 4, + "value": "0x80" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 78076, + "length": 4, + "value": "0x97" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 78123, + "length": 4, + "value": "0x1F" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 78150, + "length": 4, + "value": "0x98" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 78230, + "length": 4, + "value": "0x99" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 78311, + "length": 4, + "value": "0x9a" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 78392, + "length": 4, + "value": "0x9b" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 78473, + "length": 4, + "value": "0x9f" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 79037, + "length": 1, + "value": "1" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 79385, + "length": 1, + "value": "0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "Array", + "offset": 79522, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "Array", + "offset": 79600, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 79646, + "length": 1, + "value": "0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "StringLiteral", + "offset": 79843, + "length": 10, + "value": "\"\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "StringLiteral", + "offset": 79852, + "length": 11, + "value": "\"\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 79911, + "length": 1, + "value": "0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 100465, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "BooleanLiteral", + "offset": 371, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 452, + "length": 9, + "value": "\"enabled\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "BooleanLiteral", + "offset": 748, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "BooleanLiteral", + "offset": 855, + "length": 4, + "value": "true" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "BooleanLiteral", + "offset": 972, + "length": 4, + "value": "true" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 1371, + "length": 9, + "value": "\"enabled\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 1410, + "length": 14, + "value": "\"mdns_enabled\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 1459, + "length": 19, + "value": "\"multicast_enabled\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "BooleanLiteral", + "offset": 1622, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 1703, + "length": 9, + "value": "\"enabled\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 2586, + "length": 14, + "value": "\"bluetooth_le\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "FloatLiteral", + "offset": 3379, + "length": 3, + "value": "5.0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 3844, + "length": 13, + "value": "\"tcp_servers\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 3887, + "length": 16, + "value": "\"websocket_urls\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 3933, + "length": 16, + "value": "\"retry_interval\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "BooleanLiteral", + "offset": 5071, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 5167, + "length": 6, + "value": "\"[::]\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "IntegerLiteral", + "offset": 5248, + "length": 4, + "value": "4040" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 5625, + "length": 9, + "value": "\"enabled\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 5662, + "length": 14, + "value": "\"interface_ip\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "BooleanLiteral", + "offset": 5879, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 5975, + "length": 6, + "value": "\"[::]\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "IntegerLiteral", + "offset": 6054, + "length": 2, + "value": "80" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "BooleanLiteral", + "offset": 6538, + "length": 4, + "value": "true" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "BooleanLiteral", + "offset": 7077, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 8487, + "length": 9, + "value": "\"enabled\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 8524, + "length": 14, + "value": "\"interface_ip\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 8590, + "length": 21, + "value": "\"static_content_path\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 8641, + "length": 16, + "value": "\"websocket_sync\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 8684, + "length": 14, + "value": "\"tls_key_path\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 8733, + "length": 22, + "value": "\"tls_certificate_path\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 8790, + "length": 19, + "value": "\"identity_provider\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 8852, + "length": 31, + "value": "\"identity_provider_signing_key\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 8929, + "length": 34, + "value": "\"identity_provider_verifying_keys\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 8985, + "length": 26, + "value": "\"identity_provider_ca_key\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 9115, + "length": 22, + "value": "\"is_identity_provider\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 9159, + "length": 8, + "value": "\"ca_key\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "IntegerLiteral", + "offset": 12736, + "length": 1, + "value": "0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "IntegerLiteral", + "offset": 13611, + "length": 1, + "value": "0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 13688, + "length": 12, + "value": "\"sync_group\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 13728, + "length": 14, + "value": "\"routing_hint\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 16094, + "length": 14, + "value": "\"peer_to_peer\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoLogLevel.swift", + "kind": "IntegerLiteral", + "offset": 246, + "length": 1, + "value": "1" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoLogLevel.swift", + "kind": "IntegerLiteral", + "offset": 292, + "length": 1, + "value": "2" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoLogLevel.swift", + "kind": "IntegerLiteral", + "offset": 332, + "length": 1, + "value": "3" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoLogLevel.swift", + "kind": "IntegerLiteral", + "offset": 374, + "length": 1, + "value": "4" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoLogLevel.swift", + "kind": "IntegerLiteral", + "offset": 420, + "length": 1, + "value": "5" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoSmallPeerInfoSyncScope.swift", + "kind": "IntegerLiteral", + "offset": 549, + "length": 13, + "value": "1" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoConnectionPriority.swift", + "kind": "IntegerLiteral", + "offset": 691, + "length": 1, + "value": "0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoConnectionPriority.swift", + "kind": "IntegerLiteral", + "offset": 826, + "length": 1, + "value": "1" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoConnectionPriority.swift", + "kind": "IntegerLiteral", + "offset": 1168, + "length": 1, + "value": "2" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 307, + "length": 1, + "value": "0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 323, + "length": 1, + "value": "1" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 351, + "length": 1, + "value": "2" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 380, + "length": 1, + "value": "3" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 405, + "length": 1, + "value": "4" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 435, + "length": 1, + "value": "5" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 471, + "length": 1, + "value": "6" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 510, + "length": 1, + "value": "7" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 549, + "length": 1, + "value": "8" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 574, + "length": 1, + "value": "9" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 601, + "length": 2, + "value": "10" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 628, + "length": 2, + "value": "11" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 665, + "length": 2, + "value": "12" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 2958, + "length": 1, + "value": "0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 2975, + "length": 1, + "value": "1" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 2993, + "length": 1, + "value": "2" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 3011, + "length": 1, + "value": "3" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoConnection.swift", + "kind": "StringLiteral", + "offset": 4676, + "length": 16, + "value": "\"connectionType\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Ditto.swift", + "kind": "BooleanLiteral", + "offset": 13143, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoExperimental.swift", + "kind": "BooleanLiteral", + "offset": 1129, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoTransactionInfo.swift", + "kind": "StringLiteral", + "offset": 970, + "length": 14, + "value": "\"is_read_only\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Internal\/DittoPresenceGraphFromCBORTransformer.swift", + "kind": "StringLiteral", + "offset": 219, + "length": 39, + "value": "\"DittoPresenceGraphFromCBORTransformer\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoPeer.swift", + "kind": "Dictionary", + "offset": 3865, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoPeer.swift", + "kind": "Dictionary", + "offset": 3920, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoPeer.swift", + "kind": "Dictionary", + "offset": 4876, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoPeer.swift", + "kind": "Dictionary", + "offset": 4923, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoPeer.swift", + "kind": "Dictionary", + "offset": 6097, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoPeer.swift", + "kind": "Dictionary", + "offset": 6144, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoPeer.swift", + "kind": "StringLiteral", + "offset": 7711, + "length": 17, + "value": "\"dittoSdkVersion\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoAuthenticator.swift", + "kind": "StringLiteral", + "offset": 448, + "length": 48, + "value": "\"DittoAuthenticationStatusDidChangeNotification\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoMutableDocumentPath.swift", + "kind": "BooleanLiteral", + "offset": 4530, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/UpdateResultsWrapper.swift", + "kind": "Array", + "offset": 161, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoAddress.swift", + "kind": "StringLiteral", + "offset": 880, + "length": 8, + "value": "\"siteId\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoAddress.swift", + "kind": "StringLiteral", + "offset": 911, + "length": 8, + "value": "\"pubkey\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoIdentity.swift", + "kind": "BooleanLiteral", + "offset": 3683, + "length": 4, + "value": "true" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoIdentity.swift", + "kind": "BooleanLiteral", + "offset": 4562, + "length": 4, + "value": "true" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoStore.swift", + "kind": "Array", + "offset": 6162, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoStore.swift", + "kind": "BooleanLiteral", + "offset": 13558, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoStore.swift", + "kind": "BooleanLiteral", + "offset": 14864, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoStore.swift", + "kind": "Dictionary", + "offset": 17472, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoStore.swift", + "kind": "Array", + "offset": 17957, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoStore.swift", + "kind": "BooleanLiteral", + "offset": 26009, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoStore.swift", + "kind": "StringLiteral", + "offset": 27014, + "length": 55, + "value": "\"live.ditto.DittoSwift.DittoStore.delayUntilReadyQueue\"" + } + ] +} \ No newline at end of file diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/arm64-apple-macos.private.swiftinterface b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/arm64-apple-macos.private.swiftinterface new file mode 100644 index 0000000..e3c94cb --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/arm64-apple-macos.private.swiftinterface @@ -0,0 +1,1943 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 6.0.3 effective-5.10 (swiftlang-6.0.3.1.10 clang-1600.0.30.1) +// swift-module-flags: -target arm64-apple-macos11.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name DittoSwift +// swift-module-flags-ignorable: -no-verify-emitted-module-interface +import Combine +import DittoObjC.DittoFFI +import DittoObjC +@_exported import DittoSwift +import Foundation +import DittoObjC.Private +import Swift +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +@_hasMissingDesignatedInitializers public class DiskUsage { + public var exec: DittoSwift.DiskUsageItem { + get + } + public func observe(eventHandler: @escaping (DittoSwift.DiskUsageItem) -> Swift.Void) -> DittoSwift.DiskUsage.DiskUsageObserverHandle + @_hasMissingDesignatedInitializers public class DiskUsageObserverHandle { + public func stop() + @objc deinit + } + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoAttachmentFetcher { + weak public var ditto: DittoSwift.Ditto? { + get + } + public func stop() + @objc deinit +} +extension DittoSwift.DittoAttachmentFetcher : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoAttachmentFetcher : Swift.Equatable { + public static func == (left: DittoSwift.DittoAttachmentFetcher, right: DittoSwift.DittoAttachmentFetcher) -> Swift.Bool +} +public enum DittoUpdateResult { + case set(docID: DittoSwift.DittoDocumentID, path: Swift.String, value: Any?) + case removed(docID: DittoSwift.DittoDocumentID, path: Swift.String) + case incremented(docID: DittoSwift.DittoDocumentID, path: Swift.String, amount: Swift.Double) +} +@_hasMissingDesignatedInitializers public class DittoSync { + public var subscriptions: Swift.Set { + get + } + @discardableResult + public func registerSubscription(query: Swift.String, arguments: Swift.Dictionary? = nil) throws -> DittoSwift.DittoSyncSubscription + @objc deinit +} +public struct DittoCollectionsEvent { + public let isInitial: Swift.Bool + public let collections: [DittoSwift.DittoCollection] + public let oldCollections: [DittoSwift.DittoCollection] + public let insertions: [Swift.Int] + public let deletions: [Swift.Int] + public let updates: [Swift.Int] + public let moves: [(from: Swift.Int, to: Swift.Int)] +} +extension DittoSwift.DittoCollectionsEvent : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible { + public var description: Swift.String { + get + } + public var debugDescription: Swift.String { + get + } +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoAuthenticator { + public struct StatusPublisher : Combine.Publisher { + public typealias Output = DittoSwift.DittoAuthenticationStatus + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == DittoSwift.DittoAuthenticationStatus + } + public func statusPublisher() -> DittoSwift.DittoAuthenticator.StatusPublisher +} +public enum DittoAttachmentFetchEvent { + case completed(DittoSwift.DittoAttachment) + case progress(downloadedBytes: Swift.UInt64, totalBytes: Swift.UInt64) + case deleted +} +@_hasMissingDesignatedInitializers public class DittoTransportSnapshot { + final public let connectionType: Swift.String + final public let connecting: [Swift.Int64] + final public let connected: [Swift.Int64] + final public let disconnecting: [Swift.Int64] + final public let disconnected: [Swift.Int64] + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoDocument { + final public let id: DittoSwift.DittoDocumentID + public var value: [Swift.String : Any?] { + get + } + public subscript(key: Swift.String) -> DittoSwift.DittoDocumentPath { + get + } + @available(*, deprecated, message: "Codable APIs will be removed in the future") + public func typed(as type: T.Type) throws -> DittoSwift.DittoTypedDocument where T : Swift.Decodable, T : Swift.Encodable + @objc deinit +} +extension DittoSwift.DittoDocument : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible { + public var description: Swift.String { + get + } + public var debugDescription: Swift.String { + get + } +} +extension DittoSwift.DittoDocument : Swift.Identifiable { + public typealias ID = DittoSwift.DittoDocumentID +} +public typealias DittoCollectionName = Swift.String +extension Swift.String { + public static var history: Swift.String +} +@_hasMissingDesignatedInitializers public class DittoCollection { + public var name: Swift.String { + get + } + @discardableResult + public func upsert(_ content: [Swift.String : Any?], writeStrategy: DittoSwift.DittoWriteStrategy = .merge) throws -> DittoSwift.DittoDocumentID + @discardableResult + @available(*, deprecated, message: "Codable APIs will be removed in the future.") + public func upsert(_ content: T, writeStrategy: DittoSwift.DittoWriteStrategy = .merge) throws -> DittoSwift.DittoDocumentID where T : Swift.Encodable + public func findByID(_ id: DittoSwift.DittoDocumentID) -> DittoSwift.DittoPendingIDSpecificOperation + public func findByID(_ id: Any) -> DittoSwift.DittoPendingIDSpecificOperation + public func find(_ query: Swift.String) -> DittoSwift.DittoPendingCursorOperation + public func find(_ query: Swift.String, args queryArgs: Swift.Dictionary) -> DittoSwift.DittoPendingCursorOperation + public func findAll() -> DittoSwift.DittoPendingCursorOperation + @available(*, deprecated, message: "Replaced by `DittoStore.newAttachment()`.") + public func newAttachment(path: Swift.String, metadata: [Swift.String : Swift.String] = [:]) -> DittoSwift.DittoAttachment? + @available(*, deprecated, message: "Replaced by `DittoStore.fetchAttachment()`.") + public func fetchAttachment(token: DittoSwift.DittoAttachmentToken, deliverOn queue: Dispatch.DispatchQueue = .main, onFetchEvent: @escaping (DittoSwift.DittoAttachmentFetchEvent) -> Swift.Void) -> DittoSwift.DittoAttachmentFetcher? + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoPresence { + public var peerMetadata: [Swift.String : Any?] { + get + } + public func setPeerMetadata(_ peerMetadata: [Swift.String : Any?]) throws + public var peerMetadataJSONData: Foundation.Data { + get + } + public func setPeerMetadataJSONData(_ jsonData: Foundation.Data) throws + public var graph: DittoSwift.DittoPresenceGraph { + get + } + public func observe(didChangeHandler: @escaping (DittoSwift.DittoPresenceGraph) -> ()) -> DittoSwift.DittoObserver + public var connectionRequestHandler: DittoSwift.DittoConnectionRequestHandler? { + get + set + } + @objc deinit +} +public class DittoRegister { + public init(value: Any?) + @objc deinit +} +extension DittoSwift.DittoRegister { + public var value: Any? { + get + } + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } +} +public enum DittoConnectionType : Swift.String { + case bluetooth + case accessPoint + case p2pWiFi + case webSocket + public init?(rawValue: Swift.String) + public typealias RawValue = Swift.String + public var rawValue: Swift.String { + get + } +} +extension DittoSwift.DittoConnectionType : Swift.CaseIterable { + public typealias AllCases = [DittoSwift.DittoConnectionType] + nonisolated public static var allCases: [DittoSwift.DittoConnectionType] { + get + } +} +extension DittoSwift.DittoConnectionType : Swift.Codable { +} +@_hasMissingDesignatedInitializers public class DittoObserver { + public func stop() + @objc deinit +} +public enum DittoWriteTransactionResult { + case inserted(id: DittoSwift.DittoDocumentID, collection: Swift.String) + case updated(id: DittoSwift.DittoDocumentID, collection: Swift.String) + case evicted(id: DittoSwift.DittoDocumentID, collection: Swift.String) + case removed(id: DittoSwift.DittoDocumentID, collection: Swift.String) +} +@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers public class DittoMutableCounter : DittoSwift.DittoCounter { + public func increment(by amount: Swift.Double) + @objc deinit +} +public class DittoDiffer { + public init() + public func diff(_ items: [DittoSwift.DittoQueryResultItem]) -> DittoSwift.DittoDiff + @objc deinit +} +indirect public enum CBOR : Swift.Equatable, Swift.Hashable, Swift.ExpressibleByNilLiteral, Swift.ExpressibleByIntegerLiteral, Swift.ExpressibleByStringLiteral, Swift.ExpressibleByArrayLiteral, Swift.ExpressibleByDictionaryLiteral, Swift.ExpressibleByBooleanLiteral, Swift.ExpressibleByFloatLiteral { + case unsignedInt(Swift.UInt64) + case negativeInt(Swift.UInt64) + case byteString([Swift.UInt8]) + case utf8String(Swift.String) + case array([DittoSwift.CBOR]) + case map([DittoSwift.CBOR : DittoSwift.CBOR]) + case tagged(DittoSwift.CBOR.Tag, DittoSwift.CBOR) + case simple(Swift.UInt8) + case boolean(Swift.Bool) + case null + case undefined + case half(Swift.Float32) + case float(Swift.Float32) + case double(Swift.Float64) + case `break` + case date(Foundation.Date) + public func hash(into hasher: inout Swift.Hasher) + public subscript(position: DittoSwift.CBOR) -> DittoSwift.CBOR? { + get + set(x) + } + public init(nilLiteral: ()) + public init(integerLiteral value: Swift.Int) + public init(extendedGraphemeClusterLiteral value: Swift.String) + public init(unicodeScalarLiteral value: Swift.String) + public init(stringLiteral value: Swift.String) + public init(arrayLiteral elements: DittoSwift.CBOR...) + public init(dictionaryLiteral elements: (DittoSwift.CBOR, DittoSwift.CBOR)...) + public init(booleanLiteral value: Swift.Bool) + public init(floatLiteral value: Swift.Float32) + public static func == (lhs: DittoSwift.CBOR, rhs: DittoSwift.CBOR) -> Swift.Bool + public struct Tag : Swift.RawRepresentable, Swift.Equatable, Swift.Hashable { + public let rawValue: Swift.UInt64 + public init(rawValue: Swift.UInt64) + public var hashValue: Swift.Int { + get + } + public typealias RawValue = Swift.UInt64 + } + public typealias ArrayLiteralElement = DittoSwift.CBOR + public typealias BooleanLiteralType = Swift.Bool + public typealias ExtendedGraphemeClusterLiteralType = Swift.String + public typealias FloatLiteralType = Swift.Float32 + public typealias IntegerLiteralType = Swift.Int + public typealias Key = DittoSwift.CBOR + public typealias StringLiteralType = Swift.String + public typealias UnicodeScalarLiteralType = Swift.String + public typealias Value = DittoSwift.CBOR + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.CBOR.Tag { + public static let standardDateTimeString: DittoSwift.CBOR.Tag + public static let epochBasedDateTime: DittoSwift.CBOR.Tag + public static let positiveBignum: DittoSwift.CBOR.Tag + public static let negativeBignum: DittoSwift.CBOR.Tag + public static let decimalFraction: DittoSwift.CBOR.Tag + public static let bigfloat: DittoSwift.CBOR.Tag + public static let expectedConversionToBase64URLEncoding: DittoSwift.CBOR.Tag + public static let expectedConversionToBase64Encoding: DittoSwift.CBOR.Tag + public static let expectedConversionToBase16Encoding: DittoSwift.CBOR.Tag + public static let encodedCBORDataItem: DittoSwift.CBOR.Tag + public static let uri: DittoSwift.CBOR.Tag + public static let base64Url: DittoSwift.CBOR.Tag + public static let base64: DittoSwift.CBOR.Tag + public static let regularExpression: DittoSwift.CBOR.Tag + public static let mimeMessage: DittoSwift.CBOR.Tag + public static let uuid: DittoSwift.CBOR.Tag + public static let selfDescribeCBOR: DittoSwift.CBOR.Tag +} +public struct DittoBluetoothLEConfig : Swift.Codable, Swift.Equatable { + public var isEnabled: Swift.Bool + public static func == (a: DittoSwift.DittoBluetoothLEConfig, b: DittoSwift.DittoBluetoothLEConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoLANConfig : Swift.Codable, Swift.Equatable { + public var isEnabled: Swift.Bool + public var isMDNSEnabled: Swift.Bool + public var isMulticastEnabled: Swift.Bool + @available(*, deprecated, message: "Please use `isMDNSEnabled` instead.") + public var ismDNSEnabled: Swift.Bool { + get + set + } + public static func == (a: DittoSwift.DittoLANConfig, b: DittoSwift.DittoLANConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoAWDLConfig : Swift.Codable, Swift.Equatable { + public var isEnabled: Swift.Bool + public static func == (a: DittoSwift.DittoAWDLConfig, b: DittoSwift.DittoAWDLConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoPeerToPeer : Swift.Codable, Swift.Equatable { + public var bluetoothLE: DittoSwift.DittoBluetoothLEConfig + public var lan: DittoSwift.DittoLANConfig + public var awdl: DittoSwift.DittoAWDLConfig + @available(*, deprecated, message: "Please use `bluetoothLE` instead.") + public var bluetoothLe: DittoSwift.DittoBluetoothLEConfig { + get + set + } + public static func == (a: DittoSwift.DittoPeerToPeer, b: DittoSwift.DittoPeerToPeer) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoConnect : Swift.Equatable { + public var tcpServers: Swift.Set + public var webSocketURLs: Swift.Set + public var retryInterval: Swift.Double + @available(*, deprecated, message: "Please use `webSocketURLs` instead.") + public var websocketURLs: Swift.Set { + get + set + } + public static func == (a: DittoSwift.DittoConnect, b: DittoSwift.DittoConnect) -> Swift.Bool +} +extension DittoSwift.DittoConnect : Swift.Codable { + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoTCPListenConfig : Swift.Codable, Swift.Equatable { + public var isEnabled: Swift.Bool + public var interfaceIP: Swift.String + public var port: Swift.UInt16 + @available(*, deprecated, message: "Please use `interfaceIP` instead.") + public var interfaceIp: Swift.String { + get + set + } + public static func == (a: DittoSwift.DittoTCPListenConfig, b: DittoSwift.DittoTCPListenConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoHTTPListenConfig : Swift.Equatable { + public var isEnabled: Swift.Bool + public var interfaceIP: Swift.String + public var port: Swift.UInt16 + public var staticContentPath: Swift.String? + public var webSocketSync: Swift.Bool + public var tlsKeyPath: Swift.String? + public var tlsCertificatePath: Swift.String? + public var isIdentityProvider: Swift.Bool + public var identityProviderSigningKey: Swift.String? + public var identityProviderVerifyingKeys: Swift.Array? + public var caKey: Swift.String? + @available(*, deprecated, message: "Please use `interfaceIP` instead.") + public var interfaceIp: Swift.String { + get + set + } + @available(*, deprecated, message: "Please use `webSocketSync` instead.") + public var websocketSync: Swift.Bool { + get + set + } + public static func == (a: DittoSwift.DittoHTTPListenConfig, b: DittoSwift.DittoHTTPListenConfig) -> Swift.Bool +} +extension DittoSwift.DittoHTTPListenConfig : Swift.Codable { + public init(from decoder: any Swift.Decoder) throws + public func encode(to encoder: any Swift.Encoder) throws +} +public struct DittoListen : Swift.Codable, Swift.Equatable { + public var tcp: DittoSwift.DittoTCPListenConfig + public var http: DittoSwift.DittoHTTPListenConfig + public static func == (a: DittoSwift.DittoListen, b: DittoSwift.DittoListen) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoGlobalConfig : Swift.Codable, Swift.Equatable { + public var syncGroup: Swift.UInt32 + public var routingHint: Swift.UInt32 + public static func == (a: DittoSwift.DittoGlobalConfig, b: DittoSwift.DittoGlobalConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoTransportConfig : Swift.Codable, Swift.Equatable { + public var peerToPeer: DittoSwift.DittoPeerToPeer + public var connect: DittoSwift.DittoConnect + public var listen: DittoSwift.DittoListen + public var global: DittoSwift.DittoGlobalConfig + public mutating func enableAllPeerToPeer() + public mutating func setAllPeerToPeer(enabled: Swift.Bool) + public init() + public static func == (a: DittoSwift.DittoTransportConfig, b: DittoSwift.DittoTransportConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public enum LMDBError : Swift.Equatable { + case keyExists + case notFound + case pageNotFound + case corrupted + case panic + case versionMismatch + case invalid + case mapFull + case dbsFull + case readersFull + case tlsFull + case txnFull + case cursorFull + case pageFull + case mapResized + case incompatible + case badReaderSlot + case badTransaction + case badValueSize + case badDBI + case problem + case invalidParameter + case outOfDiskSpace + case outOfMemory + case ioError + case accessViolation + case other(returnCode: Swift.Int32) + public static func == (a: DittoSwift.LMDBError, b: DittoSwift.LMDBError) -> Swift.Bool +} +@_hasMissingDesignatedInitializers public class DittoLiveQuery { + public var query: Swift.String { + get + } + public var collectionName: DittoSwift.DittoCollectionName { + get + } + public func stop() + @objc deinit +} +public typealias DittoSignalNext = () -> Swift.Void +@_hasMissingDesignatedInitializers public class DittoWriteTransactionPendingIDSpecificOperation { + @discardableResult + public func remove() -> Swift.Bool + @discardableResult + public func evict() -> Swift.Bool + public func exec() -> DittoSwift.DittoDocument? + @discardableResult + public func update(_ closure: @escaping (DittoSwift.DittoMutableDocument?) -> Swift.Void) -> [DittoSwift.DittoUpdateResult] + @available(*, deprecated, message: "Codable APIs will be removed in the future.") + public func update(using newValue: T) throws where T : Swift.Decodable, T : Swift.Encodable + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoMutableRegister { + public var value: Any? { + get + set + } + @objc deinit +} +extension DittoSwift.DittoMutableRegister { + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } +} +@_hasMissingDesignatedInitializers public class DittoPeerV2Parser { + public class func parseJson(json: Swift.String) -> [DittoSwift.DittoRemotePeerV2]? + @objc deinit +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DiskUsage { + public struct DiskUsagePublisher : Combine.Publisher { + public typealias Output = DittoSwift.DiskUsageItem + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == DittoSwift.DiskUsageItem + } + public func diskUsagePublisher() -> DittoSwift.DiskUsage.DiskUsagePublisher +} +@_hasMissingDesignatedInitializers public class DittoCounter { + public var value: Swift.Double { + get + } + convenience public init() + @objc deinit +} +extension DittoSwift.DittoCounter : Swift.Equatable { + public static func == (lhs: DittoSwift.DittoCounter, rhs: DittoSwift.DittoCounter) -> Swift.Bool +} +public enum DittoTransactionCompletionAction { + case commit + case rollback + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoTransactionCompletionAction : Swift.Equatable { + public static func == (a: DittoSwift.DittoTransactionCompletionAction, b: DittoSwift.DittoTransactionCompletionAction) -> Swift.Bool +} +public enum DittoLogLevel : Swift.Int { + case error + case warning + case info + case debug + case verbose + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +public enum DittoSmallPeerInfoSyncScope : Swift.UInt, Swift.CaseIterable { + case bigPeerOnly + case localPeerOnly + public init?(rawValue: Swift.UInt) + public typealias AllCases = [DittoSwift.DittoSmallPeerInfoSyncScope] + public typealias RawValue = Swift.UInt + nonisolated public static var allCases: [DittoSwift.DittoSmallPeerInfoSyncScope] { + get + } + public var rawValue: Swift.UInt { + get + } +} +extension DittoSwift.DittoSmallPeerInfoSyncScope : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} +public enum DittoConnectionPriority : Swift.Int { + case dontConnect + case normal + case high + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +public enum DittoTransportCondition : Swift.UInt32, Swift.CustomStringConvertible { + case Unknown + case Ok + case GenericFailure + case AppInBackground + case MdnsFailure + case TcpListenFailure + case NoBleCentralPermission + case NoBlePeripheralPermission + case CannotEstablishConnection + case BleDisabled + case NoBleHardware + case WifiDisabled + case TemporarilyUnavailable + public var description: Swift.String { + get + } + public init?(rawValue: Swift.UInt32) + public typealias RawValue = Swift.UInt32 + public var rawValue: Swift.UInt32 { + get + } +} +public enum DittoConditionSource : Swift.UInt32, Swift.CustomStringConvertible { + case Bluetooth + case Tcp + case Awdl + case Mdns + public var description: Swift.String { + get + } + public init?(rawValue: Swift.UInt32) + public typealias RawValue = Swift.UInt32 + public var rawValue: Swift.UInt32 { + get + } +} +public typealias DittoStoreObservationHandler = (_ result: DittoSwift.DittoQueryResult) -> Swift.Void +public typealias DittoStoreObservationHandlerWithSignalNext = (_ result: DittoSwift.DittoQueryResult, _ signalNext: @escaping DittoSwift.DittoSignalNext) -> Swift.Void +@_hasMissingDesignatedInitializers public class DittoStoreObserver { + weak public var ditto: DittoSwift.Ditto? { + get + } + final public let queryString: Swift.String + final public let queryArguments: Swift.Dictionary? + public var isCancelled: Swift.Bool { + get + } + public func cancel() + @objc deinit +} +extension DittoSwift.DittoStoreObserver : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoStoreObserver : Swift.Equatable { + public static func == (left: DittoSwift.DittoStoreObserver, right: DittoSwift.DittoStoreObserver) -> Swift.Bool +} +public struct DittoDocumentPath { + public subscript(key: Swift.String) -> DittoSwift.DittoDocumentPath { + get + } + public subscript(index: Swift.Int) -> DittoSwift.DittoDocumentPath { + get + } +} +extension DittoSwift.DittoDocumentPath { + public var value: Any? { + get + } + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } + public var attachmentToken: DittoSwift.DittoAttachmentToken? { + get + } + public var counter: DittoSwift.DittoCounter? { + get + } + public var register: DittoSwift.DittoRegister? { + get + } +} +public struct DittoDiff { + public let insertions: Foundation.IndexSet + public let deletions: Foundation.IndexSet + public let updates: Foundation.IndexSet + public let moves: [(from: Swift.Int, to: Swift.Int)] +} +extension DittoSwift.DittoDiff : Swift.Decodable { + public init(from decoder: any Swift.Decoder) throws +} +extension DittoSwift.DittoDiff : Swift.Equatable { + public static func == (lhs: DittoSwift.DittoDiff, rhs: DittoSwift.DittoDiff) -> Swift.Bool +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoCollection { + @available(*, deprecated, message: "Replaced by `DittoStore.FetchAttachmentPublisher`.") + public struct FetchAttachmentPublisher : Combine.Publisher { + public struct Progress { + public var percentage: Swift.Float + public var downloadedBytes: Swift.UInt64 + public var totalBytes: Swift.UInt64 + } + public typealias Output = DittoSwift.DittoAttachmentFetchEvent + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == DittoSwift.DittoAttachmentFetchEvent + public func progress() -> Combine.AnyPublisher + public func completed() -> Combine.AnyPublisher + } + @available(*, deprecated, message: "Replaced by `DittoStore.fetchAttachmentPublisher`.") + public func fetchAttachmentPublisher(attachmentToken: DittoSwift.DittoAttachmentToken) -> DittoSwift.DittoCollection.FetchAttachmentPublisher +} +@_hasMissingDesignatedInitializers public class DittoRemotePeerV2 : Swift.Identifiable, Swift.Equatable, Swift.Hashable { + public var id: Swift.UInt32 { + get + } + public var address: DittoSwift.DittoAddress { + get + } + public var networkID: Swift.UInt32 { + get + } + public var deviceName: Swift.String { + get + } + public var os: Swift.String { + get + } + @available(*, deprecated, message: "Query overlap groups have been phased out, this property always returns 0.") + public var queryOverlapGroup: Swift.UInt8 { + get + } + public static func == (lhs: DittoSwift.DittoRemotePeerV2, rhs: DittoSwift.DittoRemotePeerV2) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public typealias ID = Swift.UInt32 + @objc deinit + public var hashValue: Swift.Int { + get + } +} +public struct DiskUsageItem { + public let type: DittoSwift.DittoFileSystemType + public let path: Swift.String + public let sizeInBytes: Swift.Int + public let childItems: [DittoSwift.DiskUsageItem] + public init(type: DittoSwift.DittoFileSystemType, path: Swift.String, sizeInBytes: Swift.Int, children: [DittoSwift.DiskUsageItem]) +} +extension DittoSwift.DiskUsageItem : Swift.Equatable { + public static func == (a: DittoSwift.DiskUsageItem, b: DittoSwift.DiskUsageItem) -> Swift.Bool +} +extension DittoSwift.DiskUsageItem : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DiskUsageItem : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} +public enum DittoWriteStrategy { + case merge + case insertIfAbsent + case insertDefaultIfAbsent + case updateDifferentValues + public static func == (a: DittoSwift.DittoWriteStrategy, b: DittoSwift.DittoWriteStrategy) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum DittoLiveQueryEvent { + case initial + case update(DittoSwift.DittoLiveQueryUpdate) + public func hash(documents: [DittoSwift.DittoDocument]) -> Swift.UInt64 + public func hashMnemonic(documents: [DittoSwift.DittoDocument]) -> Swift.String +} +public struct DittoLiveQueryUpdate { + public let oldDocuments: [DittoSwift.DittoDocument] + public let insertions: [Swift.Int] + public let deletions: [Swift.Int] + public let updates: [Swift.Int] + public let moves: [(from: Swift.Int, to: Swift.Int)] +} +extension DittoSwift.DittoLiveQueryEvent : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible { + public var description: Swift.String { + get + } + public var debugDescription: Swift.String { + get + } +} +public struct DittoConnection { + public var id: Swift.String + public var type: DittoSwift.DittoConnectionType + @available(*, deprecated, message: "Use `peerKeyString1` instead.") + public var peer1: Foundation.Data { + get + set + } + @available(*, deprecated, message: "Use `peerKeyString2` instead.") + public var peer2: Foundation.Data { + get + set + } + public var peerKeyString1: Swift.String + public var peerKeyString2: Swift.String + public var approximateDistanceInMeters: Swift.Double? + @available(*, deprecated, message: "Use the variant taking peer key strings instead.") + public init(id: Swift.String, type: DittoSwift.DittoConnectionType, peer1: Foundation.Data, peer2: Foundation.Data, approximateDistanceInMeters: Swift.Double? = nil) + public init(id: Swift.String, type: DittoSwift.DittoConnectionType, peerKeyString1: Swift.String, peerKeyString2: Swift.String, approximateDistanceInMeters: Swift.Double? = nil) +} +extension DittoSwift.DittoConnection : Swift.Identifiable { + public typealias ID = Swift.String +} +extension DittoSwift.DittoConnection : Swift.Equatable { + public static func == (a: DittoSwift.DittoConnection, b: DittoSwift.DittoConnection) -> Swift.Bool +} +extension DittoSwift.DittoConnection : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoConnection : Swift.Codable { + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +@_hasMissingDesignatedInitializers public class Ditto { + public class var version: Swift.String { + get + } + public var delegate: (any DittoSwift.DittoDelegate)? { + get + set + } + public var deviceName: Swift.String { + get + set + } + public var siteID: Swift.UInt64 { + get + } + public var persistenceDirectory: Foundation.URL { + get + } + public var appID: Swift.String { + get + } + public var activated: Swift.Bool { + get + } + public var isSyncActive: Swift.Bool { + get + } + public var isEncrypted: Swift.Bool { + get + } + public var auth: DittoSwift.DittoAuthenticator? { + get + } + final public let diskUsage: DittoSwift.DiskUsage + final public let store: DittoSwift.DittoStore + final public let sync: DittoSwift.DittoSync + final public let presence: DittoSwift.DittoPresence + final public let smallPeerInfo: DittoSwift.DittoSmallPeerInfo + final public let experimental: DittoSwift.DittoExperimental + public var delegateEventQueue: Dispatch.DispatchQueue { + get + set + } + public var transportConfig: DittoSwift.DittoTransportConfig { + get + set + } + public func updateTransportConfig(block: (inout DittoSwift.DittoTransportConfig) -> Swift.Void) + public var isHistoryTrackingEnabled: Swift.Bool { + get + } + convenience public init(identity: DittoSwift.DittoIdentity = .offlinePlayground(), persistenceDirectory directory: Foundation.URL? = nil) + convenience public init(identity: DittoSwift.DittoIdentity = .offlinePlayground(), historyTrackingEnabled: Swift.Bool, persistenceDirectory: Foundation.URL? = nil) + public func setOfflineOnlyLicenseToken(_ licenseToken: Swift.String) throws + public func startSync() throws + public func stopSync() + public func transportDiagnostics() throws -> DittoSwift.DittoTransportDiagnostics + public var sdkVersion: Swift.String { + get + } + public func runGarbageCollection() + public func disableSyncWithV3() throws + @available(*, deprecated, message: "Use `self.presence.observe()` instead.") + public func observePeers(callback: @escaping (Swift.Array) -> ()) -> DittoSwift.DittoObserver + @available(*, deprecated, message: "Use `self.presence.observe()` instead.") + public func observePeersV2(callback: @escaping (Swift.String) -> ()) -> DittoSwift.DittoObserver + @objc deinit +} +public struct DittoDocumentID : Swift.Hashable { + public init(value: Any?) + public subscript(key: Swift.String) -> DittoSwift.DittoDocumentIDPath { + get + } + public subscript(index: Swift.Int) -> DittoSwift.DittoDocumentIDPath { + get + } + public func toString() -> Swift.String + public static func == (lhs: DittoSwift.DittoDocumentID, rhs: DittoSwift.DittoDocumentID) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoDocumentID { + public var value: Any? { + get + } + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } +} +extension DittoSwift.DittoDocumentID : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible { + public var description: Swift.String { + get + } + public var debugDescription: Swift.String { + get + } +} +extension DittoSwift.DittoDocumentID : Swift.ExpressibleByStringLiteral { + public init(stringLiteral value: Swift.StringLiteralType) + public typealias ExtendedGraphemeClusterLiteralType = Swift.StringLiteralType + public typealias StringLiteralType = Swift.StringLiteralType + public typealias UnicodeScalarLiteralType = Swift.StringLiteralType +} +extension DittoSwift.DittoDocumentID : Swift.ExpressibleByBooleanLiteral { + public init(booleanLiteral value: Swift.BooleanLiteralType) + public typealias BooleanLiteralType = Swift.BooleanLiteralType +} +extension DittoSwift.DittoDocumentID : Swift.ExpressibleByIntegerLiteral { + public init(integerLiteral value: Swift.IntegerLiteralType) + public typealias IntegerLiteralType = Swift.IntegerLiteralType +} +extension DittoSwift.DittoDocumentID : Swift.ExpressibleByArrayLiteral { + public typealias ArrayLiteralElement = Any? + public init(arrayLiteral elements: Any?...) +} +extension DittoSwift.DittoDocumentID : Swift.ExpressibleByDictionaryLiteral { + public typealias Key = Swift.String + public typealias Value = Any? + public init(dictionaryLiteral elements: (DittoSwift.DittoDocumentID.Key, DittoSwift.DittoDocumentID.Value)...) +} +public struct DittoSingleDocumentLiveQueryEvent { + public let isInitial: Swift.Bool + public let oldDocument: DittoSwift.DittoDocument? + public func hash(document: DittoSwift.DittoDocument?) -> Swift.UInt64 + public func hashMnemonic(document: DittoSwift.DittoDocument?) -> Swift.String +} +@_hasMissingDesignatedInitializers public class DittoExperimental { + public class func open(identity: DittoSwift.DittoIdentity = .offlinePlayground(), historyTrackingEnabled: Swift.Bool = false, persistenceDirectory: Foundation.URL? = nil, passphrase: Swift.String? = nil) throws -> DittoSwift.Ditto + public class func jsonByTranscoding(cbor: Foundation.Data) throws -> Foundation.Data + public class func triggerTestPanic() + @objc deinit +} +public protocol DittoAuthenticationDelegate : AnyObject { + func authenticationRequired(authenticator: DittoSwift.DittoAuthenticator) + func authenticationExpiringSoon(authenticator: DittoSwift.DittoAuthenticator, secondsRemaining: Swift.Int64) + func authenticationStatusDidChange(authenticator: DittoSwift.DittoAuthenticator) +} +extension DittoSwift.DittoAuthenticationDelegate { + public func authenticationStatusDidChange(authenticator: DittoSwift.DittoAuthenticator) +} +@_hasMissingDesignatedInitializers public class DittoSyncSubscription { + weak public var ditto: DittoSwift.Ditto? { + get + } + final public let queryString: Swift.String + final public let queryArguments: [Swift.String : Any?]? + public var isCancelled: Swift.Bool { + get + } + public func cancel() + @objc deinit +} +extension DittoSwift.DittoSyncSubscription : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoSyncSubscription : Swift.Equatable { + public static func == (left: DittoSwift.DittoSyncSubscription, right: DittoSwift.DittoSyncSubscription) -> Swift.Bool +} +public struct DittoDocumentIDPath { + public subscript(key: Swift.String) -> DittoSwift.DittoDocumentIDPath { + get + } + public subscript(index: Swift.Int) -> DittoSwift.DittoDocumentIDPath { + get + } +} +extension DittoSwift.DittoDocumentIDPath { + public var value: Any? { + get + } + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } +} +public typealias DittoAuthenticationRequest = DittoObjC.DITAuthenticationRequest +public typealias DittoAuthenticationSuccess = DittoObjC.DITAuthenticationSuccess +public protocol DittoDelegate : AnyObject { + func dittoTransportConditionDidChange(ditto: DittoSwift.Ditto, condition: DittoSwift.DittoTransportCondition, subsystem: DittoSwift.DittoConditionSource) + func dittoIdentityProviderAuthenticationRequest(ditto: DittoSwift.Ditto, request: DittoSwift.DittoAuthenticationRequest) +} +extension DittoSwift.DittoDelegate { + public func dittoTransportConditionDidChange(ditto: DittoSwift.Ditto, condition: DittoSwift.DittoTransportCondition, subsystem: DittoSwift.DittoConditionSource) + public func dittoIdentityProviderAuthenticationRequest(ditto: DittoSwift.Ditto, request: DittoSwift.DittoAuthenticationRequest) + public func dittoIdentityProviderRefreshRequest(ditto: DittoSwift.Ditto, request: Foundation.Data) +} +@available(*, deprecated, message: "Replaced by `DittoPeer`.") +public struct DittoRemotePeer : Swift.Codable { + public let networkId: Swift.String + public let deviceName: Swift.String + public let connections: [Swift.String] + public let rssi: Swift.Float? + public var approximateDistanceInMeters: Swift.Float? + public init(networkId: Swift.String, deviceName: Swift.String, connections: [Swift.String], rssi: Swift.Float? = nil, approximateDistanceInMeters: Swift.Float? = nil) + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +@available(*, deprecated, message: "Replaced by `DittoPeer`.") +extension DittoSwift.DittoRemotePeer : Swift.Identifiable { + public var id: Swift.String { + get + } + @available(*, deprecated, message: "Replaced by `DittoPeer`.") + public typealias ID = Swift.String +} +@_hasMissingDesignatedInitializers public class DittoAttachment : Swift.Hashable { + public var id: Swift.String { + get + } + public var len: Swift.Int { + get + } + public var metadata: [Swift.String : Swift.String] { + get + } + public static func == (lhs: DittoSwift.DittoAttachment, rhs: DittoSwift.DittoAttachment) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + @available(*, deprecated, message: "Replaced by `DittoAttachment.data()`.") + public func getData() throws -> Foundation.Data + public func data() throws -> Foundation.Data + public func copy(toPath path: Swift.String) throws + @objc deinit + public var hashValue: Swift.Int { + get + } +} +@_hasMissingDesignatedInitializers public class DittoAttachmentToken { + public var id: Swift.String { + get + } + public var len: Swift.Int { + get + } + public var metadata: [Swift.String : Swift.String] { + get + } + @objc deinit +} +extension DittoSwift.DittoAttachmentToken : Swift.Equatable { + public static func == (lhs: DittoSwift.DittoAttachmentToken, rhs: DittoSwift.DittoAttachmentToken) -> Swift.Bool +} +extension DittoSwift.DittoAttachmentToken : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoPendingCursorOperation { + public typealias Snapshot = (documents: [DittoSwift.DittoDocument], event: DittoSwift.DittoLiveQueryEvent) + public struct LiveQueryPublisher : Combine.Publisher { + public typealias Output = DittoSwift.DittoPendingCursorOperation.Snapshot + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == (documents: [DittoSwift.DittoDocument], event: DittoSwift.DittoLiveQueryEvent) + } + public func liveQueryPublisher() -> DittoSwift.DittoPendingCursorOperation.LiveQueryPublisher +} +public struct DittoTransactionInfo { +} +extension DittoSwift.DittoTransactionInfo : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoTransactionInfo : Swift.Equatable { + public static func == (a: DittoSwift.DittoTransactionInfo, b: DittoSwift.DittoTransactionInfo) -> Swift.Bool +} +extension DittoSwift.DittoTransactionInfo : Swift.Codable { + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +@_hasMissingDesignatedInitializers public class DittoTransportDiagnostics { + final public let transports: [DittoSwift.DittoTransportSnapshot] + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoSmallPeerInfo { + public var isEnabled: Swift.Bool { + get + set + } + public var syncScope: DittoSwift.DittoSmallPeerInfoSyncScope { + get + set + } + public var metadata: [Swift.String : Any] { + get + } + public func setMetadata(_ metadata: [Swift.String : Any]) throws + public var metadataJSONString: Swift.String { + get + } + public func setMetadataJSONString(_ jsonString: Swift.String) throws + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoPendingIDSpecificOperation { + public func subscribe() -> DittoSwift.DittoSubscription + @discardableResult + public func remove() -> Swift.Bool + @discardableResult + public func evict() -> Swift.Bool + public func exec() -> DittoSwift.DittoDocument? + public func observeLocal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping (DittoSwift.DittoDocument?, DittoSwift.DittoSingleDocumentLiveQueryEvent) -> Swift.Void) -> DittoSwift.DittoLiveQuery + public func observeLocalWithNextSignal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping (DittoSwift.DittoDocument?, DittoSwift.DittoSingleDocumentLiveQueryEvent, @escaping DittoSwift.DittoSignalNext) -> Swift.Void) -> DittoSwift.DittoLiveQuery + @discardableResult + public func update(_ closure: @escaping (DittoSwift.DittoMutableDocument?) -> Swift.Void) -> [DittoSwift.DittoUpdateResult] + @available(*, deprecated, message: "Codable APIs will be removed in the future.") + public func update(using newValue: T) throws where T : Swift.Decodable, T : Swift.Encodable + @objc deinit +} +public enum DittoObjCInterop { + public static func initDittoWith(ditDitto: DittoObjC.DITDitto) -> DittoSwift.Ditto + public static func ditDittoFor(ditto: DittoSwift.Ditto) -> DittoObjC.DITDitto +} +@_hasMissingDesignatedInitializers public class DittoWriteTransactionPendingCursorOperation { + public func limit(_ limit: Swift.Int32) -> Self + public func sort(_ query: Swift.String, direction: DittoSwift.DittoSortDirection) -> Self + public func offset(_ offset: Swift.UInt32) -> Self + public func exec() -> [DittoSwift.DittoDocument] + @discardableResult + public func remove() -> [DittoSwift.DittoDocumentID] + @discardableResult + public func evict() -> [DittoSwift.DittoDocumentID] + @discardableResult + public func update(_ closure: @escaping ([DittoSwift.DittoMutableDocument]) -> Swift.Void) -> [DittoSwift.DittoDocumentID : [DittoSwift.DittoUpdateResult]] + @objc deinit +} +public struct DittoPeer { + public var address: DittoSwift.DittoAddress + @available(*, deprecated, message: "Use `peerKeyString` instead.") + public var peerKey: Foundation.Data { + get + set + } + public var peerKeyString: Swift.String + public var connections: [DittoSwift.DittoConnection] + public var deviceName: Swift.String + public var isConnectedToDittoCloud: Swift.Bool + @available(*, deprecated, message: "Query overlap groups have been phased out, this property always returns 0.") + public var queryOverlapGroup: Swift.UInt8 { + get + set + } + public var os: Swift.String? + public var dittoSDKVersion: Swift.String? + public var isCompatible: Swift.Bool? + public var peerMetadata: [Swift.String : Any?] { + get + } + public var identityServiceMetadata: [Swift.String : Any?] { + get + } + @available(*, deprecated, message: "Use `peerKeyString` variant instead.") + public init(address: DittoSwift.DittoAddress, peerKey: Foundation.Data, connections: [DittoSwift.DittoConnection], deviceName: Swift.String, isConnectedToDittoCloud: Swift.Bool, queryOverlapGroup: Swift.UInt8, os: Swift.String? = nil, dittoSDKVersion: Swift.String? = nil, isCompatible: Swift.Bool? = nil, peerMetadata: [Swift.String : Swift.AnyHashable?] = [:], identityServiceMetadata: [Swift.String : Swift.AnyHashable?] = [:]) + @available(*, deprecated, message: "Use the version without `queryOverlapGroup` instead.") + public init(address: DittoSwift.DittoAddress, peerKeyString: Swift.String, connections: [DittoSwift.DittoConnection], deviceName: Swift.String, isConnectedToDittoCloud: Swift.Bool, queryOverlapGroup: Swift.UInt8, os: Swift.String? = nil, dittoSDKVersion: Swift.String? = nil, isCompatible: Swift.Bool? = nil, peerMetadata: [Swift.String : Any?] = [:], identityServiceMetadata: [Swift.String : Any?] = [:]) + public init(address: DittoSwift.DittoAddress, peerKeyString: Swift.String, connections: [DittoSwift.DittoConnection], deviceName: Swift.String, isConnectedToDittoCloud: Swift.Bool, os: Swift.String? = nil, dittoSDKVersion: Swift.String? = nil, isCompatible: Swift.Bool? = nil, peerMetadata: [Swift.String : Any?] = [:], identityServiceMetadata: [Swift.String : Any?] = [:]) +} +extension DittoSwift.DittoPeer : Swift.Equatable { + public static func == (a: DittoSwift.DittoPeer, b: DittoSwift.DittoPeer) -> Swift.Bool +} +extension DittoSwift.DittoPeer : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoPeer : Swift.Codable { + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +@_hasMissingDesignatedInitializers public class DittoQueryResult { + final public let items: [DittoSwift.DittoQueryResultItem] + public func mutatedDocumentIDs() -> [DittoSwift.DittoDocumentID] + @objc deinit +} +extension Foundation.NSNotification.Name { + public static let dittoAuthenticationStatusDidChange: Foundation.NSNotification.Name +} +@_hasMissingDesignatedInitializers public class DittoAuthenticator { + public var status: DittoSwift.DittoAuthenticationStatus { + get + } + public func login(token: Swift.String, provider: Swift.String, completion: @escaping (Swift.String?, DittoSwift.DittoSwiftError?) -> Swift.Void) + @available(*, deprecated, message: "Use `login` that provides access to the clientInfo JSON string in the completion closure instead.") + public func loginWithToken(_ token: Swift.String, provider: Swift.String, completion: @escaping (DittoSwift.DittoSwiftError?) -> Swift.Void) + public func loginWithCredentials(username: Swift.String, password: Swift.String, provider: Swift.String, completion: @escaping (DittoSwift.DittoSwiftError?) -> Swift.Void) + public func logout(cleanup: ((DittoSwift.Ditto) -> Swift.Void)? = nil) + public func observeStatus(_ block: @escaping (DittoSwift.DittoAuthenticationStatus) -> Swift.Void) -> DittoSwift.DittoObserver + @objc deinit +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.Ditto { + @available(*, deprecated, message: "Replaced by `DittoPresence.GraphPublisher`.") + public struct RemotePeersPublisher : Combine.Publisher { + public typealias Output = [DittoSwift.DittoRemotePeer] + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == [DittoSwift.DittoRemotePeer] + } + @available(*, deprecated, message: "Replaced by `self.presence.graphPublisher()`.") + public func remotePeersPublisher() -> DittoSwift.Ditto.RemotePeersPublisher +} +public enum DittoSwiftError : Swift.Error { + public enum ActivationErrorReason { + case licenseTokenExpired(message: Swift.String) + case licenseTokenUnsupportedFutureVersion(message: Swift.String) + case licenseTokenVerificationFailed(message: Swift.String) + case notActivatedError(message: Swift.String) + } + public enum AuthenticationErrorReason { + case failedToAuthenticate + public static func == (a: DittoSwift.DittoSwiftError.AuthenticationErrorReason, b: DittoSwift.DittoSwiftError.AuthenticationErrorReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } + } + public enum EncryptionErrorReason { + case extraneousPassphraseGiven + case passphraseInvalid + case passphraseNotGiven + public static func == (a: DittoSwift.DittoSwiftError.EncryptionErrorReason, b: DittoSwift.DittoSwiftError.EncryptionErrorReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } + } + public enum MigrationErrorReason { + case disableSyncWithV3Failed + public static func == (a: DittoSwift.DittoSwiftError.MigrationErrorReason, b: DittoSwift.DittoSwiftError.MigrationErrorReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } + } + public enum StoreErrorReason { + case attachmentDataRetrievalError(error: any Swift.Error) + case attachmentFileCopyError(error: any Swift.Error) + case attachmentFileNotFound(message: Swift.String) + case attachmentFilePermissionDenied(message: Swift.String) + case attachmentNotFound(message: Swift.String) + case attachmentTokenInvalid(message: Swift.String) + case failedToCreateAttachment(message: Swift.String) + case failedToFetchAttachment(message: Swift.String) + case backendError(message: Swift.String) + case crdtError(message: Swift.String) + case documentContentEncodingFailed(error: (any Swift.Error)?) + case documentNotFound + case failedToDecodeData(error: (any Swift.Error)?, data: [Swift.UInt8]) + case failedToDecodeDocument(error: any Swift.Error) + case failedToGetDocumentData(path: Swift.String) + case failedToGetDocumentIDData(path: Swift.String) + case invalidCRDTType(message: Swift.String) + case invalidDocumentStructure(cbor: DittoSwift.CBOR) + case invalidValueForCRDT(message: Swift.String) + case nonStringKeyInDocument(key: DittoSwift.CBOR) + case queryArgumentsInvalid + case queryError(message: Swift.String) + case queryInvalid(message: Swift.String) + case queryNotSupported(message: Swift.String) + case transactionReadOnly(message: Swift.String) + } + public enum TransportErrorReason { + case diagnosticsUnavailable + case failedToDecodeTransportDiagnostics + public static func == (a: DittoSwift.DittoSwiftError.TransportErrorReason, b: DittoSwift.DittoSwiftError.TransportErrorReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } + } + public enum ValidationErrorReason { + case depthLimitExceeded(message: Swift.String) + case notADictionary(message: Swift.String) + case notJSONCompatible(message: Swift.String) + case invalidJSON(message: Swift.String) + case invalidCBOR(message: Swift.String) + case sizeLimitExceeded(message: Swift.String) + } + public enum IOErrorReason { + case alreadyExists(message: Swift.String) + case notFound(message: Swift.String) + case permissionDenied(message: Swift.String) + case operationFailed(message: Swift.String) + } + case activationError(reason: DittoSwift.DittoSwiftError.ActivationErrorReason) + case authenticationError(reason: DittoSwift.DittoSwiftError.AuthenticationErrorReason) + case encryptionError(reason: DittoSwift.DittoSwiftError.EncryptionErrorReason) + case migrationError(reason: DittoSwift.DittoSwiftError.MigrationErrorReason) + case storeError(reason: DittoSwift.DittoSwiftError.StoreErrorReason) + case transportError(reason: DittoSwift.DittoSwiftError.TransportErrorReason) + case validationError(reason: DittoSwift.DittoSwiftError.ValidationErrorReason) + case ioError(reason: DittoSwift.DittoSwiftError.IOErrorReason) + case unsupportedError(message: Swift.String) + case unknownError(message: Swift.String) +} +extension DittoSwift.DittoSwiftError : Foundation.LocalizedError { + public var errorDescription: Swift.String? { + get + } +} +@_hasMissingDesignatedInitializers public class DittoWriteTransaction { + public func scoped(toCollectionNamed collectionName: DittoSwift.DittoCollectionName) -> DittoSwift.DittoScopedWriteTransaction + public subscript(collectionName: DittoSwift.DittoCollectionName) -> DittoSwift.DittoScopedWriteTransaction { + get + } + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoLogger { + public static var enabled: Swift.Bool { + get + set + } + public static var minimumLogLevel: DittoSwift.DittoLogLevel { + get + set + } + public static var emojiLogLevelHeadingsEnabled: Swift.Bool { + get + set + } + public static func setLogFile(_ logFile: Swift.String?) + public static func setLogFileURL(_ logFile: Foundation.URL?) + public static func setCustomLogCallback(_ logCb: ((DittoSwift.DittoLogLevel, Swift.String) -> ())?) + @discardableResult + public static func export(to fileURL: Foundation.URL) async throws -> Swift.UInt64 + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoSubscription { + public var query: Swift.String { + get + } + public var collectionName: DittoSwift.DittoCollectionName { + get + } + public func cancel() + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoScopedWriteTransaction { + public var collectionName: DittoSwift.DittoCollectionName { + get + } + @discardableResult + public func upsert(_ content: [Swift.String : Any?], writeStrategy: DittoSwift.DittoWriteStrategy = .merge) throws -> DittoSwift.DittoDocumentID + @discardableResult + @available(*, deprecated, message: "Codable APIs will be removed in the future.") + public func upsert(_ content: T, writeStrategy: DittoSwift.DittoWriteStrategy = .merge) throws -> DittoSwift.DittoDocumentID where T : Swift.Decodable, T : Swift.Encodable + public func findByID(_ id: DittoSwift.DittoDocumentID) -> DittoSwift.DittoWriteTransactionPendingIDSpecificOperation + public func findByID(_ id: Any) -> DittoSwift.DittoWriteTransactionPendingIDSpecificOperation + public func find(_ query: Swift.String) -> DittoSwift.DittoWriteTransactionPendingCursorOperation + public func find(_ query: Swift.String, args queryArgs: Swift.Dictionary) -> DittoSwift.DittoWriteTransactionPendingCursorOperation + public func findAll() -> DittoSwift.DittoWriteTransactionPendingCursorOperation + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoMutableDocumentPath : Swift.ExpressibleByStringLiteral, Swift.ExpressibleByIntegerLiteral, Swift.ExpressibleByBooleanLiteral, Swift.ExpressibleByFloatLiteral, Swift.ExpressibleByDictionaryLiteral, Swift.ExpressibleByArrayLiteral, Swift.ExpressibleByNilLiteral { + public subscript(key: Swift.String) -> DittoSwift.DittoMutableDocumentPath { + get + set + } + public subscript(index: Swift.Int) -> DittoSwift.DittoMutableDocumentPath { + get + set + } + public func set(_ value: Any?, isDefault: Swift.Bool = false) + public func remove() + required public init(stringLiteral value: Swift.StringLiteralType) + required public init(extendedGraphemeClusterLiteral value: Swift.StringLiteralType) + required public init(unicodeScalarLiteral value: Swift.StringLiteralType) + required public init(integerLiteral value: Swift.IntegerLiteralType) + required public init(booleanLiteral value: Swift.BooleanLiteralType) + required public init(floatLiteral value: Swift.FloatLiteralType) + required public init(dictionaryLiteral elements: (Swift.String, Any)...) + required public init(arrayLiteral elements: Any...) + required public init(nilLiteral: ()) + public typealias ArrayLiteralElement = Any + public typealias BooleanLiteralType = Swift.BooleanLiteralType + public typealias ExtendedGraphemeClusterLiteralType = Swift.StringLiteralType + public typealias FloatLiteralType = Swift.FloatLiteralType + public typealias IntegerLiteralType = Swift.IntegerLiteralType + public typealias Key = Swift.String + public typealias StringLiteralType = Swift.StringLiteralType + public typealias UnicodeScalarLiteralType = Swift.StringLiteralType + public typealias Value = Any + @objc deinit +} +extension DittoSwift.DittoMutableDocumentPath { + public var value: Any? { + get + } + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } + public var attachmentToken: DittoSwift.DittoAttachmentToken? { + get + } + public var counter: DittoSwift.DittoMutableCounter? { + get + } + public var register: DittoSwift.DittoMutableRegister? { + get + } +} +public struct DittoAuthenticationStatus : Swift.Equatable { + public var isAuthenticated: Swift.Bool + public var userID: Swift.String? + public static func == (a: DittoSwift.DittoAuthenticationStatus, b: DittoSwift.DittoAuthenticationStatus) -> Swift.Bool +} +public struct DittoPresenceGraph { + public var localPeer: DittoSwift.DittoPeer + public var remotePeers: [DittoSwift.DittoPeer] + public init(localPeer: DittoSwift.DittoPeer, remotePeers: [DittoSwift.DittoPeer]) + public func allConnectionsByID() -> Swift.Dictionary +} +extension DittoSwift.DittoPresenceGraph : Swift.Equatable { + public static func == (a: DittoSwift.DittoPresenceGraph, b: DittoSwift.DittoPresenceGraph) -> Swift.Bool +} +extension DittoSwift.DittoPresenceGraph : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoPresenceGraph : Swift.Codable { + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +extension Swift.Int32 : Swift.Error { +} +@_hasMissingDesignatedInitializers @available(*, deprecated, message: "Codable APIs will be removed in the future") +public class DittoTypedDocument where T : Swift.Decodable { + final public let id: DittoSwift.DittoDocumentID + final public let value: T + @objc deinit +} +public enum DittoSortDirection { + case ascending + case descending + public static func == (a: DittoSwift.DittoSortDirection, b: DittoSwift.DittoSortDirection) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_hasMissingDesignatedInitializers public class DittoQueryResultItem { + public var value: Swift.Dictionary { + get + } + public var isMaterialized: Swift.Bool { + get + } + public func materialize() + public func dematerialize() + public func cborData() -> Foundation.Data + public func jsonData() -> Foundation.Data + public func jsonString() -> Swift.String + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoTransaction { + public var info: DittoSwift.DittoTransactionInfo { + get + } + final public let store: DittoSwift.DittoStore + @objc deinit +} +extension DittoSwift.DittoTransaction : DittoSwift.DittoQueryExecuting { + @discardableResult + public func execute(query: Swift.String, arguments: Swift.Dictionary) async throws -> DittoSwift.DittoQueryResult +} +@_hasMissingDesignatedInitializers public class DittoPendingCollectionsOperation { + public func limit(_ limit: Swift.Int32) -> Self + public func sort(_ query: Swift.String, direction: DittoSwift.DittoSortDirection) -> Self + public func offset(_ offset: Swift.UInt32) -> Self + public func subscribe() -> DittoSwift.DittoSubscription + public func exec() -> [DittoSwift.DittoCollection] + public func observeLocal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping (DittoSwift.DittoCollectionsEvent) -> Swift.Void) -> DittoSwift.DittoLiveQuery + public func observeLocalWithNextSignal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping (DittoSwift.DittoCollectionsEvent, @escaping DittoSwift.DittoSignalNext) -> Swift.Void) -> DittoSwift.DittoLiveQuery + @objc deinit +} +public typealias DittoConnectionRequestHandler = (_ connectionRequest: DittoSwift.DittoConnectionRequest) async -> DittoSwift.DittoConnectionRequestAuthorization +@_hasMissingDesignatedInitializers public class DittoConnectionRequest { + public var peerKeyString: Swift.String { + get + } + public var peerMetadata: [Swift.String : Any?] { + get + } + public var peerMetadataJSONData: Foundation.Data { + get + } + public var identityServiceMetadata: [Swift.String : Any?] { + get + } + public var identityServiceMetadataJSONData: Foundation.Data { + get + } + public var connectionType: DittoSwift.DittoConnectionType { + get + } + @objc deinit +} +extension DittoSwift.DittoConnectionRequest : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoPresence { + public struct GraphPublisher : Combine.Publisher { + public typealias Output = DittoSwift.DittoPresenceGraph + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == DittoSwift.DittoPresenceGraph + } + public func graphPublisher() -> DittoSwift.DittoPresence.GraphPublisher +} +public struct DittoAddress { +} +extension DittoSwift.DittoAddress : Swift.Equatable { + public static func == (a: DittoSwift.DittoAddress, b: DittoSwift.DittoAddress) -> Swift.Bool +} +extension DittoSwift.DittoAddress : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoAddress : Swift.Codable { + public init(from decoder: any Swift.Decoder) throws + public func encode(to encoder: any Swift.Encoder) throws +} +@_hasMissingDesignatedInitializers public class DittoPendingCursorOperation { + public func limit(_ limit: Swift.Int32) -> Self + public func sort(_ query: Swift.String, direction: DittoSwift.DittoSortDirection) -> Self + public func offset(_ offset: Swift.UInt32) -> Self + public func subscribe() -> DittoSwift.DittoSubscription + @discardableResult + public func remove() -> [DittoSwift.DittoDocumentID] + @discardableResult + public func evict() -> [DittoSwift.DittoDocumentID] + public func exec() -> [DittoSwift.DittoDocument] + public func observeLocal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping ([DittoSwift.DittoDocument], DittoSwift.DittoLiveQueryEvent) -> Swift.Void) -> DittoSwift.DittoLiveQuery + public func observeLocalWithNextSignal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping ([DittoSwift.DittoDocument], DittoSwift.DittoLiveQueryEvent, @escaping DittoSwift.DittoSignalNext) -> Swift.Void) -> DittoSwift.DittoLiveQuery + @discardableResult + public func update(_ closure: @escaping ([DittoSwift.DittoMutableDocument]) -> Swift.Void) -> [DittoSwift.DittoDocumentID : [DittoSwift.DittoUpdateResult]] + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoMutableDocument { + public var id: DittoSwift.DittoDocumentID { + get + } + public var value: [Swift.String : Any?] { + get + } + @available(*, deprecated, message: "Codable APIs will be removed in the future") + public func typed(_ type: T.Type) throws -> DittoSwift.DittoTypedDocument where T : Swift.Decodable, T : Swift.Encodable + public subscript(key: Swift.String) -> DittoSwift.DittoMutableDocumentPath { + get + set + } + @objc deinit +} +public enum DittoConnectionRequestAuthorization { + case allow + case deny + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoConnectionRequestAuthorization : Swift.Equatable { + public static func == (a: DittoSwift.DittoConnectionRequestAuthorization, b: DittoSwift.DittoConnectionRequestAuthorization) -> Swift.Bool +} +public enum DittoIdentity { + case offlinePlayground(appID: Swift.String? = nil, siteID: Swift.UInt64? = nil) + case onlineWithAuthentication(appID: Swift.String, authenticationDelegate: any DittoSwift.DittoAuthenticationDelegate, enableDittoCloudSync: Swift.Bool = true, customAuthURL: Foundation.URL? = nil) + case onlinePlayground(appID: Swift.String, token: Swift.String, enableDittoCloudSync: Swift.Bool = true, customAuthURL: Foundation.URL? = nil) + case sharedKey(appID: Swift.String, sharedKey: Swift.String, siteID: Swift.UInt64? = nil) + case manual(certificateConfig: Swift.String) +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoStore { + public struct FetchAttachmentPublisher : Combine.Publisher { + public struct Progress { + public var percentage: Swift.Float + public var downloadedBytes: Swift.UInt64 + public var totalBytes: Swift.UInt64 + } + public typealias Output = DittoSwift.DittoAttachmentFetchEvent + public typealias Failure = DittoSwift.DittoSwiftError + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == DittoSwift.DittoSwiftError, S.Input == DittoSwift.DittoAttachmentFetchEvent + public func progress() -> Combine.AnyPublisher + public func completed() -> Combine.AnyPublisher + } + public func fetchAttachmentPublisher(attachmentToken: DittoSwift.DittoAttachmentToken) -> DittoSwift.DittoStore.FetchAttachmentPublisher + public func fetchAttachmentPublisher(attachmentToken: [Swift.String : Any]) -> DittoSwift.DittoStore.FetchAttachmentPublisher +} +public protocol DittoQueryExecuting { + @discardableResult + func execute(query: Swift.String, arguments: Swift.Dictionary) async throws -> DittoSwift.DittoQueryResult +} +extension DittoSwift.DittoQueryExecuting { + @discardableResult + public func execute(query: Swift.String) async throws -> DittoSwift.DittoQueryResult +} +@_hasMissingDesignatedInitializers public class DittoStore { + public subscript(collectionName: DittoSwift.DittoCollectionName) -> DittoSwift.DittoCollection { + get + } + public func collection(_ name: DittoSwift.DittoCollectionName) -> DittoSwift.DittoCollection + public func collectionNames() -> [DittoSwift.DittoCollectionName] + public func collections() -> DittoSwift.DittoPendingCollectionsOperation + public func queriesHash(queries: [DittoSwift.DittoLiveQuery]) -> Swift.UInt + public func queriesHashMnemonic(queries: [DittoSwift.DittoLiveQuery]) -> Swift.String + @discardableResult + public func write(_ block: @escaping (DittoSwift.DittoWriteTransaction) -> Swift.Void) -> [DittoSwift.DittoWriteTransactionResult] + public var observers: Swift.Set { + get + } + @discardableResult + public func registerObserver(query: Swift.String, arguments: Swift.Dictionary? = nil, deliverOn queue: Dispatch.DispatchQueue = .main, handler: @escaping DittoSwift.DittoStoreObservationHandler) throws -> DittoSwift.DittoStoreObserver + @discardableResult + public func registerObserver(query: Swift.String, arguments: Swift.Dictionary? = nil, deliverOn queue: Dispatch.DispatchQueue = .main, handlerWithSignalNext: @escaping DittoSwift.DittoStoreObservationHandlerWithSignalNext) throws -> DittoSwift.DittoStoreObserver + @discardableResult + public func transaction(hint: Swift.String? = nil, isReadOnly: Swift.Bool = false, with scope: ((_ transaction: DittoSwift.DittoTransaction) async throws -> DittoSwift.DittoTransactionCompletionAction)) async throws -> DittoSwift.DittoTransactionCompletionAction + public func transaction(hint: Swift.String? = nil, isReadOnly: Swift.Bool = false, with scope: ((_ transaction: DittoSwift.DittoTransaction) async throws -> T)) async throws -> T + public func newAttachment(path: Swift.String, metadata: [Swift.String : Swift.String] = [:]) async throws -> DittoSwift.DittoAttachment + public var attachmentFetchers: Swift.Set { + get + } + @discardableResult + public func fetchAttachment(token: DittoSwift.DittoAttachmentToken, deliverOn deliveryQueue: Dispatch.DispatchQueue = .main, onFetchEvent: @escaping (DittoSwift.DittoAttachmentFetchEvent) -> Swift.Void) throws -> DittoSwift.DittoAttachmentFetcher + @discardableResult + public func fetchAttachment(token: [Swift.String : Any], deliverOn queue: Dispatch.DispatchQueue = .main, onFetchEvent: @escaping (DittoSwift.DittoAttachmentFetchEvent) -> Swift.Void) throws -> DittoSwift.DittoAttachmentFetcher + @objc deinit +} +extension DittoSwift.DittoStore : DittoSwift.DittoQueryExecuting { + @discardableResult + public func execute(query: Swift.String, arguments: Swift.Dictionary) async throws -> DittoSwift.DittoQueryResult +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoPendingIDSpecificOperation { + public typealias Snapshot = (document: DittoSwift.DittoDocument?, event: DittoSwift.DittoSingleDocumentLiveQueryEvent) + public struct SingleDocumentLiveQueryPublisher : Combine.Publisher { + public typealias Output = DittoSwift.DittoPendingIDSpecificOperation.Snapshot + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == (document: DittoSwift.DittoDocument?, event: DittoSwift.DittoSingleDocumentLiveQueryEvent) + } + public func singleDocumentLiveQueryPublisher() -> DittoSwift.DittoPendingIDSpecificOperation.SingleDocumentLiveQueryPublisher +} +public enum DittoFileSystemType { + case directory + case file + case symlink + public static func == (a: DittoSwift.DittoFileSystemType, b: DittoSwift.DittoFileSystemType) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoFileSystemType : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} +extension DittoSwift.DittoConnectionType : Swift.Equatable {} +extension DittoSwift.DittoConnectionType : Swift.Hashable {} +extension DittoSwift.DittoConnectionType : Swift.RawRepresentable {} +extension DittoSwift.DittoTransactionCompletionAction : Swift.Hashable {} +extension DittoSwift.DittoLogLevel : Swift.Equatable {} +extension DittoSwift.DittoLogLevel : Swift.Hashable {} +extension DittoSwift.DittoLogLevel : Swift.RawRepresentable {} +extension DittoSwift.DittoSmallPeerInfoSyncScope : Swift.Equatable {} +extension DittoSwift.DittoSmallPeerInfoSyncScope : Swift.Hashable {} +extension DittoSwift.DittoSmallPeerInfoSyncScope : Swift.RawRepresentable {} +extension DittoSwift.DittoConnectionPriority : Swift.Equatable {} +extension DittoSwift.DittoConnectionPriority : Swift.Hashable {} +extension DittoSwift.DittoConnectionPriority : Swift.RawRepresentable {} +extension DittoSwift.DittoTransportCondition : Swift.Equatable {} +extension DittoSwift.DittoTransportCondition : Swift.Hashable {} +extension DittoSwift.DittoTransportCondition : Swift.RawRepresentable {} +extension DittoSwift.DittoConditionSource : Swift.Equatable {} +extension DittoSwift.DittoConditionSource : Swift.Hashable {} +extension DittoSwift.DittoConditionSource : Swift.RawRepresentable {} +extension DittoSwift.DittoWriteStrategy : Swift.Equatable {} +extension DittoSwift.DittoWriteStrategy : Swift.Hashable {} +extension DittoSwift.DittoSwiftError.AuthenticationErrorReason : Swift.Equatable {} +extension DittoSwift.DittoSwiftError.AuthenticationErrorReason : Swift.Hashable {} +extension DittoSwift.DittoSwiftError.EncryptionErrorReason : Swift.Equatable {} +extension DittoSwift.DittoSwiftError.EncryptionErrorReason : Swift.Hashable {} +extension DittoSwift.DittoSwiftError.MigrationErrorReason : Swift.Equatable {} +extension DittoSwift.DittoSwiftError.MigrationErrorReason : Swift.Hashable {} +extension DittoSwift.DittoSwiftError.TransportErrorReason : Swift.Equatable {} +extension DittoSwift.DittoSwiftError.TransportErrorReason : Swift.Hashable {} +extension DittoSwift.DittoSortDirection : Swift.Equatable {} +extension DittoSwift.DittoSortDirection : Swift.Hashable {} +extension DittoSwift.DittoConnectionRequestAuthorization : Swift.Hashable {} +extension DittoSwift.DittoFileSystemType : Swift.Equatable {} +extension DittoSwift.DittoFileSystemType : Swift.Hashable {} diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/arm64-apple-macos.swiftdoc b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/arm64-apple-macos.swiftdoc new file mode 100644 index 0000000..4477c90 Binary files /dev/null and b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/arm64-apple-macos.swiftdoc differ diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/arm64-apple-macos.swiftinterface b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/arm64-apple-macos.swiftinterface new file mode 100644 index 0000000..e3c94cb --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/arm64-apple-macos.swiftinterface @@ -0,0 +1,1943 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 6.0.3 effective-5.10 (swiftlang-6.0.3.1.10 clang-1600.0.30.1) +// swift-module-flags: -target arm64-apple-macos11.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name DittoSwift +// swift-module-flags-ignorable: -no-verify-emitted-module-interface +import Combine +import DittoObjC.DittoFFI +import DittoObjC +@_exported import DittoSwift +import Foundation +import DittoObjC.Private +import Swift +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +@_hasMissingDesignatedInitializers public class DiskUsage { + public var exec: DittoSwift.DiskUsageItem { + get + } + public func observe(eventHandler: @escaping (DittoSwift.DiskUsageItem) -> Swift.Void) -> DittoSwift.DiskUsage.DiskUsageObserverHandle + @_hasMissingDesignatedInitializers public class DiskUsageObserverHandle { + public func stop() + @objc deinit + } + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoAttachmentFetcher { + weak public var ditto: DittoSwift.Ditto? { + get + } + public func stop() + @objc deinit +} +extension DittoSwift.DittoAttachmentFetcher : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoAttachmentFetcher : Swift.Equatable { + public static func == (left: DittoSwift.DittoAttachmentFetcher, right: DittoSwift.DittoAttachmentFetcher) -> Swift.Bool +} +public enum DittoUpdateResult { + case set(docID: DittoSwift.DittoDocumentID, path: Swift.String, value: Any?) + case removed(docID: DittoSwift.DittoDocumentID, path: Swift.String) + case incremented(docID: DittoSwift.DittoDocumentID, path: Swift.String, amount: Swift.Double) +} +@_hasMissingDesignatedInitializers public class DittoSync { + public var subscriptions: Swift.Set { + get + } + @discardableResult + public func registerSubscription(query: Swift.String, arguments: Swift.Dictionary? = nil) throws -> DittoSwift.DittoSyncSubscription + @objc deinit +} +public struct DittoCollectionsEvent { + public let isInitial: Swift.Bool + public let collections: [DittoSwift.DittoCollection] + public let oldCollections: [DittoSwift.DittoCollection] + public let insertions: [Swift.Int] + public let deletions: [Swift.Int] + public let updates: [Swift.Int] + public let moves: [(from: Swift.Int, to: Swift.Int)] +} +extension DittoSwift.DittoCollectionsEvent : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible { + public var description: Swift.String { + get + } + public var debugDescription: Swift.String { + get + } +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoAuthenticator { + public struct StatusPublisher : Combine.Publisher { + public typealias Output = DittoSwift.DittoAuthenticationStatus + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == DittoSwift.DittoAuthenticationStatus + } + public func statusPublisher() -> DittoSwift.DittoAuthenticator.StatusPublisher +} +public enum DittoAttachmentFetchEvent { + case completed(DittoSwift.DittoAttachment) + case progress(downloadedBytes: Swift.UInt64, totalBytes: Swift.UInt64) + case deleted +} +@_hasMissingDesignatedInitializers public class DittoTransportSnapshot { + final public let connectionType: Swift.String + final public let connecting: [Swift.Int64] + final public let connected: [Swift.Int64] + final public let disconnecting: [Swift.Int64] + final public let disconnected: [Swift.Int64] + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoDocument { + final public let id: DittoSwift.DittoDocumentID + public var value: [Swift.String : Any?] { + get + } + public subscript(key: Swift.String) -> DittoSwift.DittoDocumentPath { + get + } + @available(*, deprecated, message: "Codable APIs will be removed in the future") + public func typed(as type: T.Type) throws -> DittoSwift.DittoTypedDocument where T : Swift.Decodable, T : Swift.Encodable + @objc deinit +} +extension DittoSwift.DittoDocument : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible { + public var description: Swift.String { + get + } + public var debugDescription: Swift.String { + get + } +} +extension DittoSwift.DittoDocument : Swift.Identifiable { + public typealias ID = DittoSwift.DittoDocumentID +} +public typealias DittoCollectionName = Swift.String +extension Swift.String { + public static var history: Swift.String +} +@_hasMissingDesignatedInitializers public class DittoCollection { + public var name: Swift.String { + get + } + @discardableResult + public func upsert(_ content: [Swift.String : Any?], writeStrategy: DittoSwift.DittoWriteStrategy = .merge) throws -> DittoSwift.DittoDocumentID + @discardableResult + @available(*, deprecated, message: "Codable APIs will be removed in the future.") + public func upsert(_ content: T, writeStrategy: DittoSwift.DittoWriteStrategy = .merge) throws -> DittoSwift.DittoDocumentID where T : Swift.Encodable + public func findByID(_ id: DittoSwift.DittoDocumentID) -> DittoSwift.DittoPendingIDSpecificOperation + public func findByID(_ id: Any) -> DittoSwift.DittoPendingIDSpecificOperation + public func find(_ query: Swift.String) -> DittoSwift.DittoPendingCursorOperation + public func find(_ query: Swift.String, args queryArgs: Swift.Dictionary) -> DittoSwift.DittoPendingCursorOperation + public func findAll() -> DittoSwift.DittoPendingCursorOperation + @available(*, deprecated, message: "Replaced by `DittoStore.newAttachment()`.") + public func newAttachment(path: Swift.String, metadata: [Swift.String : Swift.String] = [:]) -> DittoSwift.DittoAttachment? + @available(*, deprecated, message: "Replaced by `DittoStore.fetchAttachment()`.") + public func fetchAttachment(token: DittoSwift.DittoAttachmentToken, deliverOn queue: Dispatch.DispatchQueue = .main, onFetchEvent: @escaping (DittoSwift.DittoAttachmentFetchEvent) -> Swift.Void) -> DittoSwift.DittoAttachmentFetcher? + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoPresence { + public var peerMetadata: [Swift.String : Any?] { + get + } + public func setPeerMetadata(_ peerMetadata: [Swift.String : Any?]) throws + public var peerMetadataJSONData: Foundation.Data { + get + } + public func setPeerMetadataJSONData(_ jsonData: Foundation.Data) throws + public var graph: DittoSwift.DittoPresenceGraph { + get + } + public func observe(didChangeHandler: @escaping (DittoSwift.DittoPresenceGraph) -> ()) -> DittoSwift.DittoObserver + public var connectionRequestHandler: DittoSwift.DittoConnectionRequestHandler? { + get + set + } + @objc deinit +} +public class DittoRegister { + public init(value: Any?) + @objc deinit +} +extension DittoSwift.DittoRegister { + public var value: Any? { + get + } + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } +} +public enum DittoConnectionType : Swift.String { + case bluetooth + case accessPoint + case p2pWiFi + case webSocket + public init?(rawValue: Swift.String) + public typealias RawValue = Swift.String + public var rawValue: Swift.String { + get + } +} +extension DittoSwift.DittoConnectionType : Swift.CaseIterable { + public typealias AllCases = [DittoSwift.DittoConnectionType] + nonisolated public static var allCases: [DittoSwift.DittoConnectionType] { + get + } +} +extension DittoSwift.DittoConnectionType : Swift.Codable { +} +@_hasMissingDesignatedInitializers public class DittoObserver { + public func stop() + @objc deinit +} +public enum DittoWriteTransactionResult { + case inserted(id: DittoSwift.DittoDocumentID, collection: Swift.String) + case updated(id: DittoSwift.DittoDocumentID, collection: Swift.String) + case evicted(id: DittoSwift.DittoDocumentID, collection: Swift.String) + case removed(id: DittoSwift.DittoDocumentID, collection: Swift.String) +} +@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers public class DittoMutableCounter : DittoSwift.DittoCounter { + public func increment(by amount: Swift.Double) + @objc deinit +} +public class DittoDiffer { + public init() + public func diff(_ items: [DittoSwift.DittoQueryResultItem]) -> DittoSwift.DittoDiff + @objc deinit +} +indirect public enum CBOR : Swift.Equatable, Swift.Hashable, Swift.ExpressibleByNilLiteral, Swift.ExpressibleByIntegerLiteral, Swift.ExpressibleByStringLiteral, Swift.ExpressibleByArrayLiteral, Swift.ExpressibleByDictionaryLiteral, Swift.ExpressibleByBooleanLiteral, Swift.ExpressibleByFloatLiteral { + case unsignedInt(Swift.UInt64) + case negativeInt(Swift.UInt64) + case byteString([Swift.UInt8]) + case utf8String(Swift.String) + case array([DittoSwift.CBOR]) + case map([DittoSwift.CBOR : DittoSwift.CBOR]) + case tagged(DittoSwift.CBOR.Tag, DittoSwift.CBOR) + case simple(Swift.UInt8) + case boolean(Swift.Bool) + case null + case undefined + case half(Swift.Float32) + case float(Swift.Float32) + case double(Swift.Float64) + case `break` + case date(Foundation.Date) + public func hash(into hasher: inout Swift.Hasher) + public subscript(position: DittoSwift.CBOR) -> DittoSwift.CBOR? { + get + set(x) + } + public init(nilLiteral: ()) + public init(integerLiteral value: Swift.Int) + public init(extendedGraphemeClusterLiteral value: Swift.String) + public init(unicodeScalarLiteral value: Swift.String) + public init(stringLiteral value: Swift.String) + public init(arrayLiteral elements: DittoSwift.CBOR...) + public init(dictionaryLiteral elements: (DittoSwift.CBOR, DittoSwift.CBOR)...) + public init(booleanLiteral value: Swift.Bool) + public init(floatLiteral value: Swift.Float32) + public static func == (lhs: DittoSwift.CBOR, rhs: DittoSwift.CBOR) -> Swift.Bool + public struct Tag : Swift.RawRepresentable, Swift.Equatable, Swift.Hashable { + public let rawValue: Swift.UInt64 + public init(rawValue: Swift.UInt64) + public var hashValue: Swift.Int { + get + } + public typealias RawValue = Swift.UInt64 + } + public typealias ArrayLiteralElement = DittoSwift.CBOR + public typealias BooleanLiteralType = Swift.Bool + public typealias ExtendedGraphemeClusterLiteralType = Swift.String + public typealias FloatLiteralType = Swift.Float32 + public typealias IntegerLiteralType = Swift.Int + public typealias Key = DittoSwift.CBOR + public typealias StringLiteralType = Swift.String + public typealias UnicodeScalarLiteralType = Swift.String + public typealias Value = DittoSwift.CBOR + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.CBOR.Tag { + public static let standardDateTimeString: DittoSwift.CBOR.Tag + public static let epochBasedDateTime: DittoSwift.CBOR.Tag + public static let positiveBignum: DittoSwift.CBOR.Tag + public static let negativeBignum: DittoSwift.CBOR.Tag + public static let decimalFraction: DittoSwift.CBOR.Tag + public static let bigfloat: DittoSwift.CBOR.Tag + public static let expectedConversionToBase64URLEncoding: DittoSwift.CBOR.Tag + public static let expectedConversionToBase64Encoding: DittoSwift.CBOR.Tag + public static let expectedConversionToBase16Encoding: DittoSwift.CBOR.Tag + public static let encodedCBORDataItem: DittoSwift.CBOR.Tag + public static let uri: DittoSwift.CBOR.Tag + public static let base64Url: DittoSwift.CBOR.Tag + public static let base64: DittoSwift.CBOR.Tag + public static let regularExpression: DittoSwift.CBOR.Tag + public static let mimeMessage: DittoSwift.CBOR.Tag + public static let uuid: DittoSwift.CBOR.Tag + public static let selfDescribeCBOR: DittoSwift.CBOR.Tag +} +public struct DittoBluetoothLEConfig : Swift.Codable, Swift.Equatable { + public var isEnabled: Swift.Bool + public static func == (a: DittoSwift.DittoBluetoothLEConfig, b: DittoSwift.DittoBluetoothLEConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoLANConfig : Swift.Codable, Swift.Equatable { + public var isEnabled: Swift.Bool + public var isMDNSEnabled: Swift.Bool + public var isMulticastEnabled: Swift.Bool + @available(*, deprecated, message: "Please use `isMDNSEnabled` instead.") + public var ismDNSEnabled: Swift.Bool { + get + set + } + public static func == (a: DittoSwift.DittoLANConfig, b: DittoSwift.DittoLANConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoAWDLConfig : Swift.Codable, Swift.Equatable { + public var isEnabled: Swift.Bool + public static func == (a: DittoSwift.DittoAWDLConfig, b: DittoSwift.DittoAWDLConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoPeerToPeer : Swift.Codable, Swift.Equatable { + public var bluetoothLE: DittoSwift.DittoBluetoothLEConfig + public var lan: DittoSwift.DittoLANConfig + public var awdl: DittoSwift.DittoAWDLConfig + @available(*, deprecated, message: "Please use `bluetoothLE` instead.") + public var bluetoothLe: DittoSwift.DittoBluetoothLEConfig { + get + set + } + public static func == (a: DittoSwift.DittoPeerToPeer, b: DittoSwift.DittoPeerToPeer) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoConnect : Swift.Equatable { + public var tcpServers: Swift.Set + public var webSocketURLs: Swift.Set + public var retryInterval: Swift.Double + @available(*, deprecated, message: "Please use `webSocketURLs` instead.") + public var websocketURLs: Swift.Set { + get + set + } + public static func == (a: DittoSwift.DittoConnect, b: DittoSwift.DittoConnect) -> Swift.Bool +} +extension DittoSwift.DittoConnect : Swift.Codable { + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoTCPListenConfig : Swift.Codable, Swift.Equatable { + public var isEnabled: Swift.Bool + public var interfaceIP: Swift.String + public var port: Swift.UInt16 + @available(*, deprecated, message: "Please use `interfaceIP` instead.") + public var interfaceIp: Swift.String { + get + set + } + public static func == (a: DittoSwift.DittoTCPListenConfig, b: DittoSwift.DittoTCPListenConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoHTTPListenConfig : Swift.Equatable { + public var isEnabled: Swift.Bool + public var interfaceIP: Swift.String + public var port: Swift.UInt16 + public var staticContentPath: Swift.String? + public var webSocketSync: Swift.Bool + public var tlsKeyPath: Swift.String? + public var tlsCertificatePath: Swift.String? + public var isIdentityProvider: Swift.Bool + public var identityProviderSigningKey: Swift.String? + public var identityProviderVerifyingKeys: Swift.Array? + public var caKey: Swift.String? + @available(*, deprecated, message: "Please use `interfaceIP` instead.") + public var interfaceIp: Swift.String { + get + set + } + @available(*, deprecated, message: "Please use `webSocketSync` instead.") + public var websocketSync: Swift.Bool { + get + set + } + public static func == (a: DittoSwift.DittoHTTPListenConfig, b: DittoSwift.DittoHTTPListenConfig) -> Swift.Bool +} +extension DittoSwift.DittoHTTPListenConfig : Swift.Codable { + public init(from decoder: any Swift.Decoder) throws + public func encode(to encoder: any Swift.Encoder) throws +} +public struct DittoListen : Swift.Codable, Swift.Equatable { + public var tcp: DittoSwift.DittoTCPListenConfig + public var http: DittoSwift.DittoHTTPListenConfig + public static func == (a: DittoSwift.DittoListen, b: DittoSwift.DittoListen) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoGlobalConfig : Swift.Codable, Swift.Equatable { + public var syncGroup: Swift.UInt32 + public var routingHint: Swift.UInt32 + public static func == (a: DittoSwift.DittoGlobalConfig, b: DittoSwift.DittoGlobalConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoTransportConfig : Swift.Codable, Swift.Equatable { + public var peerToPeer: DittoSwift.DittoPeerToPeer + public var connect: DittoSwift.DittoConnect + public var listen: DittoSwift.DittoListen + public var global: DittoSwift.DittoGlobalConfig + public mutating func enableAllPeerToPeer() + public mutating func setAllPeerToPeer(enabled: Swift.Bool) + public init() + public static func == (a: DittoSwift.DittoTransportConfig, b: DittoSwift.DittoTransportConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public enum LMDBError : Swift.Equatable { + case keyExists + case notFound + case pageNotFound + case corrupted + case panic + case versionMismatch + case invalid + case mapFull + case dbsFull + case readersFull + case tlsFull + case txnFull + case cursorFull + case pageFull + case mapResized + case incompatible + case badReaderSlot + case badTransaction + case badValueSize + case badDBI + case problem + case invalidParameter + case outOfDiskSpace + case outOfMemory + case ioError + case accessViolation + case other(returnCode: Swift.Int32) + public static func == (a: DittoSwift.LMDBError, b: DittoSwift.LMDBError) -> Swift.Bool +} +@_hasMissingDesignatedInitializers public class DittoLiveQuery { + public var query: Swift.String { + get + } + public var collectionName: DittoSwift.DittoCollectionName { + get + } + public func stop() + @objc deinit +} +public typealias DittoSignalNext = () -> Swift.Void +@_hasMissingDesignatedInitializers public class DittoWriteTransactionPendingIDSpecificOperation { + @discardableResult + public func remove() -> Swift.Bool + @discardableResult + public func evict() -> Swift.Bool + public func exec() -> DittoSwift.DittoDocument? + @discardableResult + public func update(_ closure: @escaping (DittoSwift.DittoMutableDocument?) -> Swift.Void) -> [DittoSwift.DittoUpdateResult] + @available(*, deprecated, message: "Codable APIs will be removed in the future.") + public func update(using newValue: T) throws where T : Swift.Decodable, T : Swift.Encodable + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoMutableRegister { + public var value: Any? { + get + set + } + @objc deinit +} +extension DittoSwift.DittoMutableRegister { + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } +} +@_hasMissingDesignatedInitializers public class DittoPeerV2Parser { + public class func parseJson(json: Swift.String) -> [DittoSwift.DittoRemotePeerV2]? + @objc deinit +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DiskUsage { + public struct DiskUsagePublisher : Combine.Publisher { + public typealias Output = DittoSwift.DiskUsageItem + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == DittoSwift.DiskUsageItem + } + public func diskUsagePublisher() -> DittoSwift.DiskUsage.DiskUsagePublisher +} +@_hasMissingDesignatedInitializers public class DittoCounter { + public var value: Swift.Double { + get + } + convenience public init() + @objc deinit +} +extension DittoSwift.DittoCounter : Swift.Equatable { + public static func == (lhs: DittoSwift.DittoCounter, rhs: DittoSwift.DittoCounter) -> Swift.Bool +} +public enum DittoTransactionCompletionAction { + case commit + case rollback + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoTransactionCompletionAction : Swift.Equatable { + public static func == (a: DittoSwift.DittoTransactionCompletionAction, b: DittoSwift.DittoTransactionCompletionAction) -> Swift.Bool +} +public enum DittoLogLevel : Swift.Int { + case error + case warning + case info + case debug + case verbose + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +public enum DittoSmallPeerInfoSyncScope : Swift.UInt, Swift.CaseIterable { + case bigPeerOnly + case localPeerOnly + public init?(rawValue: Swift.UInt) + public typealias AllCases = [DittoSwift.DittoSmallPeerInfoSyncScope] + public typealias RawValue = Swift.UInt + nonisolated public static var allCases: [DittoSwift.DittoSmallPeerInfoSyncScope] { + get + } + public var rawValue: Swift.UInt { + get + } +} +extension DittoSwift.DittoSmallPeerInfoSyncScope : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} +public enum DittoConnectionPriority : Swift.Int { + case dontConnect + case normal + case high + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +public enum DittoTransportCondition : Swift.UInt32, Swift.CustomStringConvertible { + case Unknown + case Ok + case GenericFailure + case AppInBackground + case MdnsFailure + case TcpListenFailure + case NoBleCentralPermission + case NoBlePeripheralPermission + case CannotEstablishConnection + case BleDisabled + case NoBleHardware + case WifiDisabled + case TemporarilyUnavailable + public var description: Swift.String { + get + } + public init?(rawValue: Swift.UInt32) + public typealias RawValue = Swift.UInt32 + public var rawValue: Swift.UInt32 { + get + } +} +public enum DittoConditionSource : Swift.UInt32, Swift.CustomStringConvertible { + case Bluetooth + case Tcp + case Awdl + case Mdns + public var description: Swift.String { + get + } + public init?(rawValue: Swift.UInt32) + public typealias RawValue = Swift.UInt32 + public var rawValue: Swift.UInt32 { + get + } +} +public typealias DittoStoreObservationHandler = (_ result: DittoSwift.DittoQueryResult) -> Swift.Void +public typealias DittoStoreObservationHandlerWithSignalNext = (_ result: DittoSwift.DittoQueryResult, _ signalNext: @escaping DittoSwift.DittoSignalNext) -> Swift.Void +@_hasMissingDesignatedInitializers public class DittoStoreObserver { + weak public var ditto: DittoSwift.Ditto? { + get + } + final public let queryString: Swift.String + final public let queryArguments: Swift.Dictionary? + public var isCancelled: Swift.Bool { + get + } + public func cancel() + @objc deinit +} +extension DittoSwift.DittoStoreObserver : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoStoreObserver : Swift.Equatable { + public static func == (left: DittoSwift.DittoStoreObserver, right: DittoSwift.DittoStoreObserver) -> Swift.Bool +} +public struct DittoDocumentPath { + public subscript(key: Swift.String) -> DittoSwift.DittoDocumentPath { + get + } + public subscript(index: Swift.Int) -> DittoSwift.DittoDocumentPath { + get + } +} +extension DittoSwift.DittoDocumentPath { + public var value: Any? { + get + } + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } + public var attachmentToken: DittoSwift.DittoAttachmentToken? { + get + } + public var counter: DittoSwift.DittoCounter? { + get + } + public var register: DittoSwift.DittoRegister? { + get + } +} +public struct DittoDiff { + public let insertions: Foundation.IndexSet + public let deletions: Foundation.IndexSet + public let updates: Foundation.IndexSet + public let moves: [(from: Swift.Int, to: Swift.Int)] +} +extension DittoSwift.DittoDiff : Swift.Decodable { + public init(from decoder: any Swift.Decoder) throws +} +extension DittoSwift.DittoDiff : Swift.Equatable { + public static func == (lhs: DittoSwift.DittoDiff, rhs: DittoSwift.DittoDiff) -> Swift.Bool +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoCollection { + @available(*, deprecated, message: "Replaced by `DittoStore.FetchAttachmentPublisher`.") + public struct FetchAttachmentPublisher : Combine.Publisher { + public struct Progress { + public var percentage: Swift.Float + public var downloadedBytes: Swift.UInt64 + public var totalBytes: Swift.UInt64 + } + public typealias Output = DittoSwift.DittoAttachmentFetchEvent + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == DittoSwift.DittoAttachmentFetchEvent + public func progress() -> Combine.AnyPublisher + public func completed() -> Combine.AnyPublisher + } + @available(*, deprecated, message: "Replaced by `DittoStore.fetchAttachmentPublisher`.") + public func fetchAttachmentPublisher(attachmentToken: DittoSwift.DittoAttachmentToken) -> DittoSwift.DittoCollection.FetchAttachmentPublisher +} +@_hasMissingDesignatedInitializers public class DittoRemotePeerV2 : Swift.Identifiable, Swift.Equatable, Swift.Hashable { + public var id: Swift.UInt32 { + get + } + public var address: DittoSwift.DittoAddress { + get + } + public var networkID: Swift.UInt32 { + get + } + public var deviceName: Swift.String { + get + } + public var os: Swift.String { + get + } + @available(*, deprecated, message: "Query overlap groups have been phased out, this property always returns 0.") + public var queryOverlapGroup: Swift.UInt8 { + get + } + public static func == (lhs: DittoSwift.DittoRemotePeerV2, rhs: DittoSwift.DittoRemotePeerV2) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public typealias ID = Swift.UInt32 + @objc deinit + public var hashValue: Swift.Int { + get + } +} +public struct DiskUsageItem { + public let type: DittoSwift.DittoFileSystemType + public let path: Swift.String + public let sizeInBytes: Swift.Int + public let childItems: [DittoSwift.DiskUsageItem] + public init(type: DittoSwift.DittoFileSystemType, path: Swift.String, sizeInBytes: Swift.Int, children: [DittoSwift.DiskUsageItem]) +} +extension DittoSwift.DiskUsageItem : Swift.Equatable { + public static func == (a: DittoSwift.DiskUsageItem, b: DittoSwift.DiskUsageItem) -> Swift.Bool +} +extension DittoSwift.DiskUsageItem : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DiskUsageItem : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} +public enum DittoWriteStrategy { + case merge + case insertIfAbsent + case insertDefaultIfAbsent + case updateDifferentValues + public static func == (a: DittoSwift.DittoWriteStrategy, b: DittoSwift.DittoWriteStrategy) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum DittoLiveQueryEvent { + case initial + case update(DittoSwift.DittoLiveQueryUpdate) + public func hash(documents: [DittoSwift.DittoDocument]) -> Swift.UInt64 + public func hashMnemonic(documents: [DittoSwift.DittoDocument]) -> Swift.String +} +public struct DittoLiveQueryUpdate { + public let oldDocuments: [DittoSwift.DittoDocument] + public let insertions: [Swift.Int] + public let deletions: [Swift.Int] + public let updates: [Swift.Int] + public let moves: [(from: Swift.Int, to: Swift.Int)] +} +extension DittoSwift.DittoLiveQueryEvent : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible { + public var description: Swift.String { + get + } + public var debugDescription: Swift.String { + get + } +} +public struct DittoConnection { + public var id: Swift.String + public var type: DittoSwift.DittoConnectionType + @available(*, deprecated, message: "Use `peerKeyString1` instead.") + public var peer1: Foundation.Data { + get + set + } + @available(*, deprecated, message: "Use `peerKeyString2` instead.") + public var peer2: Foundation.Data { + get + set + } + public var peerKeyString1: Swift.String + public var peerKeyString2: Swift.String + public var approximateDistanceInMeters: Swift.Double? + @available(*, deprecated, message: "Use the variant taking peer key strings instead.") + public init(id: Swift.String, type: DittoSwift.DittoConnectionType, peer1: Foundation.Data, peer2: Foundation.Data, approximateDistanceInMeters: Swift.Double? = nil) + public init(id: Swift.String, type: DittoSwift.DittoConnectionType, peerKeyString1: Swift.String, peerKeyString2: Swift.String, approximateDistanceInMeters: Swift.Double? = nil) +} +extension DittoSwift.DittoConnection : Swift.Identifiable { + public typealias ID = Swift.String +} +extension DittoSwift.DittoConnection : Swift.Equatable { + public static func == (a: DittoSwift.DittoConnection, b: DittoSwift.DittoConnection) -> Swift.Bool +} +extension DittoSwift.DittoConnection : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoConnection : Swift.Codable { + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +@_hasMissingDesignatedInitializers public class Ditto { + public class var version: Swift.String { + get + } + public var delegate: (any DittoSwift.DittoDelegate)? { + get + set + } + public var deviceName: Swift.String { + get + set + } + public var siteID: Swift.UInt64 { + get + } + public var persistenceDirectory: Foundation.URL { + get + } + public var appID: Swift.String { + get + } + public var activated: Swift.Bool { + get + } + public var isSyncActive: Swift.Bool { + get + } + public var isEncrypted: Swift.Bool { + get + } + public var auth: DittoSwift.DittoAuthenticator? { + get + } + final public let diskUsage: DittoSwift.DiskUsage + final public let store: DittoSwift.DittoStore + final public let sync: DittoSwift.DittoSync + final public let presence: DittoSwift.DittoPresence + final public let smallPeerInfo: DittoSwift.DittoSmallPeerInfo + final public let experimental: DittoSwift.DittoExperimental + public var delegateEventQueue: Dispatch.DispatchQueue { + get + set + } + public var transportConfig: DittoSwift.DittoTransportConfig { + get + set + } + public func updateTransportConfig(block: (inout DittoSwift.DittoTransportConfig) -> Swift.Void) + public var isHistoryTrackingEnabled: Swift.Bool { + get + } + convenience public init(identity: DittoSwift.DittoIdentity = .offlinePlayground(), persistenceDirectory directory: Foundation.URL? = nil) + convenience public init(identity: DittoSwift.DittoIdentity = .offlinePlayground(), historyTrackingEnabled: Swift.Bool, persistenceDirectory: Foundation.URL? = nil) + public func setOfflineOnlyLicenseToken(_ licenseToken: Swift.String) throws + public func startSync() throws + public func stopSync() + public func transportDiagnostics() throws -> DittoSwift.DittoTransportDiagnostics + public var sdkVersion: Swift.String { + get + } + public func runGarbageCollection() + public func disableSyncWithV3() throws + @available(*, deprecated, message: "Use `self.presence.observe()` instead.") + public func observePeers(callback: @escaping (Swift.Array) -> ()) -> DittoSwift.DittoObserver + @available(*, deprecated, message: "Use `self.presence.observe()` instead.") + public func observePeersV2(callback: @escaping (Swift.String) -> ()) -> DittoSwift.DittoObserver + @objc deinit +} +public struct DittoDocumentID : Swift.Hashable { + public init(value: Any?) + public subscript(key: Swift.String) -> DittoSwift.DittoDocumentIDPath { + get + } + public subscript(index: Swift.Int) -> DittoSwift.DittoDocumentIDPath { + get + } + public func toString() -> Swift.String + public static func == (lhs: DittoSwift.DittoDocumentID, rhs: DittoSwift.DittoDocumentID) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoDocumentID { + public var value: Any? { + get + } + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } +} +extension DittoSwift.DittoDocumentID : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible { + public var description: Swift.String { + get + } + public var debugDescription: Swift.String { + get + } +} +extension DittoSwift.DittoDocumentID : Swift.ExpressibleByStringLiteral { + public init(stringLiteral value: Swift.StringLiteralType) + public typealias ExtendedGraphemeClusterLiteralType = Swift.StringLiteralType + public typealias StringLiteralType = Swift.StringLiteralType + public typealias UnicodeScalarLiteralType = Swift.StringLiteralType +} +extension DittoSwift.DittoDocumentID : Swift.ExpressibleByBooleanLiteral { + public init(booleanLiteral value: Swift.BooleanLiteralType) + public typealias BooleanLiteralType = Swift.BooleanLiteralType +} +extension DittoSwift.DittoDocumentID : Swift.ExpressibleByIntegerLiteral { + public init(integerLiteral value: Swift.IntegerLiteralType) + public typealias IntegerLiteralType = Swift.IntegerLiteralType +} +extension DittoSwift.DittoDocumentID : Swift.ExpressibleByArrayLiteral { + public typealias ArrayLiteralElement = Any? + public init(arrayLiteral elements: Any?...) +} +extension DittoSwift.DittoDocumentID : Swift.ExpressibleByDictionaryLiteral { + public typealias Key = Swift.String + public typealias Value = Any? + public init(dictionaryLiteral elements: (DittoSwift.DittoDocumentID.Key, DittoSwift.DittoDocumentID.Value)...) +} +public struct DittoSingleDocumentLiveQueryEvent { + public let isInitial: Swift.Bool + public let oldDocument: DittoSwift.DittoDocument? + public func hash(document: DittoSwift.DittoDocument?) -> Swift.UInt64 + public func hashMnemonic(document: DittoSwift.DittoDocument?) -> Swift.String +} +@_hasMissingDesignatedInitializers public class DittoExperimental { + public class func open(identity: DittoSwift.DittoIdentity = .offlinePlayground(), historyTrackingEnabled: Swift.Bool = false, persistenceDirectory: Foundation.URL? = nil, passphrase: Swift.String? = nil) throws -> DittoSwift.Ditto + public class func jsonByTranscoding(cbor: Foundation.Data) throws -> Foundation.Data + public class func triggerTestPanic() + @objc deinit +} +public protocol DittoAuthenticationDelegate : AnyObject { + func authenticationRequired(authenticator: DittoSwift.DittoAuthenticator) + func authenticationExpiringSoon(authenticator: DittoSwift.DittoAuthenticator, secondsRemaining: Swift.Int64) + func authenticationStatusDidChange(authenticator: DittoSwift.DittoAuthenticator) +} +extension DittoSwift.DittoAuthenticationDelegate { + public func authenticationStatusDidChange(authenticator: DittoSwift.DittoAuthenticator) +} +@_hasMissingDesignatedInitializers public class DittoSyncSubscription { + weak public var ditto: DittoSwift.Ditto? { + get + } + final public let queryString: Swift.String + final public let queryArguments: [Swift.String : Any?]? + public var isCancelled: Swift.Bool { + get + } + public func cancel() + @objc deinit +} +extension DittoSwift.DittoSyncSubscription : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoSyncSubscription : Swift.Equatable { + public static func == (left: DittoSwift.DittoSyncSubscription, right: DittoSwift.DittoSyncSubscription) -> Swift.Bool +} +public struct DittoDocumentIDPath { + public subscript(key: Swift.String) -> DittoSwift.DittoDocumentIDPath { + get + } + public subscript(index: Swift.Int) -> DittoSwift.DittoDocumentIDPath { + get + } +} +extension DittoSwift.DittoDocumentIDPath { + public var value: Any? { + get + } + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } +} +public typealias DittoAuthenticationRequest = DittoObjC.DITAuthenticationRequest +public typealias DittoAuthenticationSuccess = DittoObjC.DITAuthenticationSuccess +public protocol DittoDelegate : AnyObject { + func dittoTransportConditionDidChange(ditto: DittoSwift.Ditto, condition: DittoSwift.DittoTransportCondition, subsystem: DittoSwift.DittoConditionSource) + func dittoIdentityProviderAuthenticationRequest(ditto: DittoSwift.Ditto, request: DittoSwift.DittoAuthenticationRequest) +} +extension DittoSwift.DittoDelegate { + public func dittoTransportConditionDidChange(ditto: DittoSwift.Ditto, condition: DittoSwift.DittoTransportCondition, subsystem: DittoSwift.DittoConditionSource) + public func dittoIdentityProviderAuthenticationRequest(ditto: DittoSwift.Ditto, request: DittoSwift.DittoAuthenticationRequest) + public func dittoIdentityProviderRefreshRequest(ditto: DittoSwift.Ditto, request: Foundation.Data) +} +@available(*, deprecated, message: "Replaced by `DittoPeer`.") +public struct DittoRemotePeer : Swift.Codable { + public let networkId: Swift.String + public let deviceName: Swift.String + public let connections: [Swift.String] + public let rssi: Swift.Float? + public var approximateDistanceInMeters: Swift.Float? + public init(networkId: Swift.String, deviceName: Swift.String, connections: [Swift.String], rssi: Swift.Float? = nil, approximateDistanceInMeters: Swift.Float? = nil) + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +@available(*, deprecated, message: "Replaced by `DittoPeer`.") +extension DittoSwift.DittoRemotePeer : Swift.Identifiable { + public var id: Swift.String { + get + } + @available(*, deprecated, message: "Replaced by `DittoPeer`.") + public typealias ID = Swift.String +} +@_hasMissingDesignatedInitializers public class DittoAttachment : Swift.Hashable { + public var id: Swift.String { + get + } + public var len: Swift.Int { + get + } + public var metadata: [Swift.String : Swift.String] { + get + } + public static func == (lhs: DittoSwift.DittoAttachment, rhs: DittoSwift.DittoAttachment) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + @available(*, deprecated, message: "Replaced by `DittoAttachment.data()`.") + public func getData() throws -> Foundation.Data + public func data() throws -> Foundation.Data + public func copy(toPath path: Swift.String) throws + @objc deinit + public var hashValue: Swift.Int { + get + } +} +@_hasMissingDesignatedInitializers public class DittoAttachmentToken { + public var id: Swift.String { + get + } + public var len: Swift.Int { + get + } + public var metadata: [Swift.String : Swift.String] { + get + } + @objc deinit +} +extension DittoSwift.DittoAttachmentToken : Swift.Equatable { + public static func == (lhs: DittoSwift.DittoAttachmentToken, rhs: DittoSwift.DittoAttachmentToken) -> Swift.Bool +} +extension DittoSwift.DittoAttachmentToken : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoPendingCursorOperation { + public typealias Snapshot = (documents: [DittoSwift.DittoDocument], event: DittoSwift.DittoLiveQueryEvent) + public struct LiveQueryPublisher : Combine.Publisher { + public typealias Output = DittoSwift.DittoPendingCursorOperation.Snapshot + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == (documents: [DittoSwift.DittoDocument], event: DittoSwift.DittoLiveQueryEvent) + } + public func liveQueryPublisher() -> DittoSwift.DittoPendingCursorOperation.LiveQueryPublisher +} +public struct DittoTransactionInfo { +} +extension DittoSwift.DittoTransactionInfo : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoTransactionInfo : Swift.Equatable { + public static func == (a: DittoSwift.DittoTransactionInfo, b: DittoSwift.DittoTransactionInfo) -> Swift.Bool +} +extension DittoSwift.DittoTransactionInfo : Swift.Codable { + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +@_hasMissingDesignatedInitializers public class DittoTransportDiagnostics { + final public let transports: [DittoSwift.DittoTransportSnapshot] + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoSmallPeerInfo { + public var isEnabled: Swift.Bool { + get + set + } + public var syncScope: DittoSwift.DittoSmallPeerInfoSyncScope { + get + set + } + public var metadata: [Swift.String : Any] { + get + } + public func setMetadata(_ metadata: [Swift.String : Any]) throws + public var metadataJSONString: Swift.String { + get + } + public func setMetadataJSONString(_ jsonString: Swift.String) throws + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoPendingIDSpecificOperation { + public func subscribe() -> DittoSwift.DittoSubscription + @discardableResult + public func remove() -> Swift.Bool + @discardableResult + public func evict() -> Swift.Bool + public func exec() -> DittoSwift.DittoDocument? + public func observeLocal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping (DittoSwift.DittoDocument?, DittoSwift.DittoSingleDocumentLiveQueryEvent) -> Swift.Void) -> DittoSwift.DittoLiveQuery + public func observeLocalWithNextSignal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping (DittoSwift.DittoDocument?, DittoSwift.DittoSingleDocumentLiveQueryEvent, @escaping DittoSwift.DittoSignalNext) -> Swift.Void) -> DittoSwift.DittoLiveQuery + @discardableResult + public func update(_ closure: @escaping (DittoSwift.DittoMutableDocument?) -> Swift.Void) -> [DittoSwift.DittoUpdateResult] + @available(*, deprecated, message: "Codable APIs will be removed in the future.") + public func update(using newValue: T) throws where T : Swift.Decodable, T : Swift.Encodable + @objc deinit +} +public enum DittoObjCInterop { + public static func initDittoWith(ditDitto: DittoObjC.DITDitto) -> DittoSwift.Ditto + public static func ditDittoFor(ditto: DittoSwift.Ditto) -> DittoObjC.DITDitto +} +@_hasMissingDesignatedInitializers public class DittoWriteTransactionPendingCursorOperation { + public func limit(_ limit: Swift.Int32) -> Self + public func sort(_ query: Swift.String, direction: DittoSwift.DittoSortDirection) -> Self + public func offset(_ offset: Swift.UInt32) -> Self + public func exec() -> [DittoSwift.DittoDocument] + @discardableResult + public func remove() -> [DittoSwift.DittoDocumentID] + @discardableResult + public func evict() -> [DittoSwift.DittoDocumentID] + @discardableResult + public func update(_ closure: @escaping ([DittoSwift.DittoMutableDocument]) -> Swift.Void) -> [DittoSwift.DittoDocumentID : [DittoSwift.DittoUpdateResult]] + @objc deinit +} +public struct DittoPeer { + public var address: DittoSwift.DittoAddress + @available(*, deprecated, message: "Use `peerKeyString` instead.") + public var peerKey: Foundation.Data { + get + set + } + public var peerKeyString: Swift.String + public var connections: [DittoSwift.DittoConnection] + public var deviceName: Swift.String + public var isConnectedToDittoCloud: Swift.Bool + @available(*, deprecated, message: "Query overlap groups have been phased out, this property always returns 0.") + public var queryOverlapGroup: Swift.UInt8 { + get + set + } + public var os: Swift.String? + public var dittoSDKVersion: Swift.String? + public var isCompatible: Swift.Bool? + public var peerMetadata: [Swift.String : Any?] { + get + } + public var identityServiceMetadata: [Swift.String : Any?] { + get + } + @available(*, deprecated, message: "Use `peerKeyString` variant instead.") + public init(address: DittoSwift.DittoAddress, peerKey: Foundation.Data, connections: [DittoSwift.DittoConnection], deviceName: Swift.String, isConnectedToDittoCloud: Swift.Bool, queryOverlapGroup: Swift.UInt8, os: Swift.String? = nil, dittoSDKVersion: Swift.String? = nil, isCompatible: Swift.Bool? = nil, peerMetadata: [Swift.String : Swift.AnyHashable?] = [:], identityServiceMetadata: [Swift.String : Swift.AnyHashable?] = [:]) + @available(*, deprecated, message: "Use the version without `queryOverlapGroup` instead.") + public init(address: DittoSwift.DittoAddress, peerKeyString: Swift.String, connections: [DittoSwift.DittoConnection], deviceName: Swift.String, isConnectedToDittoCloud: Swift.Bool, queryOverlapGroup: Swift.UInt8, os: Swift.String? = nil, dittoSDKVersion: Swift.String? = nil, isCompatible: Swift.Bool? = nil, peerMetadata: [Swift.String : Any?] = [:], identityServiceMetadata: [Swift.String : Any?] = [:]) + public init(address: DittoSwift.DittoAddress, peerKeyString: Swift.String, connections: [DittoSwift.DittoConnection], deviceName: Swift.String, isConnectedToDittoCloud: Swift.Bool, os: Swift.String? = nil, dittoSDKVersion: Swift.String? = nil, isCompatible: Swift.Bool? = nil, peerMetadata: [Swift.String : Any?] = [:], identityServiceMetadata: [Swift.String : Any?] = [:]) +} +extension DittoSwift.DittoPeer : Swift.Equatable { + public static func == (a: DittoSwift.DittoPeer, b: DittoSwift.DittoPeer) -> Swift.Bool +} +extension DittoSwift.DittoPeer : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoPeer : Swift.Codable { + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +@_hasMissingDesignatedInitializers public class DittoQueryResult { + final public let items: [DittoSwift.DittoQueryResultItem] + public func mutatedDocumentIDs() -> [DittoSwift.DittoDocumentID] + @objc deinit +} +extension Foundation.NSNotification.Name { + public static let dittoAuthenticationStatusDidChange: Foundation.NSNotification.Name +} +@_hasMissingDesignatedInitializers public class DittoAuthenticator { + public var status: DittoSwift.DittoAuthenticationStatus { + get + } + public func login(token: Swift.String, provider: Swift.String, completion: @escaping (Swift.String?, DittoSwift.DittoSwiftError?) -> Swift.Void) + @available(*, deprecated, message: "Use `login` that provides access to the clientInfo JSON string in the completion closure instead.") + public func loginWithToken(_ token: Swift.String, provider: Swift.String, completion: @escaping (DittoSwift.DittoSwiftError?) -> Swift.Void) + public func loginWithCredentials(username: Swift.String, password: Swift.String, provider: Swift.String, completion: @escaping (DittoSwift.DittoSwiftError?) -> Swift.Void) + public func logout(cleanup: ((DittoSwift.Ditto) -> Swift.Void)? = nil) + public func observeStatus(_ block: @escaping (DittoSwift.DittoAuthenticationStatus) -> Swift.Void) -> DittoSwift.DittoObserver + @objc deinit +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.Ditto { + @available(*, deprecated, message: "Replaced by `DittoPresence.GraphPublisher`.") + public struct RemotePeersPublisher : Combine.Publisher { + public typealias Output = [DittoSwift.DittoRemotePeer] + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == [DittoSwift.DittoRemotePeer] + } + @available(*, deprecated, message: "Replaced by `self.presence.graphPublisher()`.") + public func remotePeersPublisher() -> DittoSwift.Ditto.RemotePeersPublisher +} +public enum DittoSwiftError : Swift.Error { + public enum ActivationErrorReason { + case licenseTokenExpired(message: Swift.String) + case licenseTokenUnsupportedFutureVersion(message: Swift.String) + case licenseTokenVerificationFailed(message: Swift.String) + case notActivatedError(message: Swift.String) + } + public enum AuthenticationErrorReason { + case failedToAuthenticate + public static func == (a: DittoSwift.DittoSwiftError.AuthenticationErrorReason, b: DittoSwift.DittoSwiftError.AuthenticationErrorReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } + } + public enum EncryptionErrorReason { + case extraneousPassphraseGiven + case passphraseInvalid + case passphraseNotGiven + public static func == (a: DittoSwift.DittoSwiftError.EncryptionErrorReason, b: DittoSwift.DittoSwiftError.EncryptionErrorReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } + } + public enum MigrationErrorReason { + case disableSyncWithV3Failed + public static func == (a: DittoSwift.DittoSwiftError.MigrationErrorReason, b: DittoSwift.DittoSwiftError.MigrationErrorReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } + } + public enum StoreErrorReason { + case attachmentDataRetrievalError(error: any Swift.Error) + case attachmentFileCopyError(error: any Swift.Error) + case attachmentFileNotFound(message: Swift.String) + case attachmentFilePermissionDenied(message: Swift.String) + case attachmentNotFound(message: Swift.String) + case attachmentTokenInvalid(message: Swift.String) + case failedToCreateAttachment(message: Swift.String) + case failedToFetchAttachment(message: Swift.String) + case backendError(message: Swift.String) + case crdtError(message: Swift.String) + case documentContentEncodingFailed(error: (any Swift.Error)?) + case documentNotFound + case failedToDecodeData(error: (any Swift.Error)?, data: [Swift.UInt8]) + case failedToDecodeDocument(error: any Swift.Error) + case failedToGetDocumentData(path: Swift.String) + case failedToGetDocumentIDData(path: Swift.String) + case invalidCRDTType(message: Swift.String) + case invalidDocumentStructure(cbor: DittoSwift.CBOR) + case invalidValueForCRDT(message: Swift.String) + case nonStringKeyInDocument(key: DittoSwift.CBOR) + case queryArgumentsInvalid + case queryError(message: Swift.String) + case queryInvalid(message: Swift.String) + case queryNotSupported(message: Swift.String) + case transactionReadOnly(message: Swift.String) + } + public enum TransportErrorReason { + case diagnosticsUnavailable + case failedToDecodeTransportDiagnostics + public static func == (a: DittoSwift.DittoSwiftError.TransportErrorReason, b: DittoSwift.DittoSwiftError.TransportErrorReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } + } + public enum ValidationErrorReason { + case depthLimitExceeded(message: Swift.String) + case notADictionary(message: Swift.String) + case notJSONCompatible(message: Swift.String) + case invalidJSON(message: Swift.String) + case invalidCBOR(message: Swift.String) + case sizeLimitExceeded(message: Swift.String) + } + public enum IOErrorReason { + case alreadyExists(message: Swift.String) + case notFound(message: Swift.String) + case permissionDenied(message: Swift.String) + case operationFailed(message: Swift.String) + } + case activationError(reason: DittoSwift.DittoSwiftError.ActivationErrorReason) + case authenticationError(reason: DittoSwift.DittoSwiftError.AuthenticationErrorReason) + case encryptionError(reason: DittoSwift.DittoSwiftError.EncryptionErrorReason) + case migrationError(reason: DittoSwift.DittoSwiftError.MigrationErrorReason) + case storeError(reason: DittoSwift.DittoSwiftError.StoreErrorReason) + case transportError(reason: DittoSwift.DittoSwiftError.TransportErrorReason) + case validationError(reason: DittoSwift.DittoSwiftError.ValidationErrorReason) + case ioError(reason: DittoSwift.DittoSwiftError.IOErrorReason) + case unsupportedError(message: Swift.String) + case unknownError(message: Swift.String) +} +extension DittoSwift.DittoSwiftError : Foundation.LocalizedError { + public var errorDescription: Swift.String? { + get + } +} +@_hasMissingDesignatedInitializers public class DittoWriteTransaction { + public func scoped(toCollectionNamed collectionName: DittoSwift.DittoCollectionName) -> DittoSwift.DittoScopedWriteTransaction + public subscript(collectionName: DittoSwift.DittoCollectionName) -> DittoSwift.DittoScopedWriteTransaction { + get + } + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoLogger { + public static var enabled: Swift.Bool { + get + set + } + public static var minimumLogLevel: DittoSwift.DittoLogLevel { + get + set + } + public static var emojiLogLevelHeadingsEnabled: Swift.Bool { + get + set + } + public static func setLogFile(_ logFile: Swift.String?) + public static func setLogFileURL(_ logFile: Foundation.URL?) + public static func setCustomLogCallback(_ logCb: ((DittoSwift.DittoLogLevel, Swift.String) -> ())?) + @discardableResult + public static func export(to fileURL: Foundation.URL) async throws -> Swift.UInt64 + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoSubscription { + public var query: Swift.String { + get + } + public var collectionName: DittoSwift.DittoCollectionName { + get + } + public func cancel() + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoScopedWriteTransaction { + public var collectionName: DittoSwift.DittoCollectionName { + get + } + @discardableResult + public func upsert(_ content: [Swift.String : Any?], writeStrategy: DittoSwift.DittoWriteStrategy = .merge) throws -> DittoSwift.DittoDocumentID + @discardableResult + @available(*, deprecated, message: "Codable APIs will be removed in the future.") + public func upsert(_ content: T, writeStrategy: DittoSwift.DittoWriteStrategy = .merge) throws -> DittoSwift.DittoDocumentID where T : Swift.Decodable, T : Swift.Encodable + public func findByID(_ id: DittoSwift.DittoDocumentID) -> DittoSwift.DittoWriteTransactionPendingIDSpecificOperation + public func findByID(_ id: Any) -> DittoSwift.DittoWriteTransactionPendingIDSpecificOperation + public func find(_ query: Swift.String) -> DittoSwift.DittoWriteTransactionPendingCursorOperation + public func find(_ query: Swift.String, args queryArgs: Swift.Dictionary) -> DittoSwift.DittoWriteTransactionPendingCursorOperation + public func findAll() -> DittoSwift.DittoWriteTransactionPendingCursorOperation + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoMutableDocumentPath : Swift.ExpressibleByStringLiteral, Swift.ExpressibleByIntegerLiteral, Swift.ExpressibleByBooleanLiteral, Swift.ExpressibleByFloatLiteral, Swift.ExpressibleByDictionaryLiteral, Swift.ExpressibleByArrayLiteral, Swift.ExpressibleByNilLiteral { + public subscript(key: Swift.String) -> DittoSwift.DittoMutableDocumentPath { + get + set + } + public subscript(index: Swift.Int) -> DittoSwift.DittoMutableDocumentPath { + get + set + } + public func set(_ value: Any?, isDefault: Swift.Bool = false) + public func remove() + required public init(stringLiteral value: Swift.StringLiteralType) + required public init(extendedGraphemeClusterLiteral value: Swift.StringLiteralType) + required public init(unicodeScalarLiteral value: Swift.StringLiteralType) + required public init(integerLiteral value: Swift.IntegerLiteralType) + required public init(booleanLiteral value: Swift.BooleanLiteralType) + required public init(floatLiteral value: Swift.FloatLiteralType) + required public init(dictionaryLiteral elements: (Swift.String, Any)...) + required public init(arrayLiteral elements: Any...) + required public init(nilLiteral: ()) + public typealias ArrayLiteralElement = Any + public typealias BooleanLiteralType = Swift.BooleanLiteralType + public typealias ExtendedGraphemeClusterLiteralType = Swift.StringLiteralType + public typealias FloatLiteralType = Swift.FloatLiteralType + public typealias IntegerLiteralType = Swift.IntegerLiteralType + public typealias Key = Swift.String + public typealias StringLiteralType = Swift.StringLiteralType + public typealias UnicodeScalarLiteralType = Swift.StringLiteralType + public typealias Value = Any + @objc deinit +} +extension DittoSwift.DittoMutableDocumentPath { + public var value: Any? { + get + } + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } + public var attachmentToken: DittoSwift.DittoAttachmentToken? { + get + } + public var counter: DittoSwift.DittoMutableCounter? { + get + } + public var register: DittoSwift.DittoMutableRegister? { + get + } +} +public struct DittoAuthenticationStatus : Swift.Equatable { + public var isAuthenticated: Swift.Bool + public var userID: Swift.String? + public static func == (a: DittoSwift.DittoAuthenticationStatus, b: DittoSwift.DittoAuthenticationStatus) -> Swift.Bool +} +public struct DittoPresenceGraph { + public var localPeer: DittoSwift.DittoPeer + public var remotePeers: [DittoSwift.DittoPeer] + public init(localPeer: DittoSwift.DittoPeer, remotePeers: [DittoSwift.DittoPeer]) + public func allConnectionsByID() -> Swift.Dictionary +} +extension DittoSwift.DittoPresenceGraph : Swift.Equatable { + public static func == (a: DittoSwift.DittoPresenceGraph, b: DittoSwift.DittoPresenceGraph) -> Swift.Bool +} +extension DittoSwift.DittoPresenceGraph : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoPresenceGraph : Swift.Codable { + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +extension Swift.Int32 : Swift.Error { +} +@_hasMissingDesignatedInitializers @available(*, deprecated, message: "Codable APIs will be removed in the future") +public class DittoTypedDocument where T : Swift.Decodable { + final public let id: DittoSwift.DittoDocumentID + final public let value: T + @objc deinit +} +public enum DittoSortDirection { + case ascending + case descending + public static func == (a: DittoSwift.DittoSortDirection, b: DittoSwift.DittoSortDirection) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_hasMissingDesignatedInitializers public class DittoQueryResultItem { + public var value: Swift.Dictionary { + get + } + public var isMaterialized: Swift.Bool { + get + } + public func materialize() + public func dematerialize() + public func cborData() -> Foundation.Data + public func jsonData() -> Foundation.Data + public func jsonString() -> Swift.String + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoTransaction { + public var info: DittoSwift.DittoTransactionInfo { + get + } + final public let store: DittoSwift.DittoStore + @objc deinit +} +extension DittoSwift.DittoTransaction : DittoSwift.DittoQueryExecuting { + @discardableResult + public func execute(query: Swift.String, arguments: Swift.Dictionary) async throws -> DittoSwift.DittoQueryResult +} +@_hasMissingDesignatedInitializers public class DittoPendingCollectionsOperation { + public func limit(_ limit: Swift.Int32) -> Self + public func sort(_ query: Swift.String, direction: DittoSwift.DittoSortDirection) -> Self + public func offset(_ offset: Swift.UInt32) -> Self + public func subscribe() -> DittoSwift.DittoSubscription + public func exec() -> [DittoSwift.DittoCollection] + public func observeLocal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping (DittoSwift.DittoCollectionsEvent) -> Swift.Void) -> DittoSwift.DittoLiveQuery + public func observeLocalWithNextSignal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping (DittoSwift.DittoCollectionsEvent, @escaping DittoSwift.DittoSignalNext) -> Swift.Void) -> DittoSwift.DittoLiveQuery + @objc deinit +} +public typealias DittoConnectionRequestHandler = (_ connectionRequest: DittoSwift.DittoConnectionRequest) async -> DittoSwift.DittoConnectionRequestAuthorization +@_hasMissingDesignatedInitializers public class DittoConnectionRequest { + public var peerKeyString: Swift.String { + get + } + public var peerMetadata: [Swift.String : Any?] { + get + } + public var peerMetadataJSONData: Foundation.Data { + get + } + public var identityServiceMetadata: [Swift.String : Any?] { + get + } + public var identityServiceMetadataJSONData: Foundation.Data { + get + } + public var connectionType: DittoSwift.DittoConnectionType { + get + } + @objc deinit +} +extension DittoSwift.DittoConnectionRequest : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoPresence { + public struct GraphPublisher : Combine.Publisher { + public typealias Output = DittoSwift.DittoPresenceGraph + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == DittoSwift.DittoPresenceGraph + } + public func graphPublisher() -> DittoSwift.DittoPresence.GraphPublisher +} +public struct DittoAddress { +} +extension DittoSwift.DittoAddress : Swift.Equatable { + public static func == (a: DittoSwift.DittoAddress, b: DittoSwift.DittoAddress) -> Swift.Bool +} +extension DittoSwift.DittoAddress : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoAddress : Swift.Codable { + public init(from decoder: any Swift.Decoder) throws + public func encode(to encoder: any Swift.Encoder) throws +} +@_hasMissingDesignatedInitializers public class DittoPendingCursorOperation { + public func limit(_ limit: Swift.Int32) -> Self + public func sort(_ query: Swift.String, direction: DittoSwift.DittoSortDirection) -> Self + public func offset(_ offset: Swift.UInt32) -> Self + public func subscribe() -> DittoSwift.DittoSubscription + @discardableResult + public func remove() -> [DittoSwift.DittoDocumentID] + @discardableResult + public func evict() -> [DittoSwift.DittoDocumentID] + public func exec() -> [DittoSwift.DittoDocument] + public func observeLocal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping ([DittoSwift.DittoDocument], DittoSwift.DittoLiveQueryEvent) -> Swift.Void) -> DittoSwift.DittoLiveQuery + public func observeLocalWithNextSignal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping ([DittoSwift.DittoDocument], DittoSwift.DittoLiveQueryEvent, @escaping DittoSwift.DittoSignalNext) -> Swift.Void) -> DittoSwift.DittoLiveQuery + @discardableResult + public func update(_ closure: @escaping ([DittoSwift.DittoMutableDocument]) -> Swift.Void) -> [DittoSwift.DittoDocumentID : [DittoSwift.DittoUpdateResult]] + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoMutableDocument { + public var id: DittoSwift.DittoDocumentID { + get + } + public var value: [Swift.String : Any?] { + get + } + @available(*, deprecated, message: "Codable APIs will be removed in the future") + public func typed(_ type: T.Type) throws -> DittoSwift.DittoTypedDocument where T : Swift.Decodable, T : Swift.Encodable + public subscript(key: Swift.String) -> DittoSwift.DittoMutableDocumentPath { + get + set + } + @objc deinit +} +public enum DittoConnectionRequestAuthorization { + case allow + case deny + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoConnectionRequestAuthorization : Swift.Equatable { + public static func == (a: DittoSwift.DittoConnectionRequestAuthorization, b: DittoSwift.DittoConnectionRequestAuthorization) -> Swift.Bool +} +public enum DittoIdentity { + case offlinePlayground(appID: Swift.String? = nil, siteID: Swift.UInt64? = nil) + case onlineWithAuthentication(appID: Swift.String, authenticationDelegate: any DittoSwift.DittoAuthenticationDelegate, enableDittoCloudSync: Swift.Bool = true, customAuthURL: Foundation.URL? = nil) + case onlinePlayground(appID: Swift.String, token: Swift.String, enableDittoCloudSync: Swift.Bool = true, customAuthURL: Foundation.URL? = nil) + case sharedKey(appID: Swift.String, sharedKey: Swift.String, siteID: Swift.UInt64? = nil) + case manual(certificateConfig: Swift.String) +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoStore { + public struct FetchAttachmentPublisher : Combine.Publisher { + public struct Progress { + public var percentage: Swift.Float + public var downloadedBytes: Swift.UInt64 + public var totalBytes: Swift.UInt64 + } + public typealias Output = DittoSwift.DittoAttachmentFetchEvent + public typealias Failure = DittoSwift.DittoSwiftError + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == DittoSwift.DittoSwiftError, S.Input == DittoSwift.DittoAttachmentFetchEvent + public func progress() -> Combine.AnyPublisher + public func completed() -> Combine.AnyPublisher + } + public func fetchAttachmentPublisher(attachmentToken: DittoSwift.DittoAttachmentToken) -> DittoSwift.DittoStore.FetchAttachmentPublisher + public func fetchAttachmentPublisher(attachmentToken: [Swift.String : Any]) -> DittoSwift.DittoStore.FetchAttachmentPublisher +} +public protocol DittoQueryExecuting { + @discardableResult + func execute(query: Swift.String, arguments: Swift.Dictionary) async throws -> DittoSwift.DittoQueryResult +} +extension DittoSwift.DittoQueryExecuting { + @discardableResult + public func execute(query: Swift.String) async throws -> DittoSwift.DittoQueryResult +} +@_hasMissingDesignatedInitializers public class DittoStore { + public subscript(collectionName: DittoSwift.DittoCollectionName) -> DittoSwift.DittoCollection { + get + } + public func collection(_ name: DittoSwift.DittoCollectionName) -> DittoSwift.DittoCollection + public func collectionNames() -> [DittoSwift.DittoCollectionName] + public func collections() -> DittoSwift.DittoPendingCollectionsOperation + public func queriesHash(queries: [DittoSwift.DittoLiveQuery]) -> Swift.UInt + public func queriesHashMnemonic(queries: [DittoSwift.DittoLiveQuery]) -> Swift.String + @discardableResult + public func write(_ block: @escaping (DittoSwift.DittoWriteTransaction) -> Swift.Void) -> [DittoSwift.DittoWriteTransactionResult] + public var observers: Swift.Set { + get + } + @discardableResult + public func registerObserver(query: Swift.String, arguments: Swift.Dictionary? = nil, deliverOn queue: Dispatch.DispatchQueue = .main, handler: @escaping DittoSwift.DittoStoreObservationHandler) throws -> DittoSwift.DittoStoreObserver + @discardableResult + public func registerObserver(query: Swift.String, arguments: Swift.Dictionary? = nil, deliverOn queue: Dispatch.DispatchQueue = .main, handlerWithSignalNext: @escaping DittoSwift.DittoStoreObservationHandlerWithSignalNext) throws -> DittoSwift.DittoStoreObserver + @discardableResult + public func transaction(hint: Swift.String? = nil, isReadOnly: Swift.Bool = false, with scope: ((_ transaction: DittoSwift.DittoTransaction) async throws -> DittoSwift.DittoTransactionCompletionAction)) async throws -> DittoSwift.DittoTransactionCompletionAction + public func transaction(hint: Swift.String? = nil, isReadOnly: Swift.Bool = false, with scope: ((_ transaction: DittoSwift.DittoTransaction) async throws -> T)) async throws -> T + public func newAttachment(path: Swift.String, metadata: [Swift.String : Swift.String] = [:]) async throws -> DittoSwift.DittoAttachment + public var attachmentFetchers: Swift.Set { + get + } + @discardableResult + public func fetchAttachment(token: DittoSwift.DittoAttachmentToken, deliverOn deliveryQueue: Dispatch.DispatchQueue = .main, onFetchEvent: @escaping (DittoSwift.DittoAttachmentFetchEvent) -> Swift.Void) throws -> DittoSwift.DittoAttachmentFetcher + @discardableResult + public func fetchAttachment(token: [Swift.String : Any], deliverOn queue: Dispatch.DispatchQueue = .main, onFetchEvent: @escaping (DittoSwift.DittoAttachmentFetchEvent) -> Swift.Void) throws -> DittoSwift.DittoAttachmentFetcher + @objc deinit +} +extension DittoSwift.DittoStore : DittoSwift.DittoQueryExecuting { + @discardableResult + public func execute(query: Swift.String, arguments: Swift.Dictionary) async throws -> DittoSwift.DittoQueryResult +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoPendingIDSpecificOperation { + public typealias Snapshot = (document: DittoSwift.DittoDocument?, event: DittoSwift.DittoSingleDocumentLiveQueryEvent) + public struct SingleDocumentLiveQueryPublisher : Combine.Publisher { + public typealias Output = DittoSwift.DittoPendingIDSpecificOperation.Snapshot + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == (document: DittoSwift.DittoDocument?, event: DittoSwift.DittoSingleDocumentLiveQueryEvent) + } + public func singleDocumentLiveQueryPublisher() -> DittoSwift.DittoPendingIDSpecificOperation.SingleDocumentLiveQueryPublisher +} +public enum DittoFileSystemType { + case directory + case file + case symlink + public static func == (a: DittoSwift.DittoFileSystemType, b: DittoSwift.DittoFileSystemType) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoFileSystemType : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} +extension DittoSwift.DittoConnectionType : Swift.Equatable {} +extension DittoSwift.DittoConnectionType : Swift.Hashable {} +extension DittoSwift.DittoConnectionType : Swift.RawRepresentable {} +extension DittoSwift.DittoTransactionCompletionAction : Swift.Hashable {} +extension DittoSwift.DittoLogLevel : Swift.Equatable {} +extension DittoSwift.DittoLogLevel : Swift.Hashable {} +extension DittoSwift.DittoLogLevel : Swift.RawRepresentable {} +extension DittoSwift.DittoSmallPeerInfoSyncScope : Swift.Equatable {} +extension DittoSwift.DittoSmallPeerInfoSyncScope : Swift.Hashable {} +extension DittoSwift.DittoSmallPeerInfoSyncScope : Swift.RawRepresentable {} +extension DittoSwift.DittoConnectionPriority : Swift.Equatable {} +extension DittoSwift.DittoConnectionPriority : Swift.Hashable {} +extension DittoSwift.DittoConnectionPriority : Swift.RawRepresentable {} +extension DittoSwift.DittoTransportCondition : Swift.Equatable {} +extension DittoSwift.DittoTransportCondition : Swift.Hashable {} +extension DittoSwift.DittoTransportCondition : Swift.RawRepresentable {} +extension DittoSwift.DittoConditionSource : Swift.Equatable {} +extension DittoSwift.DittoConditionSource : Swift.Hashable {} +extension DittoSwift.DittoConditionSource : Swift.RawRepresentable {} +extension DittoSwift.DittoWriteStrategy : Swift.Equatable {} +extension DittoSwift.DittoWriteStrategy : Swift.Hashable {} +extension DittoSwift.DittoSwiftError.AuthenticationErrorReason : Swift.Equatable {} +extension DittoSwift.DittoSwiftError.AuthenticationErrorReason : Swift.Hashable {} +extension DittoSwift.DittoSwiftError.EncryptionErrorReason : Swift.Equatable {} +extension DittoSwift.DittoSwiftError.EncryptionErrorReason : Swift.Hashable {} +extension DittoSwift.DittoSwiftError.MigrationErrorReason : Swift.Equatable {} +extension DittoSwift.DittoSwiftError.MigrationErrorReason : Swift.Hashable {} +extension DittoSwift.DittoSwiftError.TransportErrorReason : Swift.Equatable {} +extension DittoSwift.DittoSwiftError.TransportErrorReason : Swift.Hashable {} +extension DittoSwift.DittoSortDirection : Swift.Equatable {} +extension DittoSwift.DittoSortDirection : Swift.Hashable {} +extension DittoSwift.DittoConnectionRequestAuthorization : Swift.Hashable {} +extension DittoSwift.DittoFileSystemType : Swift.Equatable {} +extension DittoSwift.DittoFileSystemType : Swift.Hashable {} diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/x86_64-apple-macos.abi.json b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/x86_64-apple-macos.abi.json new file mode 100644 index 0000000..ef5a434 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/x86_64-apple-macos.abi.json @@ -0,0 +1,56783 @@ +{ + "ABIRoot": { + "kind": "Root", + "name": "DittoSwift", + "printedName": "DittoSwift", + "children": [ + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DiskUsage", + "printedName": "DiskUsage", + "children": [ + { + "kind": "Var", + "name": "exec", + "printedName": "exec", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsageItem", + "printedName": "DittoSwift.DiskUsageItem", + "usr": "s:10DittoSwift13DiskUsageItemV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift9DiskUsageC4execAA0cD4ItemVvp", + "mangledName": "$s10DittoSwift9DiskUsageC4execAA0cD4ItemVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsageItem", + "printedName": "DittoSwift.DiskUsageItem", + "usr": "s:10DittoSwift13DiskUsageItemV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift9DiskUsageC4execAA0cD4ItemVvg", + "mangledName": "$s10DittoSwift9DiskUsageC4execAA0cD4ItemVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "observe", + "printedName": "observe(eventHandler:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsageObserverHandle", + "printedName": "DittoSwift.DiskUsage.DiskUsageObserverHandle", + "usr": "s:10DittoSwift9DiskUsageC0cD14ObserverHandleC" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DiskUsageItem) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DiskUsageItem", + "printedName": "DittoSwift.DiskUsageItem", + "usr": "s:10DittoSwift13DiskUsageItemV" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift9DiskUsageC7observe12eventHandlerAC0cD14ObserverHandleCyAA0cD4ItemVc_tF", + "mangledName": "$s10DittoSwift9DiskUsageC7observe12eventHandlerAC0cD14ObserverHandleCyAA0cD4ItemVc_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "DiskUsageObserverHandle", + "printedName": "DiskUsageObserverHandle", + "children": [ + { + "kind": "Function", + "name": "stop", + "printedName": "stop()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift9DiskUsageC0cD14ObserverHandleC4stopyyF", + "mangledName": "$s10DittoSwift9DiskUsageC0cD14ObserverHandleC4stopyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift9DiskUsageC0cD14ObserverHandleC", + "mangledName": "$s10DittoSwift9DiskUsageC0cD14ObserverHandleC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DiskUsagePublisher", + "printedName": "DiskUsagePublisher", + "children": [ + { + "kind": "Function", + "name": "receive", + "printedName": "receive(subscriber:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift9DiskUsageC0cD9PublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0cD4ItemV5InputRtzlF", + "mangledName": "$s10DittoSwift9DiskUsageC0cD9PublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0cD4ItemV5InputRtzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Combine.Subscriber, ฯ„_0_0.Failure == Swift.Never, ฯ„_0_0.Input == DittoSwift.DiskUsageItem>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift9DiskUsageC0cD9PublisherV", + "mangledName": "$s10DittoSwift9DiskUsageC0cD9PublisherV", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Publisher", + "printedName": "Publisher", + "children": [ + { + "kind": "TypeWitness", + "name": "Output", + "printedName": "Output", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsageItem", + "printedName": "DittoSwift.DiskUsageItem", + "usr": "s:10DittoSwift13DiskUsageItemV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Failure", + "printedName": "Failure", + "children": [ + { + "kind": "TypeNominal", + "name": "Never", + "printedName": "Swift.Never", + "usr": "s:s5NeverO" + } + ] + } + ], + "usr": "s:7Combine9PublisherP", + "mangledName": "$s7Combine9PublisherP" + } + ] + }, + { + "kind": "Function", + "name": "diskUsagePublisher", + "printedName": "diskUsagePublisher()", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsagePublisher", + "printedName": "DittoSwift.DiskUsage.DiskUsagePublisher", + "usr": "s:10DittoSwift9DiskUsageC0cD9PublisherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift9DiskUsageC04diskD9PublisherAC0cdF0VyF", + "mangledName": "$s10DittoSwift9DiskUsageC04diskD9PublisherAC0cdF0VyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift9DiskUsageC", + "mangledName": "$s10DittoSwift9DiskUsageC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoAttachmentFetcher", + "printedName": "DittoAttachmentFetcher", + "children": [ + { + "kind": "Var", + "name": "ditto", + "printedName": "ditto", + "children": [ + { + "kind": "TypeNominal", + "name": "WeakStorage", + "printedName": "DittoSwift.Ditto?" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17AttachmentFetcherC5dittoAA0A0CSgvp", + "mangledName": "$s10DittoSwift0A17AttachmentFetcherC5dittoAA0A0CSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "ReferenceOwnership", + "SetterAccess", + "AccessControl", + "RawDocComment" + ], + "ownership": 1, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.Ditto?", + "children": [ + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17AttachmentFetcherC5dittoAA0A0CSgvg", + "mangledName": "$s10DittoSwift0A17AttachmentFetcherC5dittoAA0A0CSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "stop", + "printedName": "stop()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A17AttachmentFetcherC4stopyyF", + "mangledName": "$s10DittoSwift0A17AttachmentFetcherC4stopyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A17AttachmentFetcherC4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A17AttachmentFetcherC4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17AttachmentFetcherC9hashValueSivp", + "mangledName": "$s10DittoSwift0A17AttachmentFetcherC9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17AttachmentFetcherC9hashValueSivg", + "mangledName": "$s10DittoSwift0A17AttachmentFetcherC9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetcher", + "printedName": "DittoSwift.DittoAttachmentFetcher", + "usr": "s:10DittoSwift0A17AttachmentFetcherC" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetcher", + "printedName": "DittoSwift.DittoAttachmentFetcher", + "usr": "s:10DittoSwift0A17AttachmentFetcherC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A17AttachmentFetcherC2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A17AttachmentFetcherC2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A17AttachmentFetcherC", + "mangledName": "$s10DittoSwift0A17AttachmentFetcherC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoUpdateResult", + "printedName": "DittoUpdateResult", + "children": [ + { + "kind": "Var", + "name": "set", + "printedName": "set", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoUpdateResult.Type) -> (DittoSwift.DittoDocumentID, Swift.String, Any?) -> DittoSwift.DittoUpdateResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoDocumentID, Swift.String, Any?) -> DittoSwift.DittoUpdateResult", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoUpdateResult", + "printedName": "DittoSwift.DittoUpdateResult", + "usr": "s:10DittoSwift0A12UpdateResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(docID: DittoSwift.DittoDocumentID, path: Swift.String, value: Any?)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoUpdateResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoUpdateResult", + "printedName": "DittoSwift.DittoUpdateResult", + "usr": "s:10DittoSwift0A12UpdateResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A12UpdateResultO3setyAcA0A10DocumentIDV_SSypSgtcACmF", + "mangledName": "$s10DittoSwift0A12UpdateResultO3setyAcA0A10DocumentIDV_SSypSgtcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "removed", + "printedName": "removed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoUpdateResult.Type) -> (DittoSwift.DittoDocumentID, Swift.String) -> DittoSwift.DittoUpdateResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoDocumentID, Swift.String) -> DittoSwift.DittoUpdateResult", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoUpdateResult", + "printedName": "DittoSwift.DittoUpdateResult", + "usr": "s:10DittoSwift0A12UpdateResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(docID: DittoSwift.DittoDocumentID, path: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoUpdateResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoUpdateResult", + "printedName": "DittoSwift.DittoUpdateResult", + "usr": "s:10DittoSwift0A12UpdateResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A12UpdateResultO7removedyAcA0A10DocumentIDV_SStcACmF", + "mangledName": "$s10DittoSwift0A12UpdateResultO7removedyAcA0A10DocumentIDV_SStcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "incremented", + "printedName": "incremented", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoUpdateResult.Type) -> (DittoSwift.DittoDocumentID, Swift.String, Swift.Double) -> DittoSwift.DittoUpdateResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoDocumentID, Swift.String, Swift.Double) -> DittoSwift.DittoUpdateResult", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoUpdateResult", + "printedName": "DittoSwift.DittoUpdateResult", + "usr": "s:10DittoSwift0A12UpdateResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(docID: DittoSwift.DittoDocumentID, path: Swift.String, amount: Swift.Double)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoUpdateResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoUpdateResult", + "printedName": "DittoSwift.DittoUpdateResult", + "usr": "s:10DittoSwift0A12UpdateResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A12UpdateResultO11incrementedyAcA0A10DocumentIDV_SSSdtcACmF", + "mangledName": "$s10DittoSwift0A12UpdateResultO11incrementedyAcA0A10DocumentIDV_SSSdtcACmF", + "moduleName": "DittoSwift" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A12UpdateResultO", + "mangledName": "$s10DittoSwift0A12UpdateResultO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoSync", + "printedName": "DittoSync", + "children": [ + { + "kind": "Var", + "name": "subscriptions", + "printedName": "subscriptions", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSyncSubscription", + "printedName": "DittoSwift.DittoSyncSubscription", + "usr": "s:10DittoSwift0A16SyncSubscriptionC" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4SyncC13subscriptionsShyAA0aC12SubscriptionCGvp", + "mangledName": "$s10DittoSwift0A4SyncC13subscriptionsShyAA0aC12SubscriptionCGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSyncSubscription", + "printedName": "DittoSwift.DittoSyncSubscription", + "usr": "s:10DittoSwift0A16SyncSubscriptionC" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4SyncC13subscriptionsShyAA0aC12SubscriptionCGvg", + "mangledName": "$s10DittoSwift0A4SyncC13subscriptionsShyAA0aC12SubscriptionCGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "registerSubscription", + "printedName": "registerSubscription(query:arguments:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSyncSubscription", + "printedName": "DittoSwift.DittoSyncSubscription", + "usr": "s:10DittoSwift0A16SyncSubscriptionC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A4SyncC20registerSubscription5query9argumentsAA0acE0CSS_SDySSypSgGSgtKF", + "mangledName": "$s10DittoSwift0A4SyncC20registerSubscription5query9argumentsAA0acE0CSS_SDySSypSgGSgtKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A4SyncC", + "mangledName": "$s10DittoSwift0A4SyncC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoCollectionsEvent", + "printedName": "DittoCollectionsEvent", + "children": [ + { + "kind": "Var", + "name": "isInitial", + "printedName": "isInitial", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16CollectionsEventV9isInitialSbvp", + "mangledName": "$s10DittoSwift0A16CollectionsEventV9isInitialSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16CollectionsEventV9isInitialSbvg", + "mangledName": "$s10DittoSwift0A16CollectionsEventV9isInitialSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "collections", + "printedName": "collections", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoCollection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCollection", + "printedName": "DittoSwift.DittoCollection", + "usr": "s:10DittoSwift0A10CollectionC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16CollectionsEventV11collectionsSayAA0A10CollectionCGvp", + "mangledName": "$s10DittoSwift0A16CollectionsEventV11collectionsSayAA0A10CollectionCGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoCollection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCollection", + "printedName": "DittoSwift.DittoCollection", + "usr": "s:10DittoSwift0A10CollectionC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16CollectionsEventV11collectionsSayAA0A10CollectionCGvg", + "mangledName": "$s10DittoSwift0A16CollectionsEventV11collectionsSayAA0A10CollectionCGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "oldCollections", + "printedName": "oldCollections", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoCollection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCollection", + "printedName": "DittoSwift.DittoCollection", + "usr": "s:10DittoSwift0A10CollectionC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16CollectionsEventV03oldC0SayAA0A10CollectionCGvp", + "mangledName": "$s10DittoSwift0A16CollectionsEventV03oldC0SayAA0A10CollectionCGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoCollection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCollection", + "printedName": "DittoSwift.DittoCollection", + "usr": "s:10DittoSwift0A10CollectionC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16CollectionsEventV03oldC0SayAA0A10CollectionCGvg", + "mangledName": "$s10DittoSwift0A16CollectionsEventV03oldC0SayAA0A10CollectionCGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "insertions", + "printedName": "insertions", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16CollectionsEventV10insertionsSaySiGvp", + "mangledName": "$s10DittoSwift0A16CollectionsEventV10insertionsSaySiGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16CollectionsEventV10insertionsSaySiGvg", + "mangledName": "$s10DittoSwift0A16CollectionsEventV10insertionsSaySiGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "deletions", + "printedName": "deletions", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16CollectionsEventV9deletionsSaySiGvp", + "mangledName": "$s10DittoSwift0A16CollectionsEventV9deletionsSaySiGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16CollectionsEventV9deletionsSaySiGvg", + "mangledName": "$s10DittoSwift0A16CollectionsEventV9deletionsSaySiGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "updates", + "printedName": "updates", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16CollectionsEventV7updatesSaySiGvp", + "mangledName": "$s10DittoSwift0A16CollectionsEventV7updatesSaySiGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16CollectionsEventV7updatesSaySiGvg", + "mangledName": "$s10DittoSwift0A16CollectionsEventV7updatesSaySiGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "moves", + "printedName": "moves", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[(from: Swift.Int, to: Swift.Int)]", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(from: Swift.Int, to: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16CollectionsEventV5movesSaySi4from_Si2totGvp", + "mangledName": "$s10DittoSwift0A16CollectionsEventV5movesSaySi4from_Si2totGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[(from: Swift.Int, to: Swift.Int)]", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(from: Swift.Int, to: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16CollectionsEventV5movesSaySi4from_Si2totGvg", + "mangledName": "$s10DittoSwift0A16CollectionsEventV5movesSaySi4from_Si2totGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16CollectionsEventV11descriptionSSvp", + "mangledName": "$s10DittoSwift0A16CollectionsEventV11descriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16CollectionsEventV11descriptionSSvg", + "mangledName": "$s10DittoSwift0A16CollectionsEventV11descriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "debugDescription", + "printedName": "debugDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16CollectionsEventV16debugDescriptionSSvp", + "mangledName": "$s10DittoSwift0A16CollectionsEventV16debugDescriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16CollectionsEventV16debugDescriptionSSvg", + "mangledName": "$s10DittoSwift0A16CollectionsEventV16debugDescriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A16CollectionsEventV", + "mangledName": "$s10DittoSwift0A16CollectionsEventV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + } + ] + }, + { + "kind": "Import", + "name": "Combine", + "printedName": "Combine", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoAttachmentFetchEvent", + "children": [ + { + "kind": "Var", + "name": "completed", + "printedName": "completed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoAttachmentFetchEvent.Type) -> (DittoSwift.DittoAttachment) -> DittoSwift.DittoAttachmentFetchEvent", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoAttachment) -> DittoSwift.DittoAttachmentFetchEvent", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachment", + "printedName": "DittoSwift.DittoAttachment", + "usr": "s:10DittoSwift0A10AttachmentC" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoAttachmentFetchEvent.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO9completedyAcA0aC0CcACmF", + "mangledName": "$s10DittoSwift0A20AttachmentFetchEventO9completedyAcA0aC0CcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "progress", + "printedName": "progress", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoAttachmentFetchEvent.Type) -> (Swift.UInt64, Swift.UInt64) -> DittoSwift.DittoAttachmentFetchEvent", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.UInt64, Swift.UInt64) -> DittoSwift.DittoAttachmentFetchEvent", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(downloadedBytes: Swift.UInt64, totalBytes: Swift.UInt64)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoAttachmentFetchEvent.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO8progressyACs6UInt64V_AFtcACmF", + "mangledName": "$s10DittoSwift0A20AttachmentFetchEventO8progressyACs6UInt64V_AFtcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "deleted", + "printedName": "deleted", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoAttachmentFetchEvent.Type) -> DittoSwift.DittoAttachmentFetchEvent", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoAttachmentFetchEvent.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO7deletedyA2CmF", + "mangledName": "$s10DittoSwift0A20AttachmentFetchEventO7deletedyA2CmF", + "moduleName": "DittoSwift" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO", + "mangledName": "$s10DittoSwift0A20AttachmentFetchEventO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoTransportSnapshot", + "printedName": "DittoTransportSnapshot", + "children": [ + { + "kind": "Var", + "name": "connectionType", + "printedName": "connectionType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17TransportSnapshotC14connectionTypeSSvp", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC14connectionTypeSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17TransportSnapshotC14connectionTypeSSvg", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC14connectionTypeSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "connecting", + "printedName": "connecting", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int64]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17TransportSnapshotC10connectingSays5Int64VGvp", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC10connectingSays5Int64VGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int64]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17TransportSnapshotC10connectingSays5Int64VGvg", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC10connectingSays5Int64VGvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "connected", + "printedName": "connected", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int64]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17TransportSnapshotC9connectedSays5Int64VGvp", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC9connectedSays5Int64VGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int64]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17TransportSnapshotC9connectedSays5Int64VGvg", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC9connectedSays5Int64VGvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "disconnecting", + "printedName": "disconnecting", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int64]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17TransportSnapshotC13disconnectingSays5Int64VGvp", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC13disconnectingSays5Int64VGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int64]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17TransportSnapshotC13disconnectingSays5Int64VGvg", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC13disconnectingSays5Int64VGvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "disconnected", + "printedName": "disconnected", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int64]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17TransportSnapshotC12disconnectedSays5Int64VGvp", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC12disconnectedSays5Int64VGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int64]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17TransportSnapshotC12disconnectedSays5Int64VGvg", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC12disconnectedSays5Int64VGvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A17TransportSnapshotC", + "mangledName": "$s10DittoSwift0A17TransportSnapshotC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoDocument", + "printedName": "DittoDocument", + "children": [ + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8DocumentC2idAA0aC2IDVvp", + "mangledName": "$s10DittoSwift0A8DocumentC2idAA0aC2IDVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8DocumentC2idAA0aC2IDVvg", + "mangledName": "$s10DittoSwift0A8DocumentC2idAA0aC2IDVvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8DocumentC5valueSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A8DocumentC5valueSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Lazy", + "SetterAccess", + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8DocumentC5valueSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A8DocumentC5valueSDySSypSgGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentPath", + "printedName": "DittoSwift.DittoDocumentPath", + "usr": "s:10DittoSwift0A12DocumentPathV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A8DocumentCyAA0aC4PathVSScip", + "mangledName": "$s10DittoSwift0A8DocumentCyAA0aC4PathVSScip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentPath", + "printedName": "DittoSwift.DittoDocumentPath", + "usr": "s:10DittoSwift0A12DocumentPathV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8DocumentCyAA0aC4PathVSScig", + "mangledName": "$s10DittoSwift0A8DocumentCyAA0aC4PathVSScig", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "typed", + "printedName": "typed(as:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTypedDocument", + "printedName": "DittoSwift.DittoTypedDocument<ฯ„_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "usr": "s:10DittoSwift0A13TypedDocumentC" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "ฯ„_0_0.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8DocumentC5typed2asAA0a5TypedC0CyxGxm_tKSeRzSERzlF", + "mangledName": "$s10DittoSwift0A8DocumentC5typed2asAA0a5TypedC0CyxGxm_tKSeRzSERzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Swift.Decodable, ฯ„_0_0 : Swift.Encodable>", + "sugared_genericSig": "", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8DocumentC11descriptionSSvp", + "mangledName": "$s10DittoSwift0A8DocumentC11descriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8DocumentC11descriptionSSvg", + "mangledName": "$s10DittoSwift0A8DocumentC11descriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "debugDescription", + "printedName": "debugDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8DocumentC16debugDescriptionSSvp", + "mangledName": "$s10DittoSwift0A8DocumentC16debugDescriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8DocumentC16debugDescriptionSSvg", + "mangledName": "$s10DittoSwift0A8DocumentC16debugDescriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A8DocumentC", + "mangledName": "$s10DittoSwift0A8DocumentC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Identifiable", + "printedName": "Identifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "ID", + "printedName": "ID", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ] + } + ], + "usr": "s:s12IdentifiableP", + "mangledName": "$ss12IdentifiableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoCollection", + "printedName": "DittoCollection", + "children": [ + { + "kind": "Var", + "name": "name", + "printedName": "name", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10CollectionC4nameSSvp", + "mangledName": "$s10DittoSwift0A10CollectionC4nameSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10CollectionC4nameSSvg", + "mangledName": "$s10DittoSwift0A10CollectionC4nameSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "upsert", + "printedName": "upsert(_:writeStrategy:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "hasDefaultArg": true, + "usr": "s:10DittoSwift0A13WriteStrategyO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC6upsert_13writeStrategyAA0A10DocumentIDVSDySSypSgG_AA0a5WriteF0OtKF", + "mangledName": "$s10DittoSwift0A10CollectionC6upsert_13writeStrategyAA0A10DocumentIDVSDySSypSgG_AA0a5WriteF0OtKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "upsert", + "printedName": "upsert(_:writeStrategy:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + }, + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "hasDefaultArg": true, + "usr": "s:10DittoSwift0A13WriteStrategyO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC6upsert_13writeStrategyAA0A10DocumentIDVx_AA0a5WriteF0OtKSERzlF", + "mangledName": "$s10DittoSwift0A10CollectionC6upsert_13writeStrategyAA0A10DocumentIDVx_AA0a5WriteF0OtKSERzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Swift.Encodable>", + "sugared_genericSig": "", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "findByID", + "printedName": "findByID(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPendingIDSpecificOperation", + "printedName": "DittoSwift.DittoPendingIDSpecificOperation", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC" + }, + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC8findByIDyAA0A26PendingIDSpecificOperationCAA0a8DocumentF0VF", + "mangledName": "$s10DittoSwift0A10CollectionC8findByIDyAA0A26PendingIDSpecificOperationCAA0a8DocumentF0VF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "findByID", + "printedName": "findByID(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPendingIDSpecificOperation", + "printedName": "DittoSwift.DittoPendingIDSpecificOperation", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC" + }, + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC8findByIDyAA0A26PendingIDSpecificOperationCypF", + "mangledName": "$s10DittoSwift0A10CollectionC8findByIDyAA0A26PendingIDSpecificOperationCypF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "find", + "printedName": "find(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPendingCursorOperation", + "printedName": "DittoSwift.DittoPendingCursorOperation", + "usr": "s:10DittoSwift0A22PendingCursorOperationC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC4findyAA0A22PendingCursorOperationCSSF", + "mangledName": "$s10DittoSwift0A10CollectionC4findyAA0A22PendingCursorOperationCSSF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "find", + "printedName": "find(_:args:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPendingCursorOperation", + "printedName": "DittoSwift.DittoPendingCursorOperation", + "usr": "s:10DittoSwift0A22PendingCursorOperationC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC4find_4argsAA0A22PendingCursorOperationCSS_SDySSypSgGtF", + "mangledName": "$s10DittoSwift0A10CollectionC4find_4argsAA0A22PendingCursorOperationCSS_SDySSypSgGtF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "findAll", + "printedName": "findAll()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPendingCursorOperation", + "printedName": "DittoSwift.DittoPendingCursorOperation", + "usr": "s:10DittoSwift0A22PendingCursorOperationC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC7findAllAA0A22PendingCursorOperationCyF", + "mangledName": "$s10DittoSwift0A10CollectionC7findAllAA0A22PendingCursorOperationCyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "newAttachment", + "printedName": "newAttachment(path:metadata:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoAttachment?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachment", + "printedName": "DittoSwift.DittoAttachment", + "usr": "s:10DittoSwift0A10AttachmentC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC13newAttachment4path8metadataAA0aE0CSgSS_SDyS2SGtF", + "mangledName": "$s10DittoSwift0A10CollectionC13newAttachment4path8metadataAA0aE0CSgSS_SDyS2SGtF", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "fetchAttachment", + "printedName": "fetchAttachment(token:deliverOn:onFetchEvent:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoAttachmentFetcher?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetcher", + "printedName": "DittoSwift.DittoAttachmentFetcher", + "usr": "s:10DittoSwift0A17AttachmentFetcherC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentToken", + "printedName": "DittoSwift.DittoAttachmentToken", + "usr": "s:10DittoSwift0A15AttachmentTokenC" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoAttachmentFetchEvent) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC15fetchAttachment5token9deliverOn12onFetchEventAA0aE7FetcherCSgAA0aE5TokenC_So17OS_dispatch_queueCyAA0aejK0OctF", + "mangledName": "$s10DittoSwift0A10CollectionC15fetchAttachment5token9deliverOn12onFetchEventAA0aE7FetcherCSgAA0aE5TokenC_So17OS_dispatch_queueCyAA0aejK0OctF", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "FetchAttachmentPublisher", + "printedName": "FetchAttachmentPublisher", + "children": [ + { + "kind": "TypeDecl", + "name": "Progress", + "printedName": "Progress", + "children": [ + { + "kind": "Var", + "name": "percentage", + "printedName": "percentage", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10percentageSfvp", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10percentageSfvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10percentageSfvg", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10percentageSfvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10percentageSfvs", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10percentageSfvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10percentageSfvM", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10percentageSfvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "intro_Macosx": "10.15", + "intro_iOS": "13", + "intro_tvOS": "13", + "intro_watchOS": "6", + "declAttributes": [ + "Available", + "Available", + "Available", + "Available", + "Available", + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "downloadedBytes", + "printedName": "downloadedBytes", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvp", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvg", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvs", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64VvM", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64VvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "intro_Macosx": "10.15", + "intro_iOS": "13", + "intro_tvOS": "13", + "intro_watchOS": "6", + "declAttributes": [ + "Available", + "Available", + "Available", + "Available", + "Available", + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "totalBytes", + "printedName": "totalBytes", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvp", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvg", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvs", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64VvM", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64VvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "intro_Macosx": "10.15", + "intro_iOS": "13", + "intro_tvOS": "13", + "intro_watchOS": "6", + "declAttributes": [ + "Available", + "Available", + "Available", + "Available", + "Available", + "Available" + ], + "accessorKind": "_modify" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Function", + "name": "receive", + "printedName": "receive(subscriber:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0aeD5EventO5InputRtzlF", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0aeD5EventO5InputRtzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Combine.Subscriber, ฯ„_0_0.Failure == Swift.Never, ฯ„_0_0.Input == DittoSwift.DittoAttachmentFetchEvent>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "progress", + "printedName": "progress()", + "children": [ + { + "kind": "TypeNominal", + "name": "AnyPublisher", + "printedName": "Combine.AnyPublisher", + "children": [ + { + "kind": "TypeNominal", + "name": "Progress", + "printedName": "DittoSwift.DittoCollection.FetchAttachmentPublisher.Progress", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8ProgressV" + }, + { + "kind": "TypeNominal", + "name": "Never", + "printedName": "Swift.Never", + "usr": "s:s5NeverO" + } + ], + "usr": "s:7Combine12AnyPublisherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8progress7Combine03AnyF0VyAE8ProgressVs5NeverOGyF", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV8progress7Combine03AnyF0VyAE8ProgressVs5NeverOGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "completed", + "printedName": "completed()", + "children": [ + { + "kind": "TypeNominal", + "name": "AnyPublisher", + "printedName": "Combine.AnyPublisher", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachment", + "printedName": "DittoSwift.DittoAttachment", + "usr": "s:10DittoSwift0A10AttachmentC" + }, + { + "kind": "TypeNominal", + "name": "Never", + "printedName": "Swift.Never", + "usr": "s:s5NeverO" + } + ], + "usr": "s:7Combine12AnyPublisherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV9completed7Combine03AnyF0VyAA0aE0Cs5NeverOGyF", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV9completed7Combine03AnyF0VyAA0aE0Cs5NeverOGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV", + "mangledName": "$s10DittoSwift0A10CollectionC24FetchAttachmentPublisherV", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "Available", + "RawDocComment" + ], + "isFromExtension": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Publisher", + "printedName": "Publisher", + "children": [ + { + "kind": "TypeWitness", + "name": "Output", + "printedName": "Output", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Failure", + "printedName": "Failure", + "children": [ + { + "kind": "TypeNominal", + "name": "Never", + "printedName": "Swift.Never", + "usr": "s:s5NeverO" + } + ] + } + ], + "usr": "s:7Combine9PublisherP", + "mangledName": "$s7Combine9PublisherP" + } + ] + }, + { + "kind": "Function", + "name": "fetchAttachmentPublisher", + "printedName": "fetchAttachmentPublisher(attachmentToken:)", + "children": [ + { + "kind": "TypeNominal", + "name": "FetchAttachmentPublisher", + "printedName": "DittoSwift.DittoCollection.FetchAttachmentPublisher", + "usr": "s:10DittoSwift0A10CollectionC24FetchAttachmentPublisherV" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentToken", + "printedName": "DittoSwift.DittoAttachmentToken", + "usr": "s:10DittoSwift0A15AttachmentTokenC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10CollectionC24fetchAttachmentPublisher15attachmentTokenAC05FetcheF0VAA0aeH0C_tF", + "mangledName": "$s10DittoSwift0A10CollectionC24fetchAttachmentPublisher15attachmentTokenAC05FetcheF0VAA0aeH0C_tF", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "Available", + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A10CollectionC", + "mangledName": "$s10DittoSwift0A10CollectionC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoPresence", + "printedName": "DittoPresence", + "children": [ + { + "kind": "Var", + "name": "peerMetadata", + "printedName": "peerMetadata", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8PresenceC12peerMetadataSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A8PresenceC12peerMetadataSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8PresenceC12peerMetadataSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A8PresenceC12peerMetadataSDySSypSgGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "setPeerMetadata", + "printedName": "setPeerMetadata(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8PresenceC15setPeerMetadatayySDySSypSgGKF", + "mangledName": "$s10DittoSwift0A8PresenceC15setPeerMetadatayySDySSypSgGKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "peerMetadataJSONData", + "printedName": "peerMetadataJSONData", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8PresenceC20peerMetadataJSONData10Foundation4DataVvp", + "mangledName": "$s10DittoSwift0A8PresenceC20peerMetadataJSONData10Foundation4DataVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8PresenceC20peerMetadataJSONData10Foundation4DataVvg", + "mangledName": "$s10DittoSwift0A8PresenceC20peerMetadataJSONData10Foundation4DataVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "setPeerMetadataJSONData", + "printedName": "setPeerMetadataJSONData(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8PresenceC23setPeerMetadataJSONDatayy10Foundation4DataVKF", + "mangledName": "$s10DittoSwift0A8PresenceC23setPeerMetadataJSONDatayy10Foundation4DataVKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "graph", + "printedName": "graph", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPresenceGraph", + "printedName": "DittoSwift.DittoPresenceGraph", + "usr": "s:10DittoSwift0A13PresenceGraphV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8PresenceC5graphAA0aC5GraphVvp", + "mangledName": "$s10DittoSwift0A8PresenceC5graphAA0aC5GraphVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPresenceGraph", + "printedName": "DittoSwift.DittoPresenceGraph", + "usr": "s:10DittoSwift0A13PresenceGraphV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8PresenceC5graphAA0aC5GraphVvg", + "mangledName": "$s10DittoSwift0A8PresenceC5graphAA0aC5GraphVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "observe", + "printedName": "observe(didChangeHandler:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoObserver", + "printedName": "DittoSwift.DittoObserver", + "usr": "s:10DittoSwift0A8ObserverC" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoPresenceGraph) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoPresenceGraph", + "printedName": "DittoSwift.DittoPresenceGraph", + "usr": "s:10DittoSwift0A13PresenceGraphV" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8PresenceC7observe16didChangeHandlerAA0A8ObserverCyAA0aC5GraphVc_tF", + "mangledName": "$s10DittoSwift0A8PresenceC7observe16didChangeHandlerAA0A8ObserverCyAA0aC5GraphVc_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "connectionRequestHandler", + "printedName": "connectionRequestHandler", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((DittoSwift.DittoConnectionRequest) async -> DittoSwift.DittoConnectionRequestAuthorization)?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionRequest) async -> DittoSwift.DittoConnectionRequestAuthorization", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionRequestAuthorization", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO" + }, + { + "kind": "TypeNominal", + "name": "DittoConnectionRequest", + "printedName": "DittoSwift.DittoConnectionRequest", + "usr": "s:10DittoSwift0A17ConnectionRequestC" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8PresenceC24connectionRequestHandlerAA0a10ConnectionE13AuthorizationOAA0agE0CYacSgvp", + "mangledName": "$s10DittoSwift0A8PresenceC24connectionRequestHandlerAA0a10ConnectionE13AuthorizationOAA0agE0CYacSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((DittoSwift.DittoConnectionRequest) async -> DittoSwift.DittoConnectionRequestAuthorization)?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionRequest) async -> DittoSwift.DittoConnectionRequestAuthorization", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionRequestAuthorization", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO" + }, + { + "kind": "TypeNominal", + "name": "DittoConnectionRequest", + "printedName": "DittoSwift.DittoConnectionRequest", + "usr": "s:10DittoSwift0A17ConnectionRequestC" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8PresenceC24connectionRequestHandlerAA0a10ConnectionE13AuthorizationOAA0agE0CYacSgvg", + "mangledName": "$s10DittoSwift0A8PresenceC24connectionRequestHandlerAA0a10ConnectionE13AuthorizationOAA0agE0CYacSgvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((DittoSwift.DittoConnectionRequest) async -> DittoSwift.DittoConnectionRequestAuthorization)?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionRequest) async -> DittoSwift.DittoConnectionRequestAuthorization", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionRequestAuthorization", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO" + }, + { + "kind": "TypeNominal", + "name": "DittoConnectionRequest", + "printedName": "DittoSwift.DittoConnectionRequest", + "usr": "s:10DittoSwift0A17ConnectionRequestC" + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8PresenceC24connectionRequestHandlerAA0a10ConnectionE13AuthorizationOAA0agE0CYacSgvs", + "mangledName": "$s10DittoSwift0A8PresenceC24connectionRequestHandlerAA0a10ConnectionE13AuthorizationOAA0agE0CYacSgvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8PresenceC24connectionRequestHandlerAA0a10ConnectionE13AuthorizationOAA0agE0CYacSgvM", + "mangledName": "$s10DittoSwift0A8PresenceC24connectionRequestHandlerAA0a10ConnectionE13AuthorizationOAA0agE0CYacSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "TypeDecl", + "name": "GraphPublisher", + "printedName": "GraphPublisher", + "children": [ + { + "kind": "Function", + "name": "receive", + "printedName": "receive(subscriber:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8PresenceC14GraphPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0acD0V5InputRtzlF", + "mangledName": "$s10DittoSwift0A8PresenceC14GraphPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0acD0V5InputRtzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Combine.Subscriber, ฯ„_0_0.Failure == Swift.Never, ฯ„_0_0.Input == DittoSwift.DittoPresenceGraph>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A8PresenceC14GraphPublisherV", + "mangledName": "$s10DittoSwift0A8PresenceC14GraphPublisherV", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Publisher", + "printedName": "Publisher", + "children": [ + { + "kind": "TypeWitness", + "name": "Output", + "printedName": "Output", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPresenceGraph", + "printedName": "DittoSwift.DittoPresenceGraph", + "usr": "s:10DittoSwift0A13PresenceGraphV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Failure", + "printedName": "Failure", + "children": [ + { + "kind": "TypeNominal", + "name": "Never", + "printedName": "Swift.Never", + "usr": "s:s5NeverO" + } + ] + } + ], + "usr": "s:7Combine9PublisherP", + "mangledName": "$s7Combine9PublisherP" + } + ] + }, + { + "kind": "Function", + "name": "graphPublisher", + "printedName": "graphPublisher()", + "children": [ + { + "kind": "TypeNominal", + "name": "GraphPublisher", + "printedName": "DittoSwift.DittoPresence.GraphPublisher", + "usr": "s:10DittoSwift0A8PresenceC14GraphPublisherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8PresenceC14graphPublisherAC05GraphE0VyF", + "mangledName": "$s10DittoSwift0A8PresenceC14graphPublisherAC05GraphE0VyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A8PresenceC", + "mangledName": "$s10DittoSwift0A8PresenceC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoRegister", + "printedName": "DittoRegister", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(value:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoRegister", + "printedName": "DittoSwift.DittoRegister", + "usr": "s:10DittoSwift0A8RegisterC" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A8RegisterC5valueACypSg_tcfc", + "mangledName": "$s10DittoSwift0A8RegisterC5valueACypSg_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC5valueypSgvp", + "mangledName": "$s10DittoSwift0A8RegisterC5valueypSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC5valueypSgvg", + "mangledName": "$s10DittoSwift0A8RegisterC5valueypSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "string", + "printedName": "string", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC6stringSSSgvp", + "mangledName": "$s10DittoSwift0A8RegisterC6stringSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC6stringSSSgvg", + "mangledName": "$s10DittoSwift0A8RegisterC6stringSSSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "stringValue", + "printedName": "stringValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC11stringValueSSvp", + "mangledName": "$s10DittoSwift0A8RegisterC11stringValueSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC11stringValueSSvg", + "mangledName": "$s10DittoSwift0A8RegisterC11stringValueSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "bool", + "printedName": "bool", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC4boolSbSgvp", + "mangledName": "$s10DittoSwift0A8RegisterC4boolSbSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC4boolSbSgvg", + "mangledName": "$s10DittoSwift0A8RegisterC4boolSbSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "boolValue", + "printedName": "boolValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC9boolValueSbvp", + "mangledName": "$s10DittoSwift0A8RegisterC9boolValueSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC9boolValueSbvg", + "mangledName": "$s10DittoSwift0A8RegisterC9boolValueSbvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "int", + "printedName": "int", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC3intSiSgvp", + "mangledName": "$s10DittoSwift0A8RegisterC3intSiSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC3intSiSgvg", + "mangledName": "$s10DittoSwift0A8RegisterC3intSiSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "intValue", + "printedName": "intValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC8intValueSivp", + "mangledName": "$s10DittoSwift0A8RegisterC8intValueSivp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC8intValueSivg", + "mangledName": "$s10DittoSwift0A8RegisterC8intValueSivg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uint", + "printedName": "uint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC4uintSuSgvp", + "mangledName": "$s10DittoSwift0A8RegisterC4uintSuSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC4uintSuSgvg", + "mangledName": "$s10DittoSwift0A8RegisterC4uintSuSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uintValue", + "printedName": "uintValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC9uintValueSuvp", + "mangledName": "$s10DittoSwift0A8RegisterC9uintValueSuvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC9uintValueSuvg", + "mangledName": "$s10DittoSwift0A8RegisterC9uintValueSuvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "float", + "printedName": "float", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC5floatSfSgvp", + "mangledName": "$s10DittoSwift0A8RegisterC5floatSfSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC5floatSfSgvg", + "mangledName": "$s10DittoSwift0A8RegisterC5floatSfSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "floatValue", + "printedName": "floatValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC10floatValueSfvp", + "mangledName": "$s10DittoSwift0A8RegisterC10floatValueSfvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC10floatValueSfvg", + "mangledName": "$s10DittoSwift0A8RegisterC10floatValueSfvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "double", + "printedName": "double", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC6doubleSdSgvp", + "mangledName": "$s10DittoSwift0A8RegisterC6doubleSdSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC6doubleSdSgvg", + "mangledName": "$s10DittoSwift0A8RegisterC6doubleSdSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "doubleValue", + "printedName": "doubleValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC11doubleValueSdvp", + "mangledName": "$s10DittoSwift0A8RegisterC11doubleValueSdvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC11doubleValueSdvg", + "mangledName": "$s10DittoSwift0A8RegisterC11doubleValueSdvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "array", + "printedName": "array", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC5arraySayypSgGSgvp", + "mangledName": "$s10DittoSwift0A8RegisterC5arraySayypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC5arraySayypSgGSgvg", + "mangledName": "$s10DittoSwift0A8RegisterC5arraySayypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "arrayValue", + "printedName": "arrayValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC10arrayValueSayypSgGvp", + "mangledName": "$s10DittoSwift0A8RegisterC10arrayValueSayypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC10arrayValueSayypSgGvg", + "mangledName": "$s10DittoSwift0A8RegisterC10arrayValueSayypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionary", + "printedName": "dictionary", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC10dictionarySDySSypSgGSgvp", + "mangledName": "$s10DittoSwift0A8RegisterC10dictionarySDySSypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC10dictionarySDySSypSgGSgvg", + "mangledName": "$s10DittoSwift0A8RegisterC10dictionarySDySSypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionaryValue", + "printedName": "dictionaryValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8RegisterC15dictionaryValueSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A8RegisterC15dictionaryValueSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8RegisterC15dictionaryValueSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A8RegisterC15dictionaryValueSDySSypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A8RegisterC", + "mangledName": "$s10DittoSwift0A8RegisterC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoConnectionType", + "printedName": "DittoConnectionType", + "children": [ + { + "kind": "Var", + "name": "bluetooth", + "printedName": "bluetooth", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionType.Type) -> DittoSwift.DittoConnectionType", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConnectionType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A14ConnectionTypeO9bluetoothyA2CmF", + "mangledName": "$s10DittoSwift0A14ConnectionTypeO9bluetoothyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "accessPoint", + "printedName": "accessPoint", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionType.Type) -> DittoSwift.DittoConnectionType", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConnectionType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A14ConnectionTypeO11accessPointyA2CmF", + "mangledName": "$s10DittoSwift0A14ConnectionTypeO11accessPointyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "p2pWiFi", + "printedName": "p2pWiFi", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionType.Type) -> DittoSwift.DittoConnectionType", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConnectionType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A14ConnectionTypeO7p2pWiFiyA2CmF", + "mangledName": "$s10DittoSwift0A14ConnectionTypeO7p2pWiFiyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "webSocket", + "printedName": "webSocket", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionType.Type) -> DittoSwift.DittoConnectionType", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConnectionType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A14ConnectionTypeO9webSocketyA2CmF", + "mangledName": "$s10DittoSwift0A14ConnectionTypeO9webSocketyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoConnectionType?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A14ConnectionTypeO8rawValueACSgSS_tcfc", + "mangledName": "$s10DittoSwift0A14ConnectionTypeO8rawValueACSgSS_tcfc", + "moduleName": "DittoSwift", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14ConnectionTypeO8rawValueSSvp", + "mangledName": "$s10DittoSwift0A14ConnectionTypeO8rawValueSSvp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14ConnectionTypeO8rawValueSSvg", + "mangledName": "$s10DittoSwift0A14ConnectionTypeO8rawValueSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "allCases", + "printedName": "allCases", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoConnectionType]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14ConnectionTypeO8allCasesSayACGvpZ", + "mangledName": "$s10DittoSwift0A14ConnectionTypeO8allCasesSayACGvpZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "declAttributes": [ + "Nonisolated" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoConnectionType]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14ConnectionTypeO8allCasesSayACGvgZ", + "mangledName": "$s10DittoSwift0A14ConnectionTypeO8allCasesSayACGvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A14ConnectionTypeO", + "mangledName": "$s10DittoSwift0A14ConnectionTypeO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "enumRawTypeName": "String", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "CaseIterable", + "printedName": "CaseIterable", + "children": [ + { + "kind": "TypeWitness", + "name": "AllCases", + "printedName": "AllCases", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoConnectionType]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ], + "usr": "s:Sa" + } + ] + } + ], + "usr": "s:s12CaseIterableP", + "mangledName": "$ss12CaseIterableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoObserver", + "printedName": "DittoObserver", + "children": [ + { + "kind": "Function", + "name": "stop", + "printedName": "stop()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8ObserverC4stopyyF", + "mangledName": "$s10DittoSwift0A8ObserverC4stopyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A8ObserverC", + "mangledName": "$s10DittoSwift0A8ObserverC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoWriteTransactionResult", + "printedName": "DittoWriteTransactionResult", + "children": [ + { + "kind": "Var", + "name": "inserted", + "printedName": "inserted", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoWriteTransactionResult.Type) -> (DittoSwift.DittoDocumentID, Swift.String) -> DittoSwift.DittoWriteTransactionResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoDocumentID, Swift.String) -> DittoSwift.DittoWriteTransactionResult", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionResult", + "printedName": "DittoSwift.DittoWriteTransactionResult", + "usr": "s:10DittoSwift0A22WriteTransactionResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(id: DittoSwift.DittoDocumentID, collection: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoWriteTransactionResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionResult", + "printedName": "DittoSwift.DittoWriteTransactionResult", + "usr": "s:10DittoSwift0A22WriteTransactionResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A22WriteTransactionResultO8insertedyAcA0A10DocumentIDV_SStcACmF", + "mangledName": "$s10DittoSwift0A22WriteTransactionResultO8insertedyAcA0A10DocumentIDV_SStcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "updated", + "printedName": "updated", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoWriteTransactionResult.Type) -> (DittoSwift.DittoDocumentID, Swift.String) -> DittoSwift.DittoWriteTransactionResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoDocumentID, Swift.String) -> DittoSwift.DittoWriteTransactionResult", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionResult", + "printedName": "DittoSwift.DittoWriteTransactionResult", + "usr": "s:10DittoSwift0A22WriteTransactionResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(id: DittoSwift.DittoDocumentID, collection: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoWriteTransactionResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionResult", + "printedName": "DittoSwift.DittoWriteTransactionResult", + "usr": "s:10DittoSwift0A22WriteTransactionResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A22WriteTransactionResultO7updatedyAcA0A10DocumentIDV_SStcACmF", + "mangledName": "$s10DittoSwift0A22WriteTransactionResultO7updatedyAcA0A10DocumentIDV_SStcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "evicted", + "printedName": "evicted", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoWriteTransactionResult.Type) -> (DittoSwift.DittoDocumentID, Swift.String) -> DittoSwift.DittoWriteTransactionResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoDocumentID, Swift.String) -> DittoSwift.DittoWriteTransactionResult", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionResult", + "printedName": "DittoSwift.DittoWriteTransactionResult", + "usr": "s:10DittoSwift0A22WriteTransactionResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(id: DittoSwift.DittoDocumentID, collection: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoWriteTransactionResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionResult", + "printedName": "DittoSwift.DittoWriteTransactionResult", + "usr": "s:10DittoSwift0A22WriteTransactionResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A22WriteTransactionResultO7evictedyAcA0A10DocumentIDV_SStcACmF", + "mangledName": "$s10DittoSwift0A22WriteTransactionResultO7evictedyAcA0A10DocumentIDV_SStcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "removed", + "printedName": "removed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoWriteTransactionResult.Type) -> (DittoSwift.DittoDocumentID, Swift.String) -> DittoSwift.DittoWriteTransactionResult", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoDocumentID, Swift.String) -> DittoSwift.DittoWriteTransactionResult", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionResult", + "printedName": "DittoSwift.DittoWriteTransactionResult", + "usr": "s:10DittoSwift0A22WriteTransactionResultO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(id: DittoSwift.DittoDocumentID, collection: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoWriteTransactionResult.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionResult", + "printedName": "DittoSwift.DittoWriteTransactionResult", + "usr": "s:10DittoSwift0A22WriteTransactionResultO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A22WriteTransactionResultO7removedyAcA0A10DocumentIDV_SStcACmF", + "mangledName": "$s10DittoSwift0A22WriteTransactionResultO7removedyAcA0A10DocumentIDV_SStcACmF", + "moduleName": "DittoSwift" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A22WriteTransactionResultO", + "mangledName": "$s10DittoSwift0A22WriteTransactionResultO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoMutableCounter", + "printedName": "DittoMutableCounter", + "children": [ + { + "kind": "Function", + "name": "increment", + "printedName": "increment(by:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A14MutableCounterC9increment2byySd_tF", + "mangledName": "$s10DittoSwift0A14MutableCounterC9increment2byySd_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A14MutableCounterC", + "mangledName": "$s10DittoSwift0A14MutableCounterC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "superclassUsr": "s:10DittoSwift0A7CounterC", + "hasMissingDesignatedInitializers": true, + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "DittoSwift.DittoCounter" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "DittoDiffer", + "printedName": "DittoDiffer", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDiffer", + "printedName": "DittoSwift.DittoDiffer", + "usr": "s:10DittoSwift0A6DifferC" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A6DifferCACycfc", + "mangledName": "$s10DittoSwift0A6DifferCACycfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "diff", + "printedName": "diff(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDiff", + "printedName": "DittoSwift.DittoDiff", + "usr": "s:10DittoSwift0A4DiffV" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoQueryResultItem]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoQueryResultItem", + "printedName": "DittoSwift.DittoQueryResultItem", + "usr": "s:10DittoSwift0A15QueryResultItemC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A6DifferC4diffyAA0A4DiffVSayAA0A15QueryResultItemCGF", + "mangledName": "$s10DittoSwift0A6DifferC4diffyAA0A4DiffVSayAA0A15QueryResultItemCGF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A6DifferC", + "mangledName": "$s10DittoSwift0A6DifferC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "CBOR", + "printedName": "CBOR", + "children": [ + { + "kind": "Var", + "name": "unsignedInt", + "printedName": "unsignedInt", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> (Swift.UInt64) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.UInt64) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO11unsignedIntyACs6UInt64VcACmF", + "mangledName": "$s10DittoSwift4CBORO11unsignedIntyACs6UInt64VcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "negativeInt", + "printedName": "negativeInt", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> (Swift.UInt64) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.UInt64) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO11negativeIntyACs6UInt64VcACmF", + "mangledName": "$s10DittoSwift4CBORO11negativeIntyACs6UInt64VcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "byteString", + "printedName": "byteString", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> ([Swift.UInt8]) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "([Swift.UInt8]) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO10byteStringyACSays5UInt8VGcACmF", + "mangledName": "$s10DittoSwift4CBORO10byteStringyACSays5UInt8VGcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "utf8String", + "printedName": "utf8String", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> (Swift.String) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO10utf8StringyACSScACmF", + "mangledName": "$s10DittoSwift4CBORO10utf8StringyACSScACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "array", + "printedName": "array", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> ([DittoSwift.CBOR]) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "([DittoSwift.CBOR]) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.CBOR]", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "usr": "s:Sa" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO5arrayyACSayACGcACmF", + "mangledName": "$s10DittoSwift4CBORO5arrayyACSayACGcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "map", + "printedName": "map", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> ([DittoSwift.CBOR : DittoSwift.CBOR]) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "([DittoSwift.CBOR : DittoSwift.CBOR]) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DittoSwift.CBOR : DittoSwift.CBOR]", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "usr": "s:SD" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO3mapyACSDyA2CGcACmF", + "mangledName": "$s10DittoSwift4CBORO3mapyACSDyA2CGcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "tagged", + "printedName": "tagged", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> (DittoSwift.CBOR.Tag, DittoSwift.CBOR) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Tag, DittoSwift.CBOR) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DittoSwift.CBOR.Tag, DittoSwift.CBOR)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + }, + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO6taggedyA2C3TagV_ACtcACmF", + "mangledName": "$s10DittoSwift4CBORO6taggedyA2C3TagV_ACtcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "simple", + "printedName": "simple", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> (Swift.UInt8) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.UInt8) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO6simpleyACs5UInt8VcACmF", + "mangledName": "$s10DittoSwift4CBORO6simpleyACs5UInt8VcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "boolean", + "printedName": "boolean", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> (Swift.Bool) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Bool) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO7booleanyACSbcACmF", + "mangledName": "$s10DittoSwift4CBORO7booleanyACSbcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "null", + "printedName": "null", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO4nullyA2CmF", + "mangledName": "$s10DittoSwift4CBORO4nullyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "undefined", + "printedName": "undefined", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO9undefinedyA2CmF", + "mangledName": "$s10DittoSwift4CBORO9undefinedyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "half", + "printedName": "half", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> (Swift.Float) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Float) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO4halfyACSfcACmF", + "mangledName": "$s10DittoSwift4CBORO4halfyACSfcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "float", + "printedName": "float", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> (Swift.Float) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Float) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO5floatyACSfcACmF", + "mangledName": "$s10DittoSwift4CBORO5floatyACSfcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "double", + "printedName": "double", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> (Swift.Double) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Double) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO6doubleyACSdcACmF", + "mangledName": "$s10DittoSwift4CBORO6doubleyACSdcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "break", + "printedName": "break", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO5breakyA2CmF", + "mangledName": "$s10DittoSwift4CBORO5breakyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "date", + "printedName": "date", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR.Type) -> (Foundation.Date) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Foundation.Date) -> DittoSwift.CBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Date", + "printedName": "Foundation.Date", + "usr": "s:10Foundation4DateV" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.CBOR.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift4CBORO4dateyAC10Foundation4DateVcACmF", + "mangledName": "$s10DittoSwift4CBORO4dateyAC10Foundation4DateVcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift4CBORO4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift4CBORO4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.CBOR?", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift4CBOROyACSgACcip", + "mangledName": "$s10DittoSwift4CBOROyACSgACcip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.CBOR?", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBOROyACSgACcig", + "mangledName": "$s10DittoSwift4CBOROyACSgACcig", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.CBOR?", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBOROyACSgACcis", + "mangledName": "$s10DittoSwift4CBOROyACSgACcis", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBOROyACSgACciM", + "mangledName": "$s10DittoSwift4CBOROyACSgACciM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(nilLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift4CBORO10nilLiteralACyt_tcfc", + "mangledName": "$s10DittoSwift4CBORO10nilLiteralACyt_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(integerLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift4CBORO14integerLiteralACSi_tcfc", + "mangledName": "$s10DittoSwift4CBORO14integerLiteralACSi_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(extendedGraphemeClusterLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift4CBORO30extendedGraphemeClusterLiteralACSS_tcfc", + "mangledName": "$s10DittoSwift4CBORO30extendedGraphemeClusterLiteralACSS_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(unicodeScalarLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift4CBORO20unicodeScalarLiteralACSS_tcfc", + "mangledName": "$s10DittoSwift4CBORO20unicodeScalarLiteralACSS_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(stringLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift4CBORO13stringLiteralACSS_tcfc", + "mangledName": "$s10DittoSwift4CBORO13stringLiteralACSS_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(arrayLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.CBOR]", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift4CBORO12arrayLiteralA2Cd_tcfc", + "mangledName": "$s10DittoSwift4CBORO12arrayLiteralA2Cd_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(dictionaryLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[(DittoSwift.CBOR, DittoSwift.CBOR)]", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DittoSwift.CBOR, DittoSwift.CBOR)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift4CBORO17dictionaryLiteralA2C_ACtd_tcfc", + "mangledName": "$s10DittoSwift4CBORO17dictionaryLiteralA2C_ACtd_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(booleanLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift4CBORO14booleanLiteralACSb_tcfc", + "mangledName": "$s10DittoSwift4CBORO14booleanLiteralACSb_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(floatLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift4CBORO12floatLiteralACSf_tcfc", + "mangledName": "$s10DittoSwift4CBORO12floatLiteralACSf_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + }, + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift4CBORO2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift4CBORO2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "Tag", + "printedName": "Tag", + "children": [ + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV8rawValues6UInt64Vvp", + "mangledName": "$s10DittoSwift4CBORO3TagV8rawValues6UInt64Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV8rawValues6UInt64Vvg", + "mangledName": "$s10DittoSwift4CBORO3TagV8rawValues6UInt64Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift4CBORO3TagV8rawValueAEs6UInt64V_tcfc", + "mangledName": "$s10DittoSwift4CBORO3TagV8rawValueAEs6UInt64V_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV9hashValueSivp", + "mangledName": "$s10DittoSwift4CBORO3TagV9hashValueSivp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV9hashValueSivg", + "mangledName": "$s10DittoSwift4CBORO3TagV9hashValueSivg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "standardDateTimeString", + "printedName": "standardDateTimeString", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV22standardDateTimeStringAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV22standardDateTimeStringAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV22standardDateTimeStringAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV22standardDateTimeStringAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "epochBasedDateTime", + "printedName": "epochBasedDateTime", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV18epochBasedDateTimeAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV18epochBasedDateTimeAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV18epochBasedDateTimeAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV18epochBasedDateTimeAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "positiveBignum", + "printedName": "positiveBignum", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV14positiveBignumAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV14positiveBignumAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV14positiveBignumAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV14positiveBignumAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "negativeBignum", + "printedName": "negativeBignum", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV14negativeBignumAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV14negativeBignumAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV14negativeBignumAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV14negativeBignumAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "decimalFraction", + "printedName": "decimalFraction", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV15decimalFractionAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV15decimalFractionAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV15decimalFractionAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV15decimalFractionAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "bigfloat", + "printedName": "bigfloat", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV8bigfloatAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV8bigfloatAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV8bigfloatAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV8bigfloatAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "expectedConversionToBase64URLEncoding", + "printedName": "expectedConversionToBase64URLEncoding", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV37expectedConversionToBase64URLEncodingAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV37expectedConversionToBase64URLEncodingAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV37expectedConversionToBase64URLEncodingAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV37expectedConversionToBase64URLEncodingAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "expectedConversionToBase64Encoding", + "printedName": "expectedConversionToBase64Encoding", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV34expectedConversionToBase64EncodingAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV34expectedConversionToBase64EncodingAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV34expectedConversionToBase64EncodingAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV34expectedConversionToBase64EncodingAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "expectedConversionToBase16Encoding", + "printedName": "expectedConversionToBase16Encoding", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV34expectedConversionToBase16EncodingAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV34expectedConversionToBase16EncodingAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV34expectedConversionToBase16EncodingAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV34expectedConversionToBase16EncodingAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "encodedCBORDataItem", + "printedName": "encodedCBORDataItem", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV19encodedCBORDataItemAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV19encodedCBORDataItemAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV19encodedCBORDataItemAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV19encodedCBORDataItemAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uri", + "printedName": "uri", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV3uriAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV3uriAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV3uriAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV3uriAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "base64Url", + "printedName": "base64Url", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV9base64UrlAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV9base64UrlAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV9base64UrlAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV9base64UrlAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "base64", + "printedName": "base64", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV6base64AEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV6base64AEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV6base64AEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV6base64AEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "regularExpression", + "printedName": "regularExpression", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV17regularExpressionAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV17regularExpressionAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV17regularExpressionAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV17regularExpressionAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "mimeMessage", + "printedName": "mimeMessage", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV11mimeMessageAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV11mimeMessageAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV11mimeMessageAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV11mimeMessageAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uuid", + "printedName": "uuid", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV4uuidAEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV4uuidAEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV4uuidAEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV4uuidAEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "selfDescribeCBOR", + "printedName": "selfDescribeCBOR", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO3TagV012selfDescribeC0AEvpZ", + "mangledName": "$s10DittoSwift4CBORO3TagV012selfDescribeC0AEvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Tag", + "printedName": "DittoSwift.CBOR.Tag", + "usr": "s:10DittoSwift4CBORO3TagV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO3TagV012selfDescribeC0AEvgZ", + "mangledName": "$s10DittoSwift4CBORO3TagV012selfDescribeC0AEvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift4CBORO3TagV", + "mangledName": "$s10DittoSwift4CBORO3TagV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift4CBORO9hashValueSivp", + "mangledName": "$s10DittoSwift4CBORO9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift4CBORO9hashValueSivg", + "mangledName": "$s10DittoSwift4CBORO9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift4CBORO", + "mangledName": "$s10DittoSwift4CBORO", + "moduleName": "DittoSwift", + "declAttributes": [ + "Indirect", + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "ExpressibleByNilLiteral", + "printedName": "ExpressibleByNilLiteral", + "usr": "s:s23ExpressibleByNilLiteralP", + "mangledName": "$ss23ExpressibleByNilLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByStringLiteral", + "printedName": "ExpressibleByStringLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "StringLiteralType", + "printedName": "StringLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s26ExpressibleByStringLiteralP", + "mangledName": "$ss26ExpressibleByStringLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByArrayLiteral", + "printedName": "ExpressibleByArrayLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "ArrayLiteralElement", + "printedName": "ArrayLiteralElement", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ], + "usr": "s:s25ExpressibleByArrayLiteralP", + "mangledName": "$ss25ExpressibleByArrayLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByDictionaryLiteral", + "printedName": "ExpressibleByDictionaryLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "Key", + "printedName": "Key", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Value", + "printedName": "Value", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ], + "usr": "s:s30ExpressibleByDictionaryLiteralP", + "mangledName": "$ss30ExpressibleByDictionaryLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByBooleanLiteral", + "printedName": "ExpressibleByBooleanLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "BooleanLiteralType", + "printedName": "BooleanLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + } + ], + "usr": "s:s27ExpressibleByBooleanLiteralP", + "mangledName": "$ss27ExpressibleByBooleanLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByFloatLiteral", + "printedName": "ExpressibleByFloatLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "FloatLiteralType", + "printedName": "FloatLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ] + } + ], + "usr": "s:s25ExpressibleByFloatLiteralP", + "mangledName": "$ss25ExpressibleByFloatLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByExtendedGraphemeClusterLiteral", + "printedName": "ExpressibleByExtendedGraphemeClusterLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "ExtendedGraphemeClusterLiteralType", + "printedName": "ExtendedGraphemeClusterLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s43ExpressibleByExtendedGraphemeClusterLiteralP", + "mangledName": "$ss43ExpressibleByExtendedGraphemeClusterLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByUnicodeScalarLiteral", + "printedName": "ExpressibleByUnicodeScalarLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "UnicodeScalarLiteralType", + "printedName": "UnicodeScalarLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s33ExpressibleByUnicodeScalarLiteralP", + "mangledName": "$ss33ExpressibleByUnicodeScalarLiteralP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoBluetoothLEConfig", + "printedName": "DittoBluetoothLEConfig", + "children": [ + { + "kind": "Var", + "name": "isEnabled", + "printedName": "isEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV9isEnabledSbvp", + "mangledName": "$s10DittoSwift0A17BluetoothLEConfigV9isEnabledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV9isEnabledSbvg", + "mangledName": "$s10DittoSwift0A17BluetoothLEConfigV9isEnabledSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV9isEnabledSbvs", + "mangledName": "$s10DittoSwift0A17BluetoothLEConfigV9isEnabledSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV9isEnabledSbvM", + "mangledName": "$s10DittoSwift0A17BluetoothLEConfigV9isEnabledSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoBluetoothLEConfig", + "printedName": "DittoSwift.DittoBluetoothLEConfig", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A17BluetoothLEConfigV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A17BluetoothLEConfigV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoBluetoothLEConfig", + "printedName": "DittoSwift.DittoBluetoothLEConfig", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV" + }, + { + "kind": "TypeNominal", + "name": "DittoBluetoothLEConfig", + "printedName": "DittoSwift.DittoBluetoothLEConfig", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A17BluetoothLEConfigV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV", + "mangledName": "$s10DittoSwift0A17BluetoothLEConfigV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoLANConfig", + "printedName": "DittoLANConfig", + "children": [ + { + "kind": "Var", + "name": "isEnabled", + "printedName": "isEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A9LANConfigV9isEnabledSbvp", + "mangledName": "$s10DittoSwift0A9LANConfigV9isEnabledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV9isEnabledSbvg", + "mangledName": "$s10DittoSwift0A9LANConfigV9isEnabledSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV9isEnabledSbvs", + "mangledName": "$s10DittoSwift0A9LANConfigV9isEnabledSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV9isEnabledSbvM", + "mangledName": "$s10DittoSwift0A9LANConfigV9isEnabledSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "isMDNSEnabled", + "printedName": "isMDNSEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A9LANConfigV13isMDNSEnabledSbvp", + "mangledName": "$s10DittoSwift0A9LANConfigV13isMDNSEnabledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV13isMDNSEnabledSbvg", + "mangledName": "$s10DittoSwift0A9LANConfigV13isMDNSEnabledSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV13isMDNSEnabledSbvs", + "mangledName": "$s10DittoSwift0A9LANConfigV13isMDNSEnabledSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV13isMDNSEnabledSbvM", + "mangledName": "$s10DittoSwift0A9LANConfigV13isMDNSEnabledSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "isMulticastEnabled", + "printedName": "isMulticastEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A9LANConfigV18isMulticastEnabledSbvp", + "mangledName": "$s10DittoSwift0A9LANConfigV18isMulticastEnabledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV18isMulticastEnabledSbvg", + "mangledName": "$s10DittoSwift0A9LANConfigV18isMulticastEnabledSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV18isMulticastEnabledSbvs", + "mangledName": "$s10DittoSwift0A9LANConfigV18isMulticastEnabledSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV18isMulticastEnabledSbvM", + "mangledName": "$s10DittoSwift0A9LANConfigV18isMulticastEnabledSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "ismDNSEnabled", + "printedName": "ismDNSEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A9LANConfigV13ismDNSEnabledSbvp", + "mangledName": "$s10DittoSwift0A9LANConfigV13ismDNSEnabledSbvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV13ismDNSEnabledSbvg", + "mangledName": "$s10DittoSwift0A9LANConfigV13ismDNSEnabledSbvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV13ismDNSEnabledSbvs", + "mangledName": "$s10DittoSwift0A9LANConfigV13ismDNSEnabledSbvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LANConfigV13ismDNSEnabledSbvM", + "mangledName": "$s10DittoSwift0A9LANConfigV13ismDNSEnabledSbvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLANConfig", + "printedName": "DittoSwift.DittoLANConfig", + "usr": "s:10DittoSwift0A9LANConfigV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A9LANConfigV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A9LANConfigV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A9LANConfigV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A9LANConfigV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoLANConfig", + "printedName": "DittoSwift.DittoLANConfig", + "usr": "s:10DittoSwift0A9LANConfigV" + }, + { + "kind": "TypeNominal", + "name": "DittoLANConfig", + "printedName": "DittoSwift.DittoLANConfig", + "usr": "s:10DittoSwift0A9LANConfigV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A9LANConfigV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A9LANConfigV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A9LANConfigV", + "mangledName": "$s10DittoSwift0A9LANConfigV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoAWDLConfig", + "printedName": "DittoAWDLConfig", + "children": [ + { + "kind": "Var", + "name": "isEnabled", + "printedName": "isEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10AWDLConfigV9isEnabledSbvp", + "mangledName": "$s10DittoSwift0A10AWDLConfigV9isEnabledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10AWDLConfigV9isEnabledSbvg", + "mangledName": "$s10DittoSwift0A10AWDLConfigV9isEnabledSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10AWDLConfigV9isEnabledSbvs", + "mangledName": "$s10DittoSwift0A10AWDLConfigV9isEnabledSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10AWDLConfigV9isEnabledSbvM", + "mangledName": "$s10DittoSwift0A10AWDLConfigV9isEnabledSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAWDLConfig", + "printedName": "DittoSwift.DittoAWDLConfig", + "usr": "s:10DittoSwift0A10AWDLConfigV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10AWDLConfigV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A10AWDLConfigV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10AWDLConfigV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A10AWDLConfigV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoAWDLConfig", + "printedName": "DittoSwift.DittoAWDLConfig", + "usr": "s:10DittoSwift0A10AWDLConfigV" + }, + { + "kind": "TypeNominal", + "name": "DittoAWDLConfig", + "printedName": "DittoSwift.DittoAWDLConfig", + "usr": "s:10DittoSwift0A10AWDLConfigV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10AWDLConfigV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A10AWDLConfigV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A10AWDLConfigV", + "mangledName": "$s10DittoSwift0A10AWDLConfigV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoPeerToPeer", + "printedName": "DittoPeerToPeer", + "children": [ + { + "kind": "Var", + "name": "bluetoothLE", + "printedName": "bluetoothLE", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoBluetoothLEConfig", + "printedName": "DittoSwift.DittoBluetoothLEConfig", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0a6PeerToC0V11bluetoothLEAA0A17BluetoothLEConfigVvp", + "mangledName": "$s10DittoSwift0a6PeerToC0V11bluetoothLEAA0A17BluetoothLEConfigVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoBluetoothLEConfig", + "printedName": "DittoSwift.DittoBluetoothLEConfig", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V11bluetoothLEAA0A17BluetoothLEConfigVvg", + "mangledName": "$s10DittoSwift0a6PeerToC0V11bluetoothLEAA0A17BluetoothLEConfigVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoBluetoothLEConfig", + "printedName": "DittoSwift.DittoBluetoothLEConfig", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V11bluetoothLEAA0A17BluetoothLEConfigVvs", + "mangledName": "$s10DittoSwift0a6PeerToC0V11bluetoothLEAA0A17BluetoothLEConfigVvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V11bluetoothLEAA0A17BluetoothLEConfigVvM", + "mangledName": "$s10DittoSwift0a6PeerToC0V11bluetoothLEAA0A17BluetoothLEConfigVvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "lan", + "printedName": "lan", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLANConfig", + "printedName": "DittoSwift.DittoLANConfig", + "usr": "s:10DittoSwift0A9LANConfigV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0a6PeerToC0V3lanAA0A9LANConfigVvp", + "mangledName": "$s10DittoSwift0a6PeerToC0V3lanAA0A9LANConfigVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLANConfig", + "printedName": "DittoSwift.DittoLANConfig", + "usr": "s:10DittoSwift0A9LANConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V3lanAA0A9LANConfigVvg", + "mangledName": "$s10DittoSwift0a6PeerToC0V3lanAA0A9LANConfigVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoLANConfig", + "printedName": "DittoSwift.DittoLANConfig", + "usr": "s:10DittoSwift0A9LANConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V3lanAA0A9LANConfigVvs", + "mangledName": "$s10DittoSwift0a6PeerToC0V3lanAA0A9LANConfigVvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V3lanAA0A9LANConfigVvM", + "mangledName": "$s10DittoSwift0a6PeerToC0V3lanAA0A9LANConfigVvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "awdl", + "printedName": "awdl", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAWDLConfig", + "printedName": "DittoSwift.DittoAWDLConfig", + "usr": "s:10DittoSwift0A10AWDLConfigV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0a6PeerToC0V4awdlAA0A10AWDLConfigVvp", + "mangledName": "$s10DittoSwift0a6PeerToC0V4awdlAA0A10AWDLConfigVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAWDLConfig", + "printedName": "DittoSwift.DittoAWDLConfig", + "usr": "s:10DittoSwift0A10AWDLConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V4awdlAA0A10AWDLConfigVvg", + "mangledName": "$s10DittoSwift0a6PeerToC0V4awdlAA0A10AWDLConfigVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoAWDLConfig", + "printedName": "DittoSwift.DittoAWDLConfig", + "usr": "s:10DittoSwift0A10AWDLConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V4awdlAA0A10AWDLConfigVvs", + "mangledName": "$s10DittoSwift0a6PeerToC0V4awdlAA0A10AWDLConfigVvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V4awdlAA0A10AWDLConfigVvM", + "mangledName": "$s10DittoSwift0a6PeerToC0V4awdlAA0A10AWDLConfigVvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "bluetoothLe", + "printedName": "bluetoothLe", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoBluetoothLEConfig", + "printedName": "DittoSwift.DittoBluetoothLEConfig", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0a6PeerToC0V11bluetoothLeAA0A17BluetoothLEConfigVvp", + "mangledName": "$s10DittoSwift0a6PeerToC0V11bluetoothLeAA0A17BluetoothLEConfigVvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoBluetoothLEConfig", + "printedName": "DittoSwift.DittoBluetoothLEConfig", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V11bluetoothLeAA0A17BluetoothLEConfigVvg", + "mangledName": "$s10DittoSwift0a6PeerToC0V11bluetoothLeAA0A17BluetoothLEConfigVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoBluetoothLEConfig", + "printedName": "DittoSwift.DittoBluetoothLEConfig", + "usr": "s:10DittoSwift0A17BluetoothLEConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V11bluetoothLeAA0A17BluetoothLEConfigVvs", + "mangledName": "$s10DittoSwift0a6PeerToC0V11bluetoothLeAA0A17BluetoothLEConfigVvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0a6PeerToC0V11bluetoothLeAA0A17BluetoothLEConfigVvM", + "mangledName": "$s10DittoSwift0a6PeerToC0V11bluetoothLeAA0A17BluetoothLEConfigVvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeerToPeer", + "printedName": "DittoSwift.DittoPeerToPeer", + "usr": "s:10DittoSwift0a6PeerToC0V" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0a6PeerToC0V4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0a6PeerToC0V4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0a6PeerToC0V6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0a6PeerToC0V6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoPeerToPeer", + "printedName": "DittoSwift.DittoPeerToPeer", + "usr": "s:10DittoSwift0a6PeerToC0V" + }, + { + "kind": "TypeNominal", + "name": "DittoPeerToPeer", + "printedName": "DittoSwift.DittoPeerToPeer", + "usr": "s:10DittoSwift0a6PeerToC0V" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0a6PeerToC0V2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0a6PeerToC0V2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0a6PeerToC0V", + "mangledName": "$s10DittoSwift0a6PeerToC0V", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoConnect", + "printedName": "DittoConnect", + "children": [ + { + "kind": "Var", + "name": "tcpServers", + "printedName": "tcpServers", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A7ConnectV10tcpServersShySSGvp", + "mangledName": "$s10DittoSwift0A7ConnectV10tcpServersShySSGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV10tcpServersShySSGvg", + "mangledName": "$s10DittoSwift0A7ConnectV10tcpServersShySSGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV10tcpServersShySSGvs", + "mangledName": "$s10DittoSwift0A7ConnectV10tcpServersShySSGvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV10tcpServersShySSGvM", + "mangledName": "$s10DittoSwift0A7ConnectV10tcpServersShySSGvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "webSocketURLs", + "printedName": "webSocketURLs", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A7ConnectV13webSocketURLsShySSGvp", + "mangledName": "$s10DittoSwift0A7ConnectV13webSocketURLsShySSGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV13webSocketURLsShySSGvg", + "mangledName": "$s10DittoSwift0A7ConnectV13webSocketURLsShySSGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV13webSocketURLsShySSGvs", + "mangledName": "$s10DittoSwift0A7ConnectV13webSocketURLsShySSGvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV13webSocketURLsShySSGvM", + "mangledName": "$s10DittoSwift0A7ConnectV13webSocketURLsShySSGvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "retryInterval", + "printedName": "retryInterval", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A7ConnectV13retryIntervalSdvp", + "mangledName": "$s10DittoSwift0A7ConnectV13retryIntervalSdvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV13retryIntervalSdvg", + "mangledName": "$s10DittoSwift0A7ConnectV13retryIntervalSdvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV13retryIntervalSdvs", + "mangledName": "$s10DittoSwift0A7ConnectV13retryIntervalSdvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV13retryIntervalSdvM", + "mangledName": "$s10DittoSwift0A7ConnectV13retryIntervalSdvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "websocketURLs", + "printedName": "websocketURLs", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A7ConnectV13websocketURLsShySSGvp", + "mangledName": "$s10DittoSwift0A7ConnectV13websocketURLsShySSGvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV13websocketURLsShySSGvg", + "mangledName": "$s10DittoSwift0A7ConnectV13websocketURLsShySSGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV13websocketURLsShySSGvs", + "mangledName": "$s10DittoSwift0A7ConnectV13websocketURLsShySSGvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7ConnectV13websocketURLsShySSGvM", + "mangledName": "$s10DittoSwift0A7ConnectV13websocketURLsShySSGvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoConnect", + "printedName": "DittoSwift.DittoConnect", + "usr": "s:10DittoSwift0A7ConnectV" + }, + { + "kind": "TypeNominal", + "name": "DittoConnect", + "printedName": "DittoSwift.DittoConnect", + "usr": "s:10DittoSwift0A7ConnectV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A7ConnectV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A7ConnectV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A7ConnectV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A7ConnectV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnect", + "printedName": "DittoSwift.DittoConnect", + "usr": "s:10DittoSwift0A7ConnectV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A7ConnectV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A7ConnectV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "throwing": true, + "init_kind": "Designated" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A7ConnectV", + "mangledName": "$s10DittoSwift0A7ConnectV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoTCPListenConfig", + "printedName": "DittoTCPListenConfig", + "children": [ + { + "kind": "Var", + "name": "isEnabled", + "printedName": "isEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15TCPListenConfigV9isEnabledSbvp", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV9isEnabledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV9isEnabledSbvg", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV9isEnabledSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV9isEnabledSbvs", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV9isEnabledSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV9isEnabledSbvM", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV9isEnabledSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "interfaceIP", + "printedName": "interfaceIP", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15TCPListenConfigV11interfaceIPSSvp", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV11interfaceIPSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV11interfaceIPSSvg", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV11interfaceIPSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV11interfaceIPSSvs", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV11interfaceIPSSvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV11interfaceIPSSvM", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV11interfaceIPSSvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "port", + "printedName": "port", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15TCPListenConfigV4ports6UInt16Vvp", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV4ports6UInt16Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV4ports6UInt16Vvg", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV4ports6UInt16Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV4ports6UInt16Vvs", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV4ports6UInt16Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV4ports6UInt16VvM", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV4ports6UInt16VvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "interfaceIp", + "printedName": "interfaceIp", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15TCPListenConfigV11interfaceIpSSvp", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV11interfaceIpSSvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV11interfaceIpSSvg", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV11interfaceIpSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV11interfaceIpSSvs", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV11interfaceIpSSvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TCPListenConfigV11interfaceIpSSvM", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV11interfaceIpSSvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTCPListenConfig", + "printedName": "DittoSwift.DittoTCPListenConfig", + "usr": "s:10DittoSwift0A15TCPListenConfigV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A15TCPListenConfigV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15TCPListenConfigV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoTCPListenConfig", + "printedName": "DittoSwift.DittoTCPListenConfig", + "usr": "s:10DittoSwift0A15TCPListenConfigV" + }, + { + "kind": "TypeNominal", + "name": "DittoTCPListenConfig", + "printedName": "DittoSwift.DittoTCPListenConfig", + "usr": "s:10DittoSwift0A15TCPListenConfigV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15TCPListenConfigV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A15TCPListenConfigV", + "mangledName": "$s10DittoSwift0A15TCPListenConfigV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoHTTPListenConfig", + "printedName": "DittoHTTPListenConfig", + "children": [ + { + "kind": "Var", + "name": "isEnabled", + "printedName": "isEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV9isEnabledSbvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV9isEnabledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV9isEnabledSbvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV9isEnabledSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV9isEnabledSbvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV9isEnabledSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV9isEnabledSbvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV9isEnabledSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "interfaceIP", + "printedName": "interfaceIP", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV11interfaceIPSSvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV11interfaceIPSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV11interfaceIPSSvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV11interfaceIPSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV11interfaceIPSSvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV11interfaceIPSSvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV11interfaceIPSSvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV11interfaceIPSSvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "port", + "printedName": "port", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV4ports6UInt16Vvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV4ports6UInt16Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV4ports6UInt16Vvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV4ports6UInt16Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV4ports6UInt16Vvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV4ports6UInt16Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV4ports6UInt16VvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV4ports6UInt16VvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "staticContentPath", + "printedName": "staticContentPath", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV17staticContentPathSSSgvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV17staticContentPathSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV17staticContentPathSSSgvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV17staticContentPathSSSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV17staticContentPathSSSgvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV17staticContentPathSSSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV17staticContentPathSSSgvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV17staticContentPathSSSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "webSocketSync", + "printedName": "webSocketSync", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV13webSocketSyncSbvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV13webSocketSyncSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV13webSocketSyncSbvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV13webSocketSyncSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV13webSocketSyncSbvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV13webSocketSyncSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV13webSocketSyncSbvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV13webSocketSyncSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "tlsKeyPath", + "printedName": "tlsKeyPath", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV10tlsKeyPathSSSgvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV10tlsKeyPathSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV10tlsKeyPathSSSgvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV10tlsKeyPathSSSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV10tlsKeyPathSSSgvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV10tlsKeyPathSSSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV10tlsKeyPathSSSgvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV10tlsKeyPathSSSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "tlsCertificatePath", + "printedName": "tlsCertificatePath", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV18tlsCertificatePathSSSgvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV18tlsCertificatePathSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV18tlsCertificatePathSSSgvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV18tlsCertificatePathSSSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV18tlsCertificatePathSSSgvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV18tlsCertificatePathSSSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV18tlsCertificatePathSSSgvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV18tlsCertificatePathSSSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "isIdentityProvider", + "printedName": "isIdentityProvider", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV18isIdentityProviderSbvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV18isIdentityProviderSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV18isIdentityProviderSbvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV18isIdentityProviderSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV18isIdentityProviderSbvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV18isIdentityProviderSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV18isIdentityProviderSbvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV18isIdentityProviderSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "identityProviderSigningKey", + "printedName": "identityProviderSigningKey", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV26identityProviderSigningKeySSSgvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV26identityProviderSigningKeySSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV26identityProviderSigningKeySSSgvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV26identityProviderSigningKeySSSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV26identityProviderSigningKeySSSgvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV26identityProviderSigningKeySSSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV26identityProviderSigningKeySSSgvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV26identityProviderSigningKeySSSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "identityProviderVerifyingKeys", + "printedName": "identityProviderVerifyingKeys", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV29identityProviderVerifyingKeysSaySSGSgvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV29identityProviderVerifyingKeysSaySSGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV29identityProviderVerifyingKeysSaySSGSgvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV29identityProviderVerifyingKeysSaySSGSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV29identityProviderVerifyingKeysSaySSGSgvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV29identityProviderVerifyingKeysSaySSGSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV29identityProviderVerifyingKeysSaySSGSgvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV29identityProviderVerifyingKeysSaySSGSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "caKey", + "printedName": "caKey", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV5caKeySSSgvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV5caKeySSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV5caKeySSSgvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV5caKeySSSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV5caKeySSSgvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV5caKeySSSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV5caKeySSSgvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV5caKeySSSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "interfaceIp", + "printedName": "interfaceIp", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV11interfaceIpSSvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV11interfaceIpSSvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV11interfaceIpSSvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV11interfaceIpSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV11interfaceIpSSvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV11interfaceIpSSvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV11interfaceIpSSvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV11interfaceIpSSvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "websocketSync", + "printedName": "websocketSync", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16HTTPListenConfigV13websocketSyncSbvp", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV13websocketSyncSbvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV13websocketSyncSbvg", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV13websocketSyncSbvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV13websocketSyncSbvs", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV13websocketSyncSbvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV13websocketSyncSbvM", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV13websocketSyncSbvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoHTTPListenConfig", + "printedName": "DittoSwift.DittoHTTPListenConfig", + "usr": "s:10DittoSwift0A16HTTPListenConfigV" + }, + { + "kind": "TypeNominal", + "name": "DittoHTTPListenConfig", + "printedName": "DittoSwift.DittoHTTPListenConfig", + "usr": "s:10DittoSwift0A16HTTPListenConfigV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A16HTTPListenConfigV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoHTTPListenConfig", + "printedName": "DittoSwift.DittoHTTPListenConfig", + "usr": "s:10DittoSwift0A16HTTPListenConfigV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A16HTTPListenConfigV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A16HTTPListenConfigV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A16HTTPListenConfigV", + "mangledName": "$s10DittoSwift0A16HTTPListenConfigV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoListen", + "printedName": "DittoListen", + "children": [ + { + "kind": "Var", + "name": "tcp", + "printedName": "tcp", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTCPListenConfig", + "printedName": "DittoSwift.DittoTCPListenConfig", + "usr": "s:10DittoSwift0A15TCPListenConfigV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A6ListenV3tcpAA0A15TCPListenConfigVvp", + "mangledName": "$s10DittoSwift0A6ListenV3tcpAA0A15TCPListenConfigVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTCPListenConfig", + "printedName": "DittoSwift.DittoTCPListenConfig", + "usr": "s:10DittoSwift0A15TCPListenConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6ListenV3tcpAA0A15TCPListenConfigVvg", + "mangledName": "$s10DittoSwift0A6ListenV3tcpAA0A15TCPListenConfigVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoTCPListenConfig", + "printedName": "DittoSwift.DittoTCPListenConfig", + "usr": "s:10DittoSwift0A15TCPListenConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6ListenV3tcpAA0A15TCPListenConfigVvs", + "mangledName": "$s10DittoSwift0A6ListenV3tcpAA0A15TCPListenConfigVvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6ListenV3tcpAA0A15TCPListenConfigVvM", + "mangledName": "$s10DittoSwift0A6ListenV3tcpAA0A15TCPListenConfigVvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "http", + "printedName": "http", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoHTTPListenConfig", + "printedName": "DittoSwift.DittoHTTPListenConfig", + "usr": "s:10DittoSwift0A16HTTPListenConfigV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A6ListenV4httpAA0A16HTTPListenConfigVvp", + "mangledName": "$s10DittoSwift0A6ListenV4httpAA0A16HTTPListenConfigVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoHTTPListenConfig", + "printedName": "DittoSwift.DittoHTTPListenConfig", + "usr": "s:10DittoSwift0A16HTTPListenConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6ListenV4httpAA0A16HTTPListenConfigVvg", + "mangledName": "$s10DittoSwift0A6ListenV4httpAA0A16HTTPListenConfigVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoHTTPListenConfig", + "printedName": "DittoSwift.DittoHTTPListenConfig", + "usr": "s:10DittoSwift0A16HTTPListenConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6ListenV4httpAA0A16HTTPListenConfigVvs", + "mangledName": "$s10DittoSwift0A6ListenV4httpAA0A16HTTPListenConfigVvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6ListenV4httpAA0A16HTTPListenConfigVvM", + "mangledName": "$s10DittoSwift0A6ListenV4httpAA0A16HTTPListenConfigVvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoListen", + "printedName": "DittoSwift.DittoListen", + "usr": "s:10DittoSwift0A6ListenV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A6ListenV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A6ListenV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A6ListenV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A6ListenV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoListen", + "printedName": "DittoSwift.DittoListen", + "usr": "s:10DittoSwift0A6ListenV" + }, + { + "kind": "TypeNominal", + "name": "DittoListen", + "printedName": "DittoSwift.DittoListen", + "usr": "s:10DittoSwift0A6ListenV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A6ListenV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A6ListenV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A6ListenV", + "mangledName": "$s10DittoSwift0A6ListenV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoGlobalConfig", + "printedName": "DittoGlobalConfig", + "children": [ + { + "kind": "Var", + "name": "syncGroup", + "printedName": "syncGroup", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12GlobalConfigV9syncGroups6UInt32Vvp", + "mangledName": "$s10DittoSwift0A12GlobalConfigV9syncGroups6UInt32Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12GlobalConfigV9syncGroups6UInt32Vvg", + "mangledName": "$s10DittoSwift0A12GlobalConfigV9syncGroups6UInt32Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12GlobalConfigV9syncGroups6UInt32Vvs", + "mangledName": "$s10DittoSwift0A12GlobalConfigV9syncGroups6UInt32Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12GlobalConfigV9syncGroups6UInt32VvM", + "mangledName": "$s10DittoSwift0A12GlobalConfigV9syncGroups6UInt32VvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "routingHint", + "printedName": "routingHint", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12GlobalConfigV11routingHints6UInt32Vvp", + "mangledName": "$s10DittoSwift0A12GlobalConfigV11routingHints6UInt32Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12GlobalConfigV11routingHints6UInt32Vvg", + "mangledName": "$s10DittoSwift0A12GlobalConfigV11routingHints6UInt32Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12GlobalConfigV11routingHints6UInt32Vvs", + "mangledName": "$s10DittoSwift0A12GlobalConfigV11routingHints6UInt32Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12GlobalConfigV11routingHints6UInt32VvM", + "mangledName": "$s10DittoSwift0A12GlobalConfigV11routingHints6UInt32VvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoGlobalConfig", + "printedName": "DittoSwift.DittoGlobalConfig", + "usr": "s:10DittoSwift0A12GlobalConfigV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A12GlobalConfigV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A12GlobalConfigV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A12GlobalConfigV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A12GlobalConfigV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoGlobalConfig", + "printedName": "DittoSwift.DittoGlobalConfig", + "usr": "s:10DittoSwift0A12GlobalConfigV" + }, + { + "kind": "TypeNominal", + "name": "DittoGlobalConfig", + "printedName": "DittoSwift.DittoGlobalConfig", + "usr": "s:10DittoSwift0A12GlobalConfigV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A12GlobalConfigV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A12GlobalConfigV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A12GlobalConfigV", + "mangledName": "$s10DittoSwift0A12GlobalConfigV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoTransportConfig", + "printedName": "DittoTransportConfig", + "children": [ + { + "kind": "Var", + "name": "peerToPeer", + "printedName": "peerToPeer", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeerToPeer", + "printedName": "DittoSwift.DittoPeerToPeer", + "usr": "s:10DittoSwift0a6PeerToC0V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15TransportConfigV10peerToPeerAA0agfG0Vvp", + "mangledName": "$s10DittoSwift0A15TransportConfigV10peerToPeerAA0agfG0Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeerToPeer", + "printedName": "DittoSwift.DittoPeerToPeer", + "usr": "s:10DittoSwift0a6PeerToC0V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV10peerToPeerAA0agfG0Vvg", + "mangledName": "$s10DittoSwift0A15TransportConfigV10peerToPeerAA0agfG0Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoPeerToPeer", + "printedName": "DittoSwift.DittoPeerToPeer", + "usr": "s:10DittoSwift0a6PeerToC0V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV10peerToPeerAA0agfG0Vvs", + "mangledName": "$s10DittoSwift0A15TransportConfigV10peerToPeerAA0agfG0Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV10peerToPeerAA0agfG0VvM", + "mangledName": "$s10DittoSwift0A15TransportConfigV10peerToPeerAA0agfG0VvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "connect", + "printedName": "connect", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnect", + "printedName": "DittoSwift.DittoConnect", + "usr": "s:10DittoSwift0A7ConnectV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15TransportConfigV7connectAA0A7ConnectVvp", + "mangledName": "$s10DittoSwift0A15TransportConfigV7connectAA0A7ConnectVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnect", + "printedName": "DittoSwift.DittoConnect", + "usr": "s:10DittoSwift0A7ConnectV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV7connectAA0A7ConnectVvg", + "mangledName": "$s10DittoSwift0A15TransportConfigV7connectAA0A7ConnectVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoConnect", + "printedName": "DittoSwift.DittoConnect", + "usr": "s:10DittoSwift0A7ConnectV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV7connectAA0A7ConnectVvs", + "mangledName": "$s10DittoSwift0A15TransportConfigV7connectAA0A7ConnectVvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV7connectAA0A7ConnectVvM", + "mangledName": "$s10DittoSwift0A15TransportConfigV7connectAA0A7ConnectVvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "listen", + "printedName": "listen", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoListen", + "printedName": "DittoSwift.DittoListen", + "usr": "s:10DittoSwift0A6ListenV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15TransportConfigV6listenAA0A6ListenVvp", + "mangledName": "$s10DittoSwift0A15TransportConfigV6listenAA0A6ListenVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoListen", + "printedName": "DittoSwift.DittoListen", + "usr": "s:10DittoSwift0A6ListenV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV6listenAA0A6ListenVvg", + "mangledName": "$s10DittoSwift0A15TransportConfigV6listenAA0A6ListenVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoListen", + "printedName": "DittoSwift.DittoListen", + "usr": "s:10DittoSwift0A6ListenV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV6listenAA0A6ListenVvs", + "mangledName": "$s10DittoSwift0A15TransportConfigV6listenAA0A6ListenVvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV6listenAA0A6ListenVvM", + "mangledName": "$s10DittoSwift0A15TransportConfigV6listenAA0A6ListenVvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "global", + "printedName": "global", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoGlobalConfig", + "printedName": "DittoSwift.DittoGlobalConfig", + "usr": "s:10DittoSwift0A12GlobalConfigV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15TransportConfigV6globalAA0a6GlobalD0Vvp", + "mangledName": "$s10DittoSwift0A15TransportConfigV6globalAA0a6GlobalD0Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoGlobalConfig", + "printedName": "DittoSwift.DittoGlobalConfig", + "usr": "s:10DittoSwift0A12GlobalConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV6globalAA0a6GlobalD0Vvg", + "mangledName": "$s10DittoSwift0A15TransportConfigV6globalAA0a6GlobalD0Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoGlobalConfig", + "printedName": "DittoSwift.DittoGlobalConfig", + "usr": "s:10DittoSwift0A12GlobalConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV6globalAA0a6GlobalD0Vvs", + "mangledName": "$s10DittoSwift0A15TransportConfigV6globalAA0a6GlobalD0Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransportConfigV6globalAA0a6GlobalD0VvM", + "mangledName": "$s10DittoSwift0A15TransportConfigV6globalAA0a6GlobalD0VvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Function", + "name": "enableAllPeerToPeer", + "printedName": "enableAllPeerToPeer()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15TransportConfigV015enableAllPeerToG0yyF", + "mangledName": "$s10DittoSwift0A15TransportConfigV015enableAllPeerToG0yyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "Mutating", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "Mutating" + }, + { + "kind": "Function", + "name": "setAllPeerToPeer", + "printedName": "setAllPeerToPeer(enabled:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15TransportConfigV012setAllPeerToG07enabledySb_tF", + "mangledName": "$s10DittoSwift0A15TransportConfigV012setAllPeerToG07enabledySb_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "Mutating", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "Mutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportConfig", + "printedName": "DittoSwift.DittoTransportConfig", + "usr": "s:10DittoSwift0A15TransportConfigV" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A15TransportConfigVACycfc", + "mangledName": "$s10DittoSwift0A15TransportConfigVACycfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportConfig", + "printedName": "DittoSwift.DittoTransportConfig", + "usr": "s:10DittoSwift0A15TransportConfigV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A15TransportConfigV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A15TransportConfigV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15TransportConfigV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A15TransportConfigV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoTransportConfig", + "printedName": "DittoSwift.DittoTransportConfig", + "usr": "s:10DittoSwift0A15TransportConfigV" + }, + { + "kind": "TypeNominal", + "name": "DittoTransportConfig", + "printedName": "DittoSwift.DittoTransportConfig", + "usr": "s:10DittoSwift0A15TransportConfigV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15TransportConfigV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A15TransportConfigV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A15TransportConfigV", + "mangledName": "$s10DittoSwift0A15TransportConfigV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "LMDBError", + "printedName": "LMDBError", + "children": [ + { + "kind": "Var", + "name": "keyExists", + "printedName": "keyExists", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO9keyExistsyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO9keyExistsyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "notFound", + "printedName": "notFound", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO8notFoundyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO8notFoundyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "pageNotFound", + "printedName": "pageNotFound", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO12pageNotFoundyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO12pageNotFoundyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "corrupted", + "printedName": "corrupted", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO9corruptedyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO9corruptedyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "panic", + "printedName": "panic", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO5panicyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO5panicyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "versionMismatch", + "printedName": "versionMismatch", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO15versionMismatchyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO15versionMismatchyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "invalid", + "printedName": "invalid", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO7invalidyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO7invalidyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "mapFull", + "printedName": "mapFull", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO7mapFullyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO7mapFullyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "dbsFull", + "printedName": "dbsFull", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO7dbsFullyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO7dbsFullyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "readersFull", + "printedName": "readersFull", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO11readersFullyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO11readersFullyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "tlsFull", + "printedName": "tlsFull", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO7tlsFullyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO7tlsFullyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "txnFull", + "printedName": "txnFull", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO7txnFullyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO7txnFullyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "cursorFull", + "printedName": "cursorFull", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO10cursorFullyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO10cursorFullyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "pageFull", + "printedName": "pageFull", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO8pageFullyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO8pageFullyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "mapResized", + "printedName": "mapResized", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO10mapResizedyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO10mapResizedyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "incompatible", + "printedName": "incompatible", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO12incompatibleyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO12incompatibleyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "badReaderSlot", + "printedName": "badReaderSlot", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO13badReaderSlotyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO13badReaderSlotyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "badTransaction", + "printedName": "badTransaction", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO14badTransactionyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO14badTransactionyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "badValueSize", + "printedName": "badValueSize", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO12badValueSizeyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO12badValueSizeyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "badDBI", + "printedName": "badDBI", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO6badDBIyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO6badDBIyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "problem", + "printedName": "problem", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO7problemyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO7problemyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "invalidParameter", + "printedName": "invalidParameter", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO16invalidParameteryA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO16invalidParameteryA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "outOfDiskSpace", + "printedName": "outOfDiskSpace", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO14outOfDiskSpaceyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO14outOfDiskSpaceyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "outOfMemory", + "printedName": "outOfMemory", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO11outOfMemoryyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO11outOfMemoryyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "ioError", + "printedName": "ioError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO7ioErroryA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO7ioErroryA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "accessViolation", + "printedName": "accessViolation", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO15accessViolationyA2CmF", + "mangledName": "$s10DittoSwift9LMDBErrorO15accessViolationyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "other", + "printedName": "other", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.LMDBError.Type) -> (Swift.Int32) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.Int32) -> DittoSwift.LMDBError", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(returnCode: Swift.Int32)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.LMDBError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift9LMDBErrorO5otheryACs5Int32V_tcACmF", + "mangledName": "$s10DittoSwift9LMDBErrorO5otheryACs5Int32V_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + }, + { + "kind": "TypeNominal", + "name": "LMDBError", + "printedName": "DittoSwift.LMDBError", + "usr": "s:10DittoSwift9LMDBErrorO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift9LMDBErrorO2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift9LMDBErrorO2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift9LMDBErrorO", + "mangledName": "$s10DittoSwift9LMDBErrorO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoLiveQuery", + "printedName": "DittoLiveQuery", + "children": [ + { + "kind": "Var", + "name": "query", + "printedName": "query", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A9LiveQueryC5querySSvp", + "mangledName": "$s10DittoSwift0A9LiveQueryC5querySSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LiveQueryC5querySSvg", + "mangledName": "$s10DittoSwift0A9LiveQueryC5querySSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "collectionName", + "printedName": "collectionName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A9LiveQueryC14collectionNameSSvp", + "mangledName": "$s10DittoSwift0A9LiveQueryC14collectionNameSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A9LiveQueryC14collectionNameSSvg", + "mangledName": "$s10DittoSwift0A9LiveQueryC14collectionNameSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "stop", + "printedName": "stop()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A9LiveQueryC4stopyyF", + "mangledName": "$s10DittoSwift0A9LiveQueryC4stopyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A9LiveQueryC", + "mangledName": "$s10DittoSwift0A9LiveQueryC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoWriteTransactionPendingIDSpecificOperation", + "printedName": "DittoWriteTransactionPendingIDSpecificOperation", + "children": [ + { + "kind": "Function", + "name": "remove", + "printedName": "remove()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC6removeSbyF", + "mangledName": "$s10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC6removeSbyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "evict", + "printedName": "evict()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC5evictSbyF", + "mangledName": "$s10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC5evictSbyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "exec", + "printedName": "exec()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC4execAA0A8DocumentCSgyF", + "mangledName": "$s10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC4execAA0A8DocumentCSgyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "update", + "printedName": "update(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoUpdateResult]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoUpdateResult", + "printedName": "DittoSwift.DittoUpdateResult", + "usr": "s:10DittoSwift0A12UpdateResultO" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoMutableDocument?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoMutableDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocument", + "printedName": "DittoSwift.DittoMutableDocument", + "usr": "s:10DittoSwift0A15MutableDocumentC" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC6updateySayAA0A12UpdateResultOGyAA0A15MutableDocumentCSgcF", + "mangledName": "$s10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC6updateySayAA0A12UpdateResultOGyAA0A15MutableDocumentCSgcF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "update", + "printedName": "update(using:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC6update5usingyx_tKSeRzSERzlF", + "mangledName": "$s10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC6update5usingyx_tKSeRzSERzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Swift.Decodable, ฯ„_0_0 : Swift.Encodable>", + "sugared_genericSig": "", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC", + "mangledName": "$s10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoMutableRegister", + "printedName": "DittoMutableRegister", + "children": [ + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC5valueypSgvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC5valueypSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC5valueypSgvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC5valueypSgvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC5valueypSgvs", + "mangledName": "$s10DittoSwift0A15MutableRegisterC5valueypSgvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC5valueypSgvM", + "mangledName": "$s10DittoSwift0A15MutableRegisterC5valueypSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "string", + "printedName": "string", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC6stringSSSgvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC6stringSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC6stringSSSgvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC6stringSSSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "stringValue", + "printedName": "stringValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC11stringValueSSvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC11stringValueSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC11stringValueSSvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC11stringValueSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "bool", + "printedName": "bool", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC4boolSbSgvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC4boolSbSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC4boolSbSgvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC4boolSbSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "boolValue", + "printedName": "boolValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC9boolValueSbvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC9boolValueSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC9boolValueSbvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC9boolValueSbvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "int", + "printedName": "int", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC3intSiSgvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC3intSiSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC3intSiSgvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC3intSiSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "intValue", + "printedName": "intValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC8intValueSivp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC8intValueSivp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC8intValueSivg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC8intValueSivg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uint", + "printedName": "uint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC4uintSuSgvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC4uintSuSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC4uintSuSgvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC4uintSuSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uintValue", + "printedName": "uintValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC9uintValueSuvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC9uintValueSuvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC9uintValueSuvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC9uintValueSuvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "float", + "printedName": "float", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC5floatSfSgvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC5floatSfSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC5floatSfSgvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC5floatSfSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "floatValue", + "printedName": "floatValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC10floatValueSfvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC10floatValueSfvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC10floatValueSfvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC10floatValueSfvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "double", + "printedName": "double", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC6doubleSdSgvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC6doubleSdSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC6doubleSdSgvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC6doubleSdSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "doubleValue", + "printedName": "doubleValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC11doubleValueSdvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC11doubleValueSdvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC11doubleValueSdvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC11doubleValueSdvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "array", + "printedName": "array", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC5arraySayypSgGSgvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC5arraySayypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC5arraySayypSgGSgvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC5arraySayypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "arrayValue", + "printedName": "arrayValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC10arrayValueSayypSgGvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC10arrayValueSayypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC10arrayValueSayypSgGvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC10arrayValueSayypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionary", + "printedName": "dictionary", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC10dictionarySDySSypSgGSgvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC10dictionarySDySSypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC10dictionarySDySSypSgGSgvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC10dictionarySDySSypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionaryValue", + "printedName": "dictionaryValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableRegisterC15dictionaryValueSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A15MutableRegisterC15dictionaryValueSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableRegisterC15dictionaryValueSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A15MutableRegisterC15dictionaryValueSDySSypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A15MutableRegisterC", + "mangledName": "$s10DittoSwift0A15MutableRegisterC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoPeerV2Parser", + "printedName": "DittoPeerV2Parser", + "children": [ + { + "kind": "Function", + "name": "parseJson", + "printedName": "parseJson(json:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[DittoSwift.DittoRemotePeerV2]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoRemotePeerV2]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoRemotePeerV2", + "printedName": "DittoSwift.DittoRemotePeerV2", + "usr": "s:10DittoSwift0A12RemotePeerV2C" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A12PeerV2ParserC9parseJson4jsonSayAA0a6RemotecD0CGSgSS_tFZ", + "mangledName": "$s10DittoSwift0A12PeerV2ParserC9parseJson4jsonSayAA0a6RemotecD0CGSgSS_tFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A12PeerV2ParserC", + "mangledName": "$s10DittoSwift0A12PeerV2ParserC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Combine", + "printedName": "Combine", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoCounter", + "printedName": "DittoCounter", + "children": [ + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A7CounterC5valueSdvp", + "mangledName": "$s10DittoSwift0A7CounterC5valueSdvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "SetterAccess", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7CounterC5valueSdvg", + "mangledName": "$s10DittoSwift0A7CounterC5valueSdvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCounter", + "printedName": "DittoSwift.DittoCounter", + "usr": "s:10DittoSwift0A7CounterC" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A7CounterCACycfc", + "mangledName": "$s10DittoSwift0A7CounterCACycfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Convenience", + "AccessControl", + "RawDocComment" + ], + "init_kind": "Convenience" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoCounter", + "printedName": "DittoSwift.DittoCounter", + "usr": "s:10DittoSwift0A7CounterC" + }, + { + "kind": "TypeNominal", + "name": "DittoCounter", + "printedName": "DittoSwift.DittoCounter", + "usr": "s:10DittoSwift0A7CounterC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A7CounterC2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A7CounterC2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A7CounterC", + "mangledName": "$s10DittoSwift0A7CounterC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoTransactionCompletionAction", + "printedName": "DittoTransactionCompletionAction", + "children": [ + { + "kind": "Var", + "name": "commit", + "printedName": "commit", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransactionCompletionAction.Type) -> DittoSwift.DittoTransactionCompletionAction", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransactionCompletionAction", + "printedName": "DittoSwift.DittoTransactionCompletionAction", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransactionCompletionAction.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransactionCompletionAction", + "printedName": "DittoSwift.DittoTransactionCompletionAction", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO6commityA2CmF", + "mangledName": "$s10DittoSwift0A27TransactionCompletionActionO6commityA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "rollback", + "printedName": "rollback", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransactionCompletionAction.Type) -> DittoSwift.DittoTransactionCompletionAction", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransactionCompletionAction", + "printedName": "DittoSwift.DittoTransactionCompletionAction", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransactionCompletionAction.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransactionCompletionAction", + "printedName": "DittoSwift.DittoTransactionCompletionAction", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO8rollbackyA2CmF", + "mangledName": "$s10DittoSwift0A27TransactionCompletionActionO8rollbackyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO9hashValueSivp", + "mangledName": "$s10DittoSwift0A27TransactionCompletionActionO9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO9hashValueSivg", + "mangledName": "$s10DittoSwift0A27TransactionCompletionActionO9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A27TransactionCompletionActionO4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoTransactionCompletionAction", + "printedName": "DittoSwift.DittoTransactionCompletionAction", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO" + }, + { + "kind": "TypeNominal", + "name": "DittoTransactionCompletionAction", + "printedName": "DittoSwift.DittoTransactionCompletionAction", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A27TransactionCompletionActionO2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO", + "mangledName": "$s10DittoSwift0A27TransactionCompletionActionO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoLogLevel", + "printedName": "DittoLogLevel", + "children": [ + { + "kind": "Var", + "name": "error", + "printedName": "error", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoLogLevel.Type) -> DittoSwift.DittoLogLevel", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoLogLevel.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A8LogLevelO5erroryA2CmF", + "mangledName": "$s10DittoSwift0A8LogLevelO5erroryA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "warning", + "printedName": "warning", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoLogLevel.Type) -> DittoSwift.DittoLogLevel", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoLogLevel.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A8LogLevelO7warningyA2CmF", + "mangledName": "$s10DittoSwift0A8LogLevelO7warningyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "info", + "printedName": "info", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoLogLevel.Type) -> DittoSwift.DittoLogLevel", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoLogLevel.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A8LogLevelO4infoyA2CmF", + "mangledName": "$s10DittoSwift0A8LogLevelO4infoyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "debug", + "printedName": "debug", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoLogLevel.Type) -> DittoSwift.DittoLogLevel", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoLogLevel.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A8LogLevelO5debugyA2CmF", + "mangledName": "$s10DittoSwift0A8LogLevelO5debugyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "verbose", + "printedName": "verbose", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoLogLevel.Type) -> DittoSwift.DittoLogLevel", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoLogLevel.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A8LogLevelO7verboseyA2CmF", + "mangledName": "$s10DittoSwift0A8LogLevelO7verboseyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoLogLevel?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A8LogLevelO8rawValueACSgSi_tcfc", + "mangledName": "$s10DittoSwift0A8LogLevelO8rawValueACSgSi_tcfc", + "moduleName": "DittoSwift", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A8LogLevelO8rawValueSivp", + "mangledName": "$s10DittoSwift0A8LogLevelO8rawValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A8LogLevelO8rawValueSivg", + "mangledName": "$s10DittoSwift0A8LogLevelO8rawValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A8LogLevelO", + "mangledName": "$s10DittoSwift0A8LogLevelO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "enumRawTypeName": "Int", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSmallPeerInfoSyncScope", + "children": [ + { + "kind": "Var", + "name": "bigPeerOnly", + "printedName": "bigPeerOnly", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSmallPeerInfoSyncScope.Type) -> DittoSwift.DittoSmallPeerInfoSyncScope", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO03bigD4OnlyyA2CmF", + "mangledName": "$s10DittoSwift0A22SmallPeerInfoSyncScopeO03bigD4OnlyyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "localPeerOnly", + "printedName": "localPeerOnly", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSmallPeerInfoSyncScope.Type) -> DittoSwift.DittoSmallPeerInfoSyncScope", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO05localD4OnlyyA2CmF", + "mangledName": "$s10DittoSwift0A22SmallPeerInfoSyncScopeO05localD4OnlyyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO8rawValueACSgSu_tcfc", + "mangledName": "$s10DittoSwift0A22SmallPeerInfoSyncScopeO8rawValueACSgSu_tcfc", + "moduleName": "DittoSwift", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO8rawValueSuvp", + "mangledName": "$s10DittoSwift0A22SmallPeerInfoSyncScopeO8rawValueSuvp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO8rawValueSuvg", + "mangledName": "$s10DittoSwift0A22SmallPeerInfoSyncScopeO8rawValueSuvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "allCases", + "printedName": "allCases", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoSmallPeerInfoSyncScope]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO8allCasesSayACGvpZ", + "mangledName": "$s10DittoSwift0A22SmallPeerInfoSyncScopeO8allCasesSayACGvpZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "declAttributes": [ + "Nonisolated" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoSmallPeerInfoSyncScope]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO8allCasesSayACGvgZ", + "mangledName": "$s10DittoSwift0A22SmallPeerInfoSyncScopeO8allCasesSayACGvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO11descriptionSSvp", + "mangledName": "$s10DittoSwift0A22SmallPeerInfoSyncScopeO11descriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO11descriptionSSvg", + "mangledName": "$s10DittoSwift0A22SmallPeerInfoSyncScopeO11descriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO", + "mangledName": "$s10DittoSwift0A22SmallPeerInfoSyncScopeO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "enumRawTypeName": "UInt", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "CaseIterable", + "printedName": "CaseIterable", + "children": [ + { + "kind": "TypeWitness", + "name": "AllCases", + "printedName": "AllCases", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoSmallPeerInfoSyncScope]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + } + ], + "usr": "s:Sa" + } + ] + } + ], + "usr": "s:s12CaseIterableP", + "mangledName": "$ss12CaseIterableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoConnectionPriority", + "printedName": "DittoConnectionPriority", + "children": [ + { + "kind": "Var", + "name": "dontConnect", + "printedName": "dontConnect", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionPriority.Type) -> DittoSwift.DittoConnectionPriority", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionPriority", + "printedName": "DittoSwift.DittoConnectionPriority", + "usr": "s:10DittoSwift0A18ConnectionPriorityO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConnectionPriority.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionPriority", + "printedName": "DittoSwift.DittoConnectionPriority", + "usr": "s:10DittoSwift0A18ConnectionPriorityO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18ConnectionPriorityO11dontConnectyA2CmF", + "mangledName": "$s10DittoSwift0A18ConnectionPriorityO11dontConnectyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "normal", + "printedName": "normal", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionPriority.Type) -> DittoSwift.DittoConnectionPriority", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionPriority", + "printedName": "DittoSwift.DittoConnectionPriority", + "usr": "s:10DittoSwift0A18ConnectionPriorityO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConnectionPriority.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionPriority", + "printedName": "DittoSwift.DittoConnectionPriority", + "usr": "s:10DittoSwift0A18ConnectionPriorityO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18ConnectionPriorityO6normalyA2CmF", + "mangledName": "$s10DittoSwift0A18ConnectionPriorityO6normalyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "high", + "printedName": "high", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionPriority.Type) -> DittoSwift.DittoConnectionPriority", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionPriority", + "printedName": "DittoSwift.DittoConnectionPriority", + "usr": "s:10DittoSwift0A18ConnectionPriorityO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConnectionPriority.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionPriority", + "printedName": "DittoSwift.DittoConnectionPriority", + "usr": "s:10DittoSwift0A18ConnectionPriorityO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18ConnectionPriorityO4highyA2CmF", + "mangledName": "$s10DittoSwift0A18ConnectionPriorityO4highyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoConnectionPriority?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionPriority", + "printedName": "DittoSwift.DittoConnectionPriority", + "usr": "s:10DittoSwift0A18ConnectionPriorityO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A18ConnectionPriorityO8rawValueACSgSi_tcfc", + "mangledName": "$s10DittoSwift0A18ConnectionPriorityO8rawValueACSgSi_tcfc", + "moduleName": "DittoSwift", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A18ConnectionPriorityO8rawValueSivp", + "mangledName": "$s10DittoSwift0A18ConnectionPriorityO8rawValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A18ConnectionPriorityO8rawValueSivg", + "mangledName": "$s10DittoSwift0A18ConnectionPriorityO8rawValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A18ConnectionPriorityO", + "mangledName": "$s10DittoSwift0A18ConnectionPriorityO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "enumRawTypeName": "Int", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoTransportCondition", + "printedName": "DittoTransportCondition", + "children": [ + { + "kind": "Var", + "name": "Unknown", + "printedName": "Unknown", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO7UnknownyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO7UnknownyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "Ok", + "printedName": "Ok", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO2OkyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO2OkyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "GenericFailure", + "printedName": "GenericFailure", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO14GenericFailureyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO14GenericFailureyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "AppInBackground", + "printedName": "AppInBackground", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO15AppInBackgroundyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO15AppInBackgroundyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "MdnsFailure", + "printedName": "MdnsFailure", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO11MdnsFailureyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO11MdnsFailureyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "TcpListenFailure", + "printedName": "TcpListenFailure", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO16TcpListenFailureyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO16TcpListenFailureyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "NoBleCentralPermission", + "printedName": "NoBleCentralPermission", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO22NoBleCentralPermissionyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO22NoBleCentralPermissionyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "NoBlePeripheralPermission", + "printedName": "NoBlePeripheralPermission", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO25NoBlePeripheralPermissionyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO25NoBlePeripheralPermissionyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "CannotEstablishConnection", + "printedName": "CannotEstablishConnection", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO25CannotEstablishConnectionyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO25CannotEstablishConnectionyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "BleDisabled", + "printedName": "BleDisabled", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO11BleDisabledyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO11BleDisabledyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "NoBleHardware", + "printedName": "NoBleHardware", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO13NoBleHardwareyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO13NoBleHardwareyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "WifiDisabled", + "printedName": "WifiDisabled", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO12WifiDisabledyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO12WifiDisabledyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "TemporarilyUnavailable", + "printedName": "TemporarilyUnavailable", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransportCondition.Type) -> DittoSwift.DittoTransportCondition", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoTransportCondition.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A18TransportConditionO22TemporarilyUnavailableyA2CmF", + "mangledName": "$s10DittoSwift0A18TransportConditionO22TemporarilyUnavailableyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A18TransportConditionO11descriptionSSvp", + "mangledName": "$s10DittoSwift0A18TransportConditionO11descriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A18TransportConditionO11descriptionSSvg", + "mangledName": "$s10DittoSwift0A18TransportConditionO11descriptionSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoTransportCondition?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A18TransportConditionO8rawValueACSgs6UInt32V_tcfc", + "mangledName": "$s10DittoSwift0A18TransportConditionO8rawValueACSgs6UInt32V_tcfc", + "moduleName": "DittoSwift", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A18TransportConditionO8rawValues6UInt32Vvp", + "mangledName": "$s10DittoSwift0A18TransportConditionO8rawValues6UInt32Vvp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A18TransportConditionO8rawValues6UInt32Vvg", + "mangledName": "$s10DittoSwift0A18TransportConditionO8rawValues6UInt32Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A18TransportConditionO", + "mangledName": "$s10DittoSwift0A18TransportConditionO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "enumRawTypeName": "UInt32", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoConditionSource", + "printedName": "DittoConditionSource", + "children": [ + { + "kind": "Var", + "name": "Bluetooth", + "printedName": "Bluetooth", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConditionSource.Type) -> DittoSwift.DittoConditionSource", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConditionSource.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A15ConditionSourceO9BluetoothyA2CmF", + "mangledName": "$s10DittoSwift0A15ConditionSourceO9BluetoothyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "Tcp", + "printedName": "Tcp", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConditionSource.Type) -> DittoSwift.DittoConditionSource", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConditionSource.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A15ConditionSourceO3TcpyA2CmF", + "mangledName": "$s10DittoSwift0A15ConditionSourceO3TcpyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "Awdl", + "printedName": "Awdl", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConditionSource.Type) -> DittoSwift.DittoConditionSource", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConditionSource.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A15ConditionSourceO4AwdlyA2CmF", + "mangledName": "$s10DittoSwift0A15ConditionSourceO4AwdlyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "Mdns", + "printedName": "Mdns", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConditionSource.Type) -> DittoSwift.DittoConditionSource", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConditionSource.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A15ConditionSourceO4MdnsyA2CmF", + "mangledName": "$s10DittoSwift0A15ConditionSourceO4MdnsyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15ConditionSourceO11descriptionSSvp", + "mangledName": "$s10DittoSwift0A15ConditionSourceO11descriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15ConditionSourceO11descriptionSSvg", + "mangledName": "$s10DittoSwift0A15ConditionSourceO11descriptionSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoConditionSource?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A15ConditionSourceO8rawValueACSgs6UInt32V_tcfc", + "mangledName": "$s10DittoSwift0A15ConditionSourceO8rawValueACSgs6UInt32V_tcfc", + "moduleName": "DittoSwift", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15ConditionSourceO8rawValues6UInt32Vvp", + "mangledName": "$s10DittoSwift0A15ConditionSourceO8rawValues6UInt32Vvp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15ConditionSourceO8rawValues6UInt32Vvg", + "mangledName": "$s10DittoSwift0A15ConditionSourceO8rawValues6UInt32Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A15ConditionSourceO", + "mangledName": "$s10DittoSwift0A15ConditionSourceO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "enumRawTypeName": "UInt32", + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoStoreObserver", + "printedName": "DittoStoreObserver", + "children": [ + { + "kind": "Var", + "name": "ditto", + "printedName": "ditto", + "children": [ + { + "kind": "TypeNominal", + "name": "WeakStorage", + "printedName": "DittoSwift.Ditto?" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13StoreObserverC5dittoAA0A0CSgvp", + "mangledName": "$s10DittoSwift0A13StoreObserverC5dittoAA0A0CSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "ReferenceOwnership", + "SetterAccess", + "AccessControl", + "RawDocComment" + ], + "ownership": 1, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.Ditto?", + "children": [ + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13StoreObserverC5dittoAA0A0CSgvg", + "mangledName": "$s10DittoSwift0A13StoreObserverC5dittoAA0A0CSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "queryString", + "printedName": "queryString", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13StoreObserverC11queryStringSSvp", + "mangledName": "$s10DittoSwift0A13StoreObserverC11queryStringSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13StoreObserverC11queryStringSSvg", + "mangledName": "$s10DittoSwift0A13StoreObserverC11queryStringSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "queryArguments", + "printedName": "queryArguments", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13StoreObserverC14queryArgumentsSDySSypSgGSgvp", + "mangledName": "$s10DittoSwift0A13StoreObserverC14queryArgumentsSDySSypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13StoreObserverC14queryArgumentsSDySSypSgGSgvg", + "mangledName": "$s10DittoSwift0A13StoreObserverC14queryArgumentsSDySSypSgGSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "isCancelled", + "printedName": "isCancelled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13StoreObserverC11isCancelledSbvp", + "mangledName": "$s10DittoSwift0A13StoreObserverC11isCancelledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13StoreObserverC11isCancelledSbvg", + "mangledName": "$s10DittoSwift0A13StoreObserverC11isCancelledSbvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "cancel", + "printedName": "cancel()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13StoreObserverC6cancelyyF", + "mangledName": "$s10DittoSwift0A13StoreObserverC6cancelyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13StoreObserverC4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A13StoreObserverC4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13StoreObserverC9hashValueSivp", + "mangledName": "$s10DittoSwift0A13StoreObserverC9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13StoreObserverC9hashValueSivg", + "mangledName": "$s10DittoSwift0A13StoreObserverC9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoStoreObserver", + "printedName": "DittoSwift.DittoStoreObserver", + "usr": "s:10DittoSwift0A13StoreObserverC" + }, + { + "kind": "TypeNominal", + "name": "DittoStoreObserver", + "printedName": "DittoSwift.DittoStoreObserver", + "usr": "s:10DittoSwift0A13StoreObserverC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13StoreObserverC2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A13StoreObserverC2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A13StoreObserverC", + "mangledName": "$s10DittoSwift0A13StoreObserverC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoDocumentPath", + "printedName": "DittoDocumentPath", + "children": [ + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentPath", + "printedName": "DittoSwift.DittoDocumentPath", + "usr": "s:10DittoSwift0A12DocumentPathV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A12DocumentPathVyACSScip", + "mangledName": "$s10DittoSwift0A12DocumentPathVyACSScip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentPath", + "printedName": "DittoSwift.DittoDocumentPath", + "usr": "s:10DittoSwift0A12DocumentPathV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathVyACSScig", + "mangledName": "$s10DittoSwift0A12DocumentPathVyACSScig", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentPath", + "printedName": "DittoSwift.DittoDocumentPath", + "usr": "s:10DittoSwift0A12DocumentPathV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A12DocumentPathVyACSicip", + "mangledName": "$s10DittoSwift0A12DocumentPathVyACSicip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentPath", + "printedName": "DittoSwift.DittoDocumentPath", + "usr": "s:10DittoSwift0A12DocumentPathV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathVyACSicig", + "mangledName": "$s10DittoSwift0A12DocumentPathVyACSicig", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV5valueypSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV5valueypSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV5valueypSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV5valueypSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "string", + "printedName": "string", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV6stringSSSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV6stringSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV6stringSSSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV6stringSSSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "stringValue", + "printedName": "stringValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV11stringValueSSvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV11stringValueSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV11stringValueSSvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV11stringValueSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "bool", + "printedName": "bool", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV4boolSbSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV4boolSbSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV4boolSbSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV4boolSbSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "boolValue", + "printedName": "boolValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV9boolValueSbvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV9boolValueSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV9boolValueSbvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV9boolValueSbvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "int", + "printedName": "int", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV3intSiSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV3intSiSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV3intSiSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV3intSiSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "intValue", + "printedName": "intValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV8intValueSivp", + "mangledName": "$s10DittoSwift0A12DocumentPathV8intValueSivp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV8intValueSivg", + "mangledName": "$s10DittoSwift0A12DocumentPathV8intValueSivg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uint", + "printedName": "uint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV4uintSuSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV4uintSuSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV4uintSuSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV4uintSuSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uintValue", + "printedName": "uintValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV9uintValueSuvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV9uintValueSuvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV9uintValueSuvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV9uintValueSuvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "float", + "printedName": "float", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV5floatSfSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV5floatSfSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV5floatSfSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV5floatSfSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "floatValue", + "printedName": "floatValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV10floatValueSfvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV10floatValueSfvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV10floatValueSfvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV10floatValueSfvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "double", + "printedName": "double", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV6doubleSdSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV6doubleSdSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV6doubleSdSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV6doubleSdSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "doubleValue", + "printedName": "doubleValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV11doubleValueSdvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV11doubleValueSdvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV11doubleValueSdvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV11doubleValueSdvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "array", + "printedName": "array", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV5arraySayypSgGSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV5arraySayypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV5arraySayypSgGSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV5arraySayypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "arrayValue", + "printedName": "arrayValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV10arrayValueSayypSgGvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV10arrayValueSayypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV10arrayValueSayypSgGvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV10arrayValueSayypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionary", + "printedName": "dictionary", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV10dictionarySDySSypSgGSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV10dictionarySDySSypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV10dictionarySDySSypSgGSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV10dictionarySDySSypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionaryValue", + "printedName": "dictionaryValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV15dictionaryValueSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV15dictionaryValueSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV15dictionaryValueSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV15dictionaryValueSDySSypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "attachmentToken", + "printedName": "attachmentToken", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoAttachmentToken?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentToken", + "printedName": "DittoSwift.DittoAttachmentToken", + "usr": "s:10DittoSwift0A15AttachmentTokenC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV15attachmentTokenAA0a10AttachmentF0CSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV15attachmentTokenAA0a10AttachmentF0CSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoAttachmentToken?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentToken", + "printedName": "DittoSwift.DittoAttachmentToken", + "usr": "s:10DittoSwift0A15AttachmentTokenC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV15attachmentTokenAA0a10AttachmentF0CSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV15attachmentTokenAA0a10AttachmentF0CSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "counter", + "printedName": "counter", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoCounter?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCounter", + "printedName": "DittoSwift.DittoCounter", + "usr": "s:10DittoSwift0A7CounterC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV7counterAA0A7CounterCSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV7counterAA0A7CounterCSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoCounter?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCounter", + "printedName": "DittoSwift.DittoCounter", + "usr": "s:10DittoSwift0A7CounterC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV7counterAA0A7CounterCSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV7counterAA0A7CounterCSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "register", + "printedName": "register", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoRegister?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoRegister", + "printedName": "DittoSwift.DittoRegister", + "usr": "s:10DittoSwift0A8RegisterC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12DocumentPathV8registerAA0A8RegisterCSgvp", + "mangledName": "$s10DittoSwift0A12DocumentPathV8registerAA0A8RegisterCSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoRegister?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoRegister", + "printedName": "DittoSwift.DittoRegister", + "usr": "s:10DittoSwift0A8RegisterC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12DocumentPathV8registerAA0A8RegisterCSgvg", + "mangledName": "$s10DittoSwift0A12DocumentPathV8registerAA0A8RegisterCSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A12DocumentPathV", + "mangledName": "$s10DittoSwift0A12DocumentPathV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoDiff", + "printedName": "DittoDiff", + "children": [ + { + "kind": "Var", + "name": "insertions", + "printedName": "insertions", + "children": [ + { + "kind": "TypeNominal", + "name": "IndexSet", + "printedName": "Foundation.IndexSet", + "usr": "s:10Foundation8IndexSetV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4DiffV10insertions10Foundation8IndexSetVvp", + "mangledName": "$s10DittoSwift0A4DiffV10insertions10Foundation8IndexSetVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "IndexSet", + "printedName": "Foundation.IndexSet", + "usr": "s:10Foundation8IndexSetV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4DiffV10insertions10Foundation8IndexSetVvg", + "mangledName": "$s10DittoSwift0A4DiffV10insertions10Foundation8IndexSetVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "deletions", + "printedName": "deletions", + "children": [ + { + "kind": "TypeNominal", + "name": "IndexSet", + "printedName": "Foundation.IndexSet", + "usr": "s:10Foundation8IndexSetV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4DiffV9deletions10Foundation8IndexSetVvp", + "mangledName": "$s10DittoSwift0A4DiffV9deletions10Foundation8IndexSetVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "IndexSet", + "printedName": "Foundation.IndexSet", + "usr": "s:10Foundation8IndexSetV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4DiffV9deletions10Foundation8IndexSetVvg", + "mangledName": "$s10DittoSwift0A4DiffV9deletions10Foundation8IndexSetVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "updates", + "printedName": "updates", + "children": [ + { + "kind": "TypeNominal", + "name": "IndexSet", + "printedName": "Foundation.IndexSet", + "usr": "s:10Foundation8IndexSetV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4DiffV7updates10Foundation8IndexSetVvp", + "mangledName": "$s10DittoSwift0A4DiffV7updates10Foundation8IndexSetVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "IndexSet", + "printedName": "Foundation.IndexSet", + "usr": "s:10Foundation8IndexSetV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4DiffV7updates10Foundation8IndexSetVvg", + "mangledName": "$s10DittoSwift0A4DiffV7updates10Foundation8IndexSetVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "moves", + "printedName": "moves", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[(from: Swift.Int, to: Swift.Int)]", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(from: Swift.Int, to: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4DiffV5movesSaySi4from_Si2totGvp", + "mangledName": "$s10DittoSwift0A4DiffV5movesSaySi4from_Si2totGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[(from: Swift.Int, to: Swift.Int)]", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(from: Swift.Int, to: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4DiffV5movesSaySi4from_Si2totGvg", + "mangledName": "$s10DittoSwift0A4DiffV5movesSaySi4from_Si2totGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDiff", + "printedName": "DittoSwift.DittoDiff", + "usr": "s:10DittoSwift0A4DiffV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A4DiffV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A4DiffV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoDiff", + "printedName": "DittoSwift.DittoDiff", + "usr": "s:10DittoSwift0A4DiffV" + }, + { + "kind": "TypeNominal", + "name": "DittoDiff", + "printedName": "DittoSwift.DittoDiff", + "usr": "s:10DittoSwift0A4DiffV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A4DiffV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A4DiffV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A4DiffV", + "mangledName": "$s10DittoSwift0A4DiffV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Combine", + "printedName": "Combine", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "DittoRemotePeerV2", + "printedName": "DittoRemotePeerV2", + "children": [ + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12RemotePeerV2C2ids6UInt32Vvp", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C2ids6UInt32Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12RemotePeerV2C2ids6UInt32Vvg", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C2ids6UInt32Vvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "address", + "printedName": "address", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12RemotePeerV2C7addressAA0A7AddressVvp", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C7addressAA0A7AddressVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12RemotePeerV2C7addressAA0A7AddressVvg", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C7addressAA0A7AddressVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "networkID", + "printedName": "networkID", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12RemotePeerV2C9networkIDs6UInt32Vvp", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C9networkIDs6UInt32Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12RemotePeerV2C9networkIDs6UInt32Vvg", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C9networkIDs6UInt32Vvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "deviceName", + "printedName": "deviceName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12RemotePeerV2C10deviceNameSSvp", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C10deviceNameSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12RemotePeerV2C10deviceNameSSvg", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C10deviceNameSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "os", + "printedName": "os", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12RemotePeerV2C2osSSvp", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C2osSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12RemotePeerV2C2osSSvg", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C2osSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "queryOverlapGroup", + "printedName": "queryOverlapGroup", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12RemotePeerV2C17queryOverlapGroups5UInt8Vvp", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C17queryOverlapGroups5UInt8Vvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12RemotePeerV2C17queryOverlapGroups5UInt8Vvg", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C17queryOverlapGroups5UInt8Vvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoRemotePeerV2", + "printedName": "DittoSwift.DittoRemotePeerV2", + "usr": "s:10DittoSwift0A12RemotePeerV2C" + }, + { + "kind": "TypeNominal", + "name": "DittoRemotePeerV2", + "printedName": "DittoSwift.DittoRemotePeerV2", + "usr": "s:10DittoSwift0A12RemotePeerV2C" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A12RemotePeerV2C2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A12RemotePeerV2C4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12RemotePeerV2C9hashValueSivp", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12RemotePeerV2C9hashValueSivg", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A12RemotePeerV2C", + "mangledName": "$s10DittoSwift0A12RemotePeerV2C", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Identifiable", + "printedName": "Identifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "ID", + "printedName": "ID", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:s12IdentifiableP", + "mangledName": "$ss12IdentifiableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "DiskUsageItem", + "printedName": "DiskUsageItem", + "children": [ + { + "kind": "Var", + "name": "type", + "printedName": "type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift13DiskUsageItemV4typeAA0A14FileSystemTypeOvp", + "mangledName": "$s10DittoSwift13DiskUsageItemV4typeAA0A14FileSystemTypeOvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift13DiskUsageItemV4typeAA0A14FileSystemTypeOvg", + "mangledName": "$s10DittoSwift13DiskUsageItemV4typeAA0A14FileSystemTypeOvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "path", + "printedName": "path", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift13DiskUsageItemV4pathSSvp", + "mangledName": "$s10DittoSwift13DiskUsageItemV4pathSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift13DiskUsageItemV4pathSSvg", + "mangledName": "$s10DittoSwift13DiskUsageItemV4pathSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "sizeInBytes", + "printedName": "sizeInBytes", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift13DiskUsageItemV11sizeInBytesSivp", + "mangledName": "$s10DittoSwift13DiskUsageItemV11sizeInBytesSivp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift13DiskUsageItemV11sizeInBytesSivg", + "mangledName": "$s10DittoSwift13DiskUsageItemV11sizeInBytesSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "childItems", + "printedName": "childItems", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DiskUsageItem]", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsageItem", + "printedName": "DittoSwift.DiskUsageItem", + "usr": "s:10DittoSwift13DiskUsageItemV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift13DiskUsageItemV10childItemsSayACGvp", + "mangledName": "$s10DittoSwift13DiskUsageItemV10childItemsSayACGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DiskUsageItem]", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsageItem", + "printedName": "DittoSwift.DiskUsageItem", + "usr": "s:10DittoSwift13DiskUsageItemV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift13DiskUsageItemV10childItemsSayACGvg", + "mangledName": "$s10DittoSwift13DiskUsageItemV10childItemsSayACGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(type:path:sizeInBytes:children:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsageItem", + "printedName": "DittoSwift.DiskUsageItem", + "usr": "s:10DittoSwift13DiskUsageItemV" + }, + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DiskUsageItem]", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsageItem", + "printedName": "DittoSwift.DiskUsageItem", + "usr": "s:10DittoSwift13DiskUsageItemV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift13DiskUsageItemV4type4path11sizeInBytes8childrenAcA0A14FileSystemTypeO_SSSiSayACGtcfc", + "mangledName": "$s10DittoSwift13DiskUsageItemV4type4path11sizeInBytes8childrenAcA0A14FileSystemTypeO_SSSiSayACGtcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DiskUsageItem", + "printedName": "DittoSwift.DiskUsageItem", + "usr": "s:10DittoSwift13DiskUsageItemV" + }, + { + "kind": "TypeNominal", + "name": "DiskUsageItem", + "printedName": "DittoSwift.DiskUsageItem", + "usr": "s:10DittoSwift13DiskUsageItemV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift13DiskUsageItemV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift13DiskUsageItemV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift13DiskUsageItemV9hashValueSivp", + "mangledName": "$s10DittoSwift13DiskUsageItemV9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift13DiskUsageItemV9hashValueSivg", + "mangledName": "$s10DittoSwift13DiskUsageItemV9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift13DiskUsageItemV4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift13DiskUsageItemV4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift13DiskUsageItemV11descriptionSSvp", + "mangledName": "$s10DittoSwift13DiskUsageItemV11descriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift13DiskUsageItemV11descriptionSSvg", + "mangledName": "$s10DittoSwift13DiskUsageItemV11descriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift13DiskUsageItemV", + "mangledName": "$s10DittoSwift13DiskUsageItemV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoWriteStrategy", + "printedName": "DittoWriteStrategy", + "children": [ + { + "kind": "Var", + "name": "merge", + "printedName": "merge", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoWriteStrategy.Type) -> DittoSwift.DittoWriteStrategy", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "usr": "s:10DittoSwift0A13WriteStrategyO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoWriteStrategy.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "usr": "s:10DittoSwift0A13WriteStrategyO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A13WriteStrategyO5mergeyA2CmF", + "mangledName": "$s10DittoSwift0A13WriteStrategyO5mergeyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "insertIfAbsent", + "printedName": "insertIfAbsent", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoWriteStrategy.Type) -> DittoSwift.DittoWriteStrategy", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "usr": "s:10DittoSwift0A13WriteStrategyO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoWriteStrategy.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "usr": "s:10DittoSwift0A13WriteStrategyO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A13WriteStrategyO14insertIfAbsentyA2CmF", + "mangledName": "$s10DittoSwift0A13WriteStrategyO14insertIfAbsentyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "insertDefaultIfAbsent", + "printedName": "insertDefaultIfAbsent", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoWriteStrategy.Type) -> DittoSwift.DittoWriteStrategy", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "usr": "s:10DittoSwift0A13WriteStrategyO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoWriteStrategy.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "usr": "s:10DittoSwift0A13WriteStrategyO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A13WriteStrategyO21insertDefaultIfAbsentyA2CmF", + "mangledName": "$s10DittoSwift0A13WriteStrategyO21insertDefaultIfAbsentyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "updateDifferentValues", + "printedName": "updateDifferentValues", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoWriteStrategy.Type) -> DittoSwift.DittoWriteStrategy", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "usr": "s:10DittoSwift0A13WriteStrategyO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoWriteStrategy.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "usr": "s:10DittoSwift0A13WriteStrategyO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A13WriteStrategyO21updateDifferentValuesyA2CmF", + "mangledName": "$s10DittoSwift0A13WriteStrategyO21updateDifferentValuesyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "usr": "s:10DittoSwift0A13WriteStrategyO" + }, + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "usr": "s:10DittoSwift0A13WriteStrategyO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13WriteStrategyO2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A13WriteStrategyO2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13WriteStrategyO9hashValueSivp", + "mangledName": "$s10DittoSwift0A13WriteStrategyO9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13WriteStrategyO9hashValueSivg", + "mangledName": "$s10DittoSwift0A13WriteStrategyO9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13WriteStrategyO4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A13WriteStrategyO4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A13WriteStrategyO", + "mangledName": "$s10DittoSwift0A13WriteStrategyO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoLiveQueryEvent", + "printedName": "DittoLiveQueryEvent", + "children": [ + { + "kind": "Var", + "name": "initial", + "printedName": "initial", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoLiveQueryEvent.Type) -> DittoSwift.DittoLiveQueryEvent", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQueryEvent", + "printedName": "DittoSwift.DittoLiveQueryEvent", + "usr": "s:10DittoSwift0A14LiveQueryEventO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoLiveQueryEvent.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQueryEvent", + "printedName": "DittoSwift.DittoLiveQueryEvent", + "usr": "s:10DittoSwift0A14LiveQueryEventO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A14LiveQueryEventO7initialyA2CmF", + "mangledName": "$s10DittoSwift0A14LiveQueryEventO7initialyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "update", + "printedName": "update", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoLiveQueryEvent.Type) -> (DittoSwift.DittoLiveQueryUpdate) -> DittoSwift.DittoLiveQueryEvent", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoLiveQueryUpdate) -> DittoSwift.DittoLiveQueryEvent", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQueryEvent", + "printedName": "DittoSwift.DittoLiveQueryEvent", + "usr": "s:10DittoSwift0A14LiveQueryEventO" + }, + { + "kind": "TypeNominal", + "name": "DittoLiveQueryUpdate", + "printedName": "DittoSwift.DittoLiveQueryUpdate", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV" + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoLiveQueryEvent.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQueryEvent", + "printedName": "DittoSwift.DittoLiveQueryEvent", + "usr": "s:10DittoSwift0A14LiveQueryEventO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A14LiveQueryEventO6updateyAcA0acD6UpdateVcACmF", + "mangledName": "$s10DittoSwift0A14LiveQueryEventO6updateyAcA0acD6UpdateVcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(documents:)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A14LiveQueryEventO4hash9documentss6UInt64VSayAA0A8DocumentCG_tF", + "mangledName": "$s10DittoSwift0A14LiveQueryEventO4hash9documentss6UInt64VSayAA0A8DocumentCG_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "hashMnemonic", + "printedName": "hashMnemonic(documents:)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A14LiveQueryEventO12hashMnemonic9documentsSSSayAA0A8DocumentCG_tF", + "mangledName": "$s10DittoSwift0A14LiveQueryEventO12hashMnemonic9documentsSSSayAA0A8DocumentCG_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14LiveQueryEventO11descriptionSSvp", + "mangledName": "$s10DittoSwift0A14LiveQueryEventO11descriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14LiveQueryEventO11descriptionSSvg", + "mangledName": "$s10DittoSwift0A14LiveQueryEventO11descriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "debugDescription", + "printedName": "debugDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14LiveQueryEventO16debugDescriptionSSvp", + "mangledName": "$s10DittoSwift0A14LiveQueryEventO16debugDescriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14LiveQueryEventO16debugDescriptionSSvg", + "mangledName": "$s10DittoSwift0A14LiveQueryEventO16debugDescriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A14LiveQueryEventO", + "mangledName": "$s10DittoSwift0A14LiveQueryEventO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoLiveQueryUpdate", + "printedName": "DittoLiveQueryUpdate", + "children": [ + { + "kind": "Var", + "name": "oldDocuments", + "printedName": "oldDocuments", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV12oldDocumentsSayAA0A8DocumentCGvp", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV12oldDocumentsSayAA0A8DocumentCGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV12oldDocumentsSayAA0A8DocumentCGvg", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV12oldDocumentsSayAA0A8DocumentCGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "insertions", + "printedName": "insertions", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV10insertionsSaySiGvp", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV10insertionsSaySiGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV10insertionsSaySiGvg", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV10insertionsSaySiGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "deletions", + "printedName": "deletions", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV9deletionsSaySiGvp", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV9deletionsSaySiGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV9deletionsSaySiGvg", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV9deletionsSaySiGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "updates", + "printedName": "updates", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV7updatesSaySiGvp", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV7updatesSaySiGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.Int]", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV7updatesSaySiGvg", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV7updatesSaySiGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "moves", + "printedName": "moves", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[(from: Swift.Int, to: Swift.Int)]", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(from: Swift.Int, to: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV5movesSaySi4from_Si2totGvp", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV5movesSaySi4from_Si2totGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[(from: Swift.Int, to: Swift.Int)]", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(from: Swift.Int, to: Swift.Int)", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV5movesSaySi4from_Si2totGvg", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV5movesSaySi4from_Si2totGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A15LiveQueryUpdateV", + "mangledName": "$s10DittoSwift0A15LiveQueryUpdateV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoConnection", + "printedName": "DittoConnection", + "children": [ + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10ConnectionV2idSSvp", + "mangledName": "$s10DittoSwift0A10ConnectionV2idSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV2idSSvg", + "mangledName": "$s10DittoSwift0A10ConnectionV2idSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV2idSSvs", + "mangledName": "$s10DittoSwift0A10ConnectionV2idSSvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV2idSSvM", + "mangledName": "$s10DittoSwift0A10ConnectionV2idSSvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "type", + "printedName": "type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10ConnectionV4typeAA0aC4TypeOvp", + "mangledName": "$s10DittoSwift0A10ConnectionV4typeAA0aC4TypeOvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV4typeAA0aC4TypeOvg", + "mangledName": "$s10DittoSwift0A10ConnectionV4typeAA0aC4TypeOvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV4typeAA0aC4TypeOvs", + "mangledName": "$s10DittoSwift0A10ConnectionV4typeAA0aC4TypeOvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV4typeAA0aC4TypeOvM", + "mangledName": "$s10DittoSwift0A10ConnectionV4typeAA0aC4TypeOvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "peer1", + "printedName": "peer1", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10ConnectionV5peer110Foundation4DataVvp", + "mangledName": "$s10DittoSwift0A10ConnectionV5peer110Foundation4DataVvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV5peer110Foundation4DataVvg", + "mangledName": "$s10DittoSwift0A10ConnectionV5peer110Foundation4DataVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV5peer110Foundation4DataVvs", + "mangledName": "$s10DittoSwift0A10ConnectionV5peer110Foundation4DataVvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV5peer110Foundation4DataVvM", + "mangledName": "$s10DittoSwift0A10ConnectionV5peer110Foundation4DataVvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "peer2", + "printedName": "peer2", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10ConnectionV5peer210Foundation4DataVvp", + "mangledName": "$s10DittoSwift0A10ConnectionV5peer210Foundation4DataVvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV5peer210Foundation4DataVvg", + "mangledName": "$s10DittoSwift0A10ConnectionV5peer210Foundation4DataVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV5peer210Foundation4DataVvs", + "mangledName": "$s10DittoSwift0A10ConnectionV5peer210Foundation4DataVvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV5peer210Foundation4DataVvM", + "mangledName": "$s10DittoSwift0A10ConnectionV5peer210Foundation4DataVvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "peerKeyString1", + "printedName": "peerKeyString1", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10ConnectionV14peerKeyString1SSvp", + "mangledName": "$s10DittoSwift0A10ConnectionV14peerKeyString1SSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV14peerKeyString1SSvg", + "mangledName": "$s10DittoSwift0A10ConnectionV14peerKeyString1SSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV14peerKeyString1SSvs", + "mangledName": "$s10DittoSwift0A10ConnectionV14peerKeyString1SSvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV14peerKeyString1SSvM", + "mangledName": "$s10DittoSwift0A10ConnectionV14peerKeyString1SSvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "peerKeyString2", + "printedName": "peerKeyString2", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10ConnectionV14peerKeyString2SSvp", + "mangledName": "$s10DittoSwift0A10ConnectionV14peerKeyString2SSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV14peerKeyString2SSvg", + "mangledName": "$s10DittoSwift0A10ConnectionV14peerKeyString2SSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV14peerKeyString2SSvs", + "mangledName": "$s10DittoSwift0A10ConnectionV14peerKeyString2SSvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV14peerKeyString2SSvM", + "mangledName": "$s10DittoSwift0A10ConnectionV14peerKeyString2SSvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "approximateDistanceInMeters", + "printedName": "approximateDistanceInMeters", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10ConnectionV27approximateDistanceInMetersSdSgvp", + "mangledName": "$s10DittoSwift0A10ConnectionV27approximateDistanceInMetersSdSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV27approximateDistanceInMetersSdSgvg", + "mangledName": "$s10DittoSwift0A10ConnectionV27approximateDistanceInMetersSdSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV27approximateDistanceInMetersSdSgvs", + "mangledName": "$s10DittoSwift0A10ConnectionV27approximateDistanceInMetersSdSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV27approximateDistanceInMetersSdSgvM", + "mangledName": "$s10DittoSwift0A10ConnectionV27approximateDistanceInMetersSdSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(id:type:peer1:peer2:approximateDistanceInMeters:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10ConnectionV2id4type5peer15peer227approximateDistanceInMetersACSS_AA0aC4TypeO10Foundation4DataVAMSdSgtcfc", + "mangledName": "$s10DittoSwift0A10ConnectionV2id4type5peer15peer227approximateDistanceInMetersACSS_AA0aC4TypeO10Foundation4DataVAMSdSgtcfc", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(id:type:peerKeyString1:peerKeyString2:approximateDistanceInMeters:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10ConnectionV2id4type14peerKeyString10fG7String227approximateDistanceInMetersACSS_AA0aC4TypeOS2SSdSgtcfc", + "mangledName": "$s10DittoSwift0A10ConnectionV2id4type14peerKeyString10fG7String227approximateDistanceInMetersACSS_AA0aC4TypeOS2SSdSgtcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + }, + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10ConnectionV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A10ConnectionV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10ConnectionV9hashValueSivp", + "mangledName": "$s10DittoSwift0A10ConnectionV9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10ConnectionV9hashValueSivg", + "mangledName": "$s10DittoSwift0A10ConnectionV9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10ConnectionV4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A10ConnectionV4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10ConnectionV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A10ConnectionV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10ConnectionV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A10ConnectionV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "throwing": true, + "init_kind": "Designated" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A10ConnectionV", + "mangledName": "$s10DittoSwift0A10ConnectionV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Identifiable", + "printedName": "Identifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "ID", + "printedName": "ID", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s12IdentifiableP", + "mangledName": "$ss12IdentifiableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "Ditto", + "printedName": "Ditto", + "children": [ + { + "kind": "Var", + "name": "version", + "printedName": "version", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C7versionSSvpZ", + "mangledName": "$s10DittoSwift0A0C7versionSSvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C7versionSSvgZ", + "mangledName": "$s10DittoSwift0A0C7versionSSvgZ", + "moduleName": "DittoSwift", + "static": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "delegate", + "printedName": "delegate", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(any DittoSwift.DittoDelegate)?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDelegate", + "printedName": "any DittoSwift.DittoDelegate", + "usr": "s:10DittoSwift0A8DelegateP" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C8delegateAA0A8Delegate_pSgvp", + "mangledName": "$s10DittoSwift0A0C8delegateAA0A8Delegate_pSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(any DittoSwift.DittoDelegate)?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDelegate", + "printedName": "any DittoSwift.DittoDelegate", + "usr": "s:10DittoSwift0A8DelegateP" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C8delegateAA0A8Delegate_pSgvg", + "mangledName": "$s10DittoSwift0A0C8delegateAA0A8Delegate_pSgvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(any DittoSwift.DittoDelegate)?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDelegate", + "printedName": "any DittoSwift.DittoDelegate", + "usr": "s:10DittoSwift0A8DelegateP" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C8delegateAA0A8Delegate_pSgvs", + "mangledName": "$s10DittoSwift0A0C8delegateAA0A8Delegate_pSgvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C8delegateAA0A8Delegate_pSgvM", + "mangledName": "$s10DittoSwift0A0C8delegateAA0A8Delegate_pSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "deviceName", + "printedName": "deviceName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C10deviceNameSSvp", + "mangledName": "$s10DittoSwift0A0C10deviceNameSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C10deviceNameSSvg", + "mangledName": "$s10DittoSwift0A0C10deviceNameSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C10deviceNameSSvs", + "mangledName": "$s10DittoSwift0A0C10deviceNameSSvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C10deviceNameSSvM", + "mangledName": "$s10DittoSwift0A0C10deviceNameSSvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "siteID", + "printedName": "siteID", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C6siteIDs6UInt64Vvp", + "mangledName": "$s10DittoSwift0A0C6siteIDs6UInt64Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C6siteIDs6UInt64Vvg", + "mangledName": "$s10DittoSwift0A0C6siteIDs6UInt64Vvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "persistenceDirectory", + "printedName": "persistenceDirectory", + "children": [ + { + "kind": "TypeNominal", + "name": "URL", + "printedName": "Foundation.URL", + "usr": "s:10Foundation3URLV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C20persistenceDirectory10Foundation3URLVvp", + "mangledName": "$s10DittoSwift0A0C20persistenceDirectory10Foundation3URLVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "URL", + "printedName": "Foundation.URL", + "usr": "s:10Foundation3URLV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C20persistenceDirectory10Foundation3URLVvg", + "mangledName": "$s10DittoSwift0A0C20persistenceDirectory10Foundation3URLVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "appID", + "printedName": "appID", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C5appIDSSvp", + "mangledName": "$s10DittoSwift0A0C5appIDSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C5appIDSSvg", + "mangledName": "$s10DittoSwift0A0C5appIDSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "activated", + "printedName": "activated", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C9activatedSbvp", + "mangledName": "$s10DittoSwift0A0C9activatedSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C9activatedSbvg", + "mangledName": "$s10DittoSwift0A0C9activatedSbvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "isSyncActive", + "printedName": "isSyncActive", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C12isSyncActiveSbvp", + "mangledName": "$s10DittoSwift0A0C12isSyncActiveSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C12isSyncActiveSbvg", + "mangledName": "$s10DittoSwift0A0C12isSyncActiveSbvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "isEncrypted", + "printedName": "isEncrypted", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C11isEncryptedSbvp", + "mangledName": "$s10DittoSwift0A0C11isEncryptedSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C11isEncryptedSbvg", + "mangledName": "$s10DittoSwift0A0C11isEncryptedSbvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "auth", + "printedName": "auth", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoAuthenticator?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAuthenticator", + "printedName": "DittoSwift.DittoAuthenticator", + "usr": "s:10DittoSwift0A13AuthenticatorC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C4authAA0A13AuthenticatorCSgvp", + "mangledName": "$s10DittoSwift0A0C4authAA0A13AuthenticatorCSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoAuthenticator?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAuthenticator", + "printedName": "DittoSwift.DittoAuthenticator", + "usr": "s:10DittoSwift0A13AuthenticatorC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C4authAA0A13AuthenticatorCSgvg", + "mangledName": "$s10DittoSwift0A0C4authAA0A13AuthenticatorCSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "diskUsage", + "printedName": "diskUsage", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsage", + "printedName": "DittoSwift.DiskUsage", + "usr": "s:10DittoSwift9DiskUsageC" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C9diskUsageAA04DiskD0Cvp", + "mangledName": "$s10DittoSwift0A0C9diskUsageAA04DiskD0Cvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DiskUsage", + "printedName": "DittoSwift.DiskUsage", + "usr": "s:10DittoSwift9DiskUsageC" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C9diskUsageAA04DiskD0Cvg", + "mangledName": "$s10DittoSwift0A0C9diskUsageAA04DiskD0Cvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "store", + "printedName": "store", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoStore", + "printedName": "DittoSwift.DittoStore", + "usr": "s:10DittoSwift0A5StoreC" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C5storeAA0A5StoreCvp", + "mangledName": "$s10DittoSwift0A0C5storeAA0A5StoreCvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoStore", + "printedName": "DittoSwift.DittoStore", + "usr": "s:10DittoSwift0A5StoreC" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C5storeAA0A5StoreCvg", + "mangledName": "$s10DittoSwift0A0C5storeAA0A5StoreCvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "sync", + "printedName": "sync", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSync", + "printedName": "DittoSwift.DittoSync", + "usr": "s:10DittoSwift0A4SyncC" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C4syncAA0A4SyncCvp", + "mangledName": "$s10DittoSwift0A0C4syncAA0A4SyncCvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSync", + "printedName": "DittoSwift.DittoSync", + "usr": "s:10DittoSwift0A4SyncC" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C4syncAA0A4SyncCvg", + "mangledName": "$s10DittoSwift0A0C4syncAA0A4SyncCvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "presence", + "printedName": "presence", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPresence", + "printedName": "DittoSwift.DittoPresence", + "usr": "s:10DittoSwift0A8PresenceC" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C8presenceAA0A8PresenceCvp", + "mangledName": "$s10DittoSwift0A0C8presenceAA0A8PresenceCvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPresence", + "printedName": "DittoSwift.DittoPresence", + "usr": "s:10DittoSwift0A8PresenceC" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C8presenceAA0A8PresenceCvg", + "mangledName": "$s10DittoSwift0A0C8presenceAA0A8PresenceCvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "smallPeerInfo", + "printedName": "smallPeerInfo", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfo", + "printedName": "DittoSwift.DittoSmallPeerInfo", + "usr": "s:10DittoSwift0A13SmallPeerInfoC" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C13smallPeerInfoAA0a5SmalldE0Cvp", + "mangledName": "$s10DittoSwift0A0C13smallPeerInfoAA0a5SmalldE0Cvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfo", + "printedName": "DittoSwift.DittoSmallPeerInfo", + "usr": "s:10DittoSwift0A13SmallPeerInfoC" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C13smallPeerInfoAA0a5SmalldE0Cvg", + "mangledName": "$s10DittoSwift0A0C13smallPeerInfoAA0a5SmalldE0Cvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "experimental", + "printedName": "experimental", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoExperimental", + "printedName": "DittoSwift.DittoExperimental", + "usr": "s:10DittoSwift0A12ExperimentalC" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C12experimentalAA0A12ExperimentalCvp", + "mangledName": "$s10DittoSwift0A0C12experimentalAA0A12ExperimentalCvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoExperimental", + "printedName": "DittoSwift.DittoExperimental", + "usr": "s:10DittoSwift0A12ExperimentalC" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C12experimentalAA0A12ExperimentalCvg", + "mangledName": "$s10DittoSwift0A0C12experimentalAA0A12ExperimentalCvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "delegateEventQueue", + "printedName": "delegateEventQueue", + "children": [ + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "usr": "c:objc(cs)OS_dispatch_queue" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C18delegateEventQueueSo17OS_dispatch_queueCvp", + "mangledName": "$s10DittoSwift0A0C18delegateEventQueueSo17OS_dispatch_queueCvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "usr": "c:objc(cs)OS_dispatch_queue" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C18delegateEventQueueSo17OS_dispatch_queueCvg", + "mangledName": "$s10DittoSwift0A0C18delegateEventQueueSo17OS_dispatch_queueCvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "usr": "c:objc(cs)OS_dispatch_queue" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C18delegateEventQueueSo17OS_dispatch_queueCvs", + "mangledName": "$s10DittoSwift0A0C18delegateEventQueueSo17OS_dispatch_queueCvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C18delegateEventQueueSo17OS_dispatch_queueCvM", + "mangledName": "$s10DittoSwift0A0C18delegateEventQueueSo17OS_dispatch_queueCvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "transportConfig", + "printedName": "transportConfig", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportConfig", + "printedName": "DittoSwift.DittoTransportConfig", + "usr": "s:10DittoSwift0A15TransportConfigV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C15transportConfigAA0a9TransportD0Vvp", + "mangledName": "$s10DittoSwift0A0C15transportConfigAA0a9TransportD0Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportConfig", + "printedName": "DittoSwift.DittoTransportConfig", + "usr": "s:10DittoSwift0A15TransportConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C15transportConfigAA0a9TransportD0Vvg", + "mangledName": "$s10DittoSwift0A0C15transportConfigAA0a9TransportD0Vvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoTransportConfig", + "printedName": "DittoSwift.DittoTransportConfig", + "usr": "s:10DittoSwift0A15TransportConfigV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C15transportConfigAA0a9TransportD0Vvs", + "mangledName": "$s10DittoSwift0A0C15transportConfigAA0a9TransportD0Vvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C15transportConfigAA0a9TransportD0VvM", + "mangledName": "$s10DittoSwift0A0C15transportConfigAA0a9TransportD0VvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Function", + "name": "updateTransportConfig", + "printedName": "updateTransportConfig(block:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(inout DittoSwift.DittoTransportConfig) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoTransportConfig", + "printedName": "DittoSwift.DittoTransportConfig", + "usr": "s:10DittoSwift0A15TransportConfigV" + } + ], + "typeAttributes": [ + "noescape" + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C21updateTransportConfig5blockyyAA0adE0VzXE_tF", + "mangledName": "$s10DittoSwift0A0C21updateTransportConfig5blockyyAA0adE0VzXE_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "isHistoryTrackingEnabled", + "printedName": "isHistoryTrackingEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C24isHistoryTrackingEnabledSbvp", + "mangledName": "$s10DittoSwift0A0C24isHistoryTrackingEnabledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C24isHistoryTrackingEnabledSbvg", + "mangledName": "$s10DittoSwift0A0C24isHistoryTrackingEnabledSbvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(identity:persistenceDirectory:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + }, + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "hasDefaultArg": true, + "usr": "s:10DittoSwift0A8IdentityO" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.URL?", + "children": [ + { + "kind": "TypeNominal", + "name": "URL", + "printedName": "Foundation.URL", + "usr": "s:10Foundation3URLV" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A0C8identity20persistenceDirectoryAcA0A8IdentityO_10Foundation3URLVSgtcfc", + "mangledName": "$s10DittoSwift0A0C8identity20persistenceDirectoryAcA0A8IdentityO_10Foundation3URLVSgtcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Convenience", + "AccessControl", + "RawDocComment" + ], + "init_kind": "Convenience" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(identity:historyTrackingEnabled:persistenceDirectory:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + }, + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "hasDefaultArg": true, + "usr": "s:10DittoSwift0A8IdentityO" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.URL?", + "children": [ + { + "kind": "TypeNominal", + "name": "URL", + "printedName": "Foundation.URL", + "usr": "s:10Foundation3URLV" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A0C8identity22historyTrackingEnabled20persistenceDirectoryAcA0A8IdentityO_Sb10Foundation3URLVSgtcfc", + "mangledName": "$s10DittoSwift0A0C8identity22historyTrackingEnabled20persistenceDirectoryAcA0A8IdentityO_Sb10Foundation3URLVSgtcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Convenience", + "AccessControl", + "RawDocComment" + ], + "init_kind": "Convenience" + }, + { + "kind": "Function", + "name": "setOfflineOnlyLicenseToken", + "printedName": "setOfflineOnlyLicenseToken(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C26setOfflineOnlyLicenseTokenyySSKF", + "mangledName": "$s10DittoSwift0A0C26setOfflineOnlyLicenseTokenyySSKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "startSync", + "printedName": "startSync()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C9startSyncyyKF", + "mangledName": "$s10DittoSwift0A0C9startSyncyyKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "stopSync", + "printedName": "stopSync()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C8stopSyncyyF", + "mangledName": "$s10DittoSwift0A0C8stopSyncyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "transportDiagnostics", + "printedName": "transportDiagnostics()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportDiagnostics", + "printedName": "DittoSwift.DittoTransportDiagnostics", + "usr": "s:10DittoSwift0A20TransportDiagnosticsC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C20transportDiagnosticsAA0a9TransportD0CyKF", + "mangledName": "$s10DittoSwift0A0C20transportDiagnosticsAA0a9TransportD0CyKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "sdkVersion", + "printedName": "sdkVersion", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A0C10sdkVersionSSvp", + "mangledName": "$s10DittoSwift0A0C10sdkVersionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A0C10sdkVersionSSvg", + "mangledName": "$s10DittoSwift0A0C10sdkVersionSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "runGarbageCollection", + "printedName": "runGarbageCollection()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C20runGarbageCollectionyyF", + "mangledName": "$s10DittoSwift0A0C20runGarbageCollectionyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "disableSyncWithV3", + "printedName": "disableSyncWithV3()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C17disableSyncWithV3yyKF", + "mangledName": "$s10DittoSwift0A0C17disableSyncWithV3yyKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "observePeers", + "printedName": "observePeers(callback:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoObserver", + "printedName": "DittoSwift.DittoObserver", + "usr": "s:10DittoSwift0A8ObserverC" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "([DittoSwift.DittoRemotePeer]) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoRemotePeer]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoRemotePeer", + "printedName": "DittoSwift.DittoRemotePeer", + "usr": "s:10DittoSwift0A10RemotePeerV" + } + ], + "usr": "s:Sa" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C12observePeers8callbackAA0A8ObserverCySayAA0A10RemotePeerVGc_tF", + "mangledName": "$s10DittoSwift0A0C12observePeers8callbackAA0A8ObserverCySayAA0A10RemotePeerVGc_tF", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "observePeersV2", + "printedName": "observePeersV2(callback:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoObserver", + "printedName": "DittoSwift.DittoObserver", + "usr": "s:10DittoSwift0A8ObserverC" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C14observePeersV28callbackAA0A8ObserverCySSc_tF", + "mangledName": "$s10DittoSwift0A0C14observePeersV28callbackAA0A8ObserverCySSc_tF", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "RemotePeersPublisher", + "printedName": "RemotePeersPublisher", + "children": [ + { + "kind": "Function", + "name": "receive", + "printedName": "receive(subscriber:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C20RemotePeersPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzSayAA0aC4PeerVG5InputRtzlF", + "mangledName": "$s10DittoSwift0A0C20RemotePeersPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzSayAA0aC4PeerVG5InputRtzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Combine.Subscriber, ฯ„_0_0.Failure == Swift.Never, ฯ„_0_0.Input == [DittoSwift.DittoRemotePeer]>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A0C20RemotePeersPublisherV", + "mangledName": "$s10DittoSwift0A0C20RemotePeersPublisherV", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "Available", + "RawDocComment" + ], + "isFromExtension": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Publisher", + "printedName": "Publisher", + "children": [ + { + "kind": "TypeWitness", + "name": "Output", + "printedName": "Output", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoRemotePeer]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoRemotePeer", + "printedName": "DittoSwift.DittoRemotePeer", + "usr": "s:10DittoSwift0A10RemotePeerV" + } + ], + "usr": "s:Sa" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Failure", + "printedName": "Failure", + "children": [ + { + "kind": "TypeNominal", + "name": "Never", + "printedName": "Swift.Never", + "usr": "s:s5NeverO" + } + ] + } + ], + "usr": "s:7Combine9PublisherP", + "mangledName": "$s7Combine9PublisherP" + } + ] + }, + { + "kind": "Function", + "name": "remotePeersPublisher", + "printedName": "remotePeersPublisher()", + "children": [ + { + "kind": "TypeNominal", + "name": "RemotePeersPublisher", + "printedName": "DittoSwift.Ditto.RemotePeersPublisher", + "usr": "s:10DittoSwift0A0C20RemotePeersPublisherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A0C20remotePeersPublisherAC06RemotedE0VyF", + "mangledName": "$s10DittoSwift0A0C20remotePeersPublisherAC06RemotedE0VyF", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "Available", + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A0C", + "mangledName": "$s10DittoSwift0A0C", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoDocumentID", + "printedName": "DittoDocumentID", + "children": [ + { + "kind": "Constructor", + "name": "init", + "printedName": "init(value:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10DocumentIDV5valueACypSg_tcfc", + "mangledName": "$s10DittoSwift0A10DocumentIDV5valueACypSg_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentIDPath", + "printedName": "DittoSwift.DittoDocumentIDPath", + "usr": "s:10DittoSwift0A14DocumentIDPathV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A10DocumentIDVyAA0aC6IDPathVSScip", + "mangledName": "$s10DittoSwift0A10DocumentIDVyAA0aC6IDPathVSScip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentIDPath", + "printedName": "DittoSwift.DittoDocumentIDPath", + "usr": "s:10DittoSwift0A14DocumentIDPathV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDVyAA0aC6IDPathVSScig", + "mangledName": "$s10DittoSwift0A10DocumentIDVyAA0aC6IDPathVSScig", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentIDPath", + "printedName": "DittoSwift.DittoDocumentIDPath", + "usr": "s:10DittoSwift0A14DocumentIDPathV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A10DocumentIDVyAA0aC6IDPathVSicip", + "mangledName": "$s10DittoSwift0A10DocumentIDVyAA0aC6IDPathVSicip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentIDPath", + "printedName": "DittoSwift.DittoDocumentIDPath", + "usr": "s:10DittoSwift0A14DocumentIDPathV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDVyAA0aC6IDPathVSicig", + "mangledName": "$s10DittoSwift0A10DocumentIDVyAA0aC6IDPathVSicig", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "toString", + "printedName": "toString()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10DocumentIDV8toStringSSyF", + "mangledName": "$s10DittoSwift0A10DocumentIDV8toStringSSyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10DocumentIDV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A10DocumentIDV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10DocumentIDV4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A10DocumentIDV4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV9hashValueSivp", + "mangledName": "$s10DittoSwift0A10DocumentIDV9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV9hashValueSivg", + "mangledName": "$s10DittoSwift0A10DocumentIDV9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV5valueypSgvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV5valueypSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV5valueypSgvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV5valueypSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "string", + "printedName": "string", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV6stringSSSgvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV6stringSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV6stringSSSgvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV6stringSSSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "stringValue", + "printedName": "stringValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV11stringValueSSvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV11stringValueSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV11stringValueSSvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV11stringValueSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "bool", + "printedName": "bool", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV4boolSbSgvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV4boolSbSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV4boolSbSgvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV4boolSbSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "boolValue", + "printedName": "boolValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV9boolValueSbvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV9boolValueSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV9boolValueSbvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV9boolValueSbvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "int", + "printedName": "int", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV3intSiSgvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV3intSiSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV3intSiSgvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV3intSiSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "intValue", + "printedName": "intValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV8intValueSivp", + "mangledName": "$s10DittoSwift0A10DocumentIDV8intValueSivp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV8intValueSivg", + "mangledName": "$s10DittoSwift0A10DocumentIDV8intValueSivg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uint", + "printedName": "uint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV4uintSuSgvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV4uintSuSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV4uintSuSgvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV4uintSuSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uintValue", + "printedName": "uintValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV9uintValueSuvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV9uintValueSuvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV9uintValueSuvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV9uintValueSuvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "float", + "printedName": "float", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV5floatSfSgvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV5floatSfSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV5floatSfSgvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV5floatSfSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "floatValue", + "printedName": "floatValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV10floatValueSfvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV10floatValueSfvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV10floatValueSfvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV10floatValueSfvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "double", + "printedName": "double", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV6doubleSdSgvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV6doubleSdSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV6doubleSdSgvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV6doubleSdSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "doubleValue", + "printedName": "doubleValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV11doubleValueSdvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV11doubleValueSdvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV11doubleValueSdvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV11doubleValueSdvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "array", + "printedName": "array", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV5arraySayypSgGSgvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV5arraySayypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV5arraySayypSgGSgvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV5arraySayypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "arrayValue", + "printedName": "arrayValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV10arrayValueSayypSgGvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV10arrayValueSayypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV10arrayValueSayypSgGvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV10arrayValueSayypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionary", + "printedName": "dictionary", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV10dictionarySDySSypSgGSgvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV10dictionarySDySSypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV10dictionarySDySSypSgGSgvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV10dictionarySDySSypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionaryValue", + "printedName": "dictionaryValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV15dictionaryValueSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV15dictionaryValueSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV15dictionaryValueSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV15dictionaryValueSDySSypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV11descriptionSSvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV11descriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV11descriptionSSvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV11descriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "debugDescription", + "printedName": "debugDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10DocumentIDV16debugDescriptionSSvp", + "mangledName": "$s10DittoSwift0A10DocumentIDV16debugDescriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10DocumentIDV16debugDescriptionSSvg", + "mangledName": "$s10DittoSwift0A10DocumentIDV16debugDescriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(stringLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10DocumentIDV13stringLiteralACSS_tcfc", + "mangledName": "$s10DittoSwift0A10DocumentIDV13stringLiteralACSS_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(booleanLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10DocumentIDV14booleanLiteralACSb_tcfc", + "mangledName": "$s10DittoSwift0A10DocumentIDV14booleanLiteralACSb_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(integerLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10DocumentIDV14integerLiteralACSi_tcfc", + "mangledName": "$s10DittoSwift0A10DocumentIDV14integerLiteralACSi_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(arrayLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10DocumentIDV12arrayLiteralACypSgd_tcfc", + "mangledName": "$s10DittoSwift0A10DocumentIDV12arrayLiteralACypSgd_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(dictionaryLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[(Swift.String, Any?)]", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.String, Any?)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10DocumentIDV17dictionaryLiteralACSS_ypSgtd_tcfc", + "mangledName": "$s10DittoSwift0A10DocumentIDV17dictionaryLiteralACSS_ypSgtd_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "init_kind": "Designated" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A10DocumentIDV", + "mangledName": "$s10DittoSwift0A10DocumentIDV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByStringLiteral", + "printedName": "ExpressibleByStringLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "StringLiteralType", + "printedName": "StringLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s26ExpressibleByStringLiteralP", + "mangledName": "$ss26ExpressibleByStringLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByExtendedGraphemeClusterLiteral", + "printedName": "ExpressibleByExtendedGraphemeClusterLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "ExtendedGraphemeClusterLiteralType", + "printedName": "ExtendedGraphemeClusterLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s43ExpressibleByExtendedGraphemeClusterLiteralP", + "mangledName": "$ss43ExpressibleByExtendedGraphemeClusterLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByUnicodeScalarLiteral", + "printedName": "ExpressibleByUnicodeScalarLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "UnicodeScalarLiteralType", + "printedName": "UnicodeScalarLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s33ExpressibleByUnicodeScalarLiteralP", + "mangledName": "$ss33ExpressibleByUnicodeScalarLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByBooleanLiteral", + "printedName": "ExpressibleByBooleanLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "BooleanLiteralType", + "printedName": "BooleanLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + } + ], + "usr": "s:s27ExpressibleByBooleanLiteralP", + "mangledName": "$ss27ExpressibleByBooleanLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByArrayLiteral", + "printedName": "ExpressibleByArrayLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "ArrayLiteralElement", + "printedName": "ArrayLiteralElement", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "usr": "s:s25ExpressibleByArrayLiteralP", + "mangledName": "$ss25ExpressibleByArrayLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByDictionaryLiteral", + "printedName": "ExpressibleByDictionaryLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "Key", + "printedName": "Key", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Value", + "printedName": "Value", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "usr": "s:s30ExpressibleByDictionaryLiteralP", + "mangledName": "$ss30ExpressibleByDictionaryLiteralP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "DittoSingleDocumentLiveQueryEvent", + "printedName": "DittoSingleDocumentLiveQueryEvent", + "children": [ + { + "kind": "Var", + "name": "isInitial", + "printedName": "isInitial", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A28SingleDocumentLiveQueryEventV9isInitialSbvp", + "mangledName": "$s10DittoSwift0A28SingleDocumentLiveQueryEventV9isInitialSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A28SingleDocumentLiveQueryEventV9isInitialSbvg", + "mangledName": "$s10DittoSwift0A28SingleDocumentLiveQueryEventV9isInitialSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "oldDocument", + "printedName": "oldDocument", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A28SingleDocumentLiveQueryEventV03oldD0AA0aD0CSgvp", + "mangledName": "$s10DittoSwift0A28SingleDocumentLiveQueryEventV03oldD0AA0aD0CSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A28SingleDocumentLiveQueryEventV03oldD0AA0aD0CSgvg", + "mangledName": "$s10DittoSwift0A28SingleDocumentLiveQueryEventV03oldD0AA0aD0CSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(document:)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A28SingleDocumentLiveQueryEventV4hash8documents6UInt64VAA0aD0CSg_tF", + "mangledName": "$s10DittoSwift0A28SingleDocumentLiveQueryEventV4hash8documents6UInt64VAA0aD0CSg_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "hashMnemonic", + "printedName": "hashMnemonic(document:)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A28SingleDocumentLiveQueryEventV12hashMnemonic8documentSSAA0aD0CSg_tF", + "mangledName": "$s10DittoSwift0A28SingleDocumentLiveQueryEventV12hashMnemonic8documentSSAA0aD0CSg_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A28SingleDocumentLiveQueryEventV", + "mangledName": "$s10DittoSwift0A28SingleDocumentLiveQueryEventV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoExperimental", + "printedName": "DittoExperimental", + "children": [ + { + "kind": "Function", + "name": "open", + "printedName": "open(identity:historyTrackingEnabled:persistenceDirectory:passphrase:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + }, + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "hasDefaultArg": true, + "usr": "s:10DittoSwift0A8IdentityO" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.URL?", + "children": [ + { + "kind": "TypeNominal", + "name": "URL", + "printedName": "Foundation.URL", + "usr": "s:10Foundation3URLV" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A12ExperimentalC4open8identity22historyTrackingEnabled20persistenceDirectory10passphraseAA0A0CAA0A8IdentityO_Sb10Foundation3URLVSgSSSgtKFZ", + "mangledName": "$s10DittoSwift0A12ExperimentalC4open8identity22historyTrackingEnabled20persistenceDirectory10passphraseAA0A0CAA0A8IdentityO_Sb10Foundation3URLVSgSSSgtKFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "jsonByTranscoding", + "printedName": "jsonByTranscoding(cbor:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A12ExperimentalC17jsonByTranscoding4cbor10Foundation4DataVAH_tKFZ", + "mangledName": "$s10DittoSwift0A12ExperimentalC17jsonByTranscoding4cbor10Foundation4DataVAH_tKFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "AccessControl" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "triggerTestPanic", + "printedName": "triggerTestPanic()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A12ExperimentalC16triggerTestPanicyyFZ", + "mangledName": "$s10DittoSwift0A12ExperimentalC16triggerTestPanicyyFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A12ExperimentalC", + "mangledName": "$s10DittoSwift0A12ExperimentalC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoAuthenticationDelegate", + "printedName": "DittoAuthenticationDelegate", + "children": [ + { + "kind": "Function", + "name": "authenticationRequired", + "printedName": "authenticationRequired(authenticator:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoAuthenticator", + "printedName": "DittoSwift.DittoAuthenticator", + "usr": "s:10DittoSwift0A13AuthenticatorC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22AuthenticationDelegateP22authenticationRequired13authenticatoryAA0A13AuthenticatorC_tF", + "mangledName": "$s10DittoSwift0A22AuthenticationDelegateP22authenticationRequired13authenticatoryAA0A13AuthenticatorC_tF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoAuthenticationDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "authenticationExpiringSoon", + "printedName": "authenticationExpiringSoon(authenticator:secondsRemaining:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoAuthenticator", + "printedName": "DittoSwift.DittoAuthenticator", + "usr": "s:10DittoSwift0A13AuthenticatorC" + }, + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22AuthenticationDelegateP26authenticationExpiringSoon13authenticator16secondsRemainingyAA0A13AuthenticatorC_s5Int64VtF", + "mangledName": "$s10DittoSwift0A22AuthenticationDelegateP26authenticationExpiringSoon13authenticator16secondsRemainingyAA0A13AuthenticatorC_s5Int64VtF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoAuthenticationDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "authenticationStatusDidChange", + "printedName": "authenticationStatusDidChange(authenticator:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoAuthenticator", + "printedName": "DittoSwift.DittoAuthenticator", + "usr": "s:10DittoSwift0A13AuthenticatorC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22AuthenticationDelegateP29authenticationStatusDidChange13authenticatoryAA0A13AuthenticatorC_tF", + "mangledName": "$s10DittoSwift0A22AuthenticationDelegateP29authenticationStatusDidChange13authenticatoryAA0A13AuthenticatorC_tF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoAuthenticationDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "authenticationStatusDidChange", + "printedName": "authenticationStatusDidChange(authenticator:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoAuthenticator", + "printedName": "DittoSwift.DittoAuthenticator", + "usr": "s:10DittoSwift0A13AuthenticatorC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22AuthenticationDelegatePAAE29authenticationStatusDidChange13authenticatoryAA0A13AuthenticatorC_tF", + "mangledName": "$s10DittoSwift0A22AuthenticationDelegatePAAE29authenticationStatusDidChange13authenticatoryAA0A13AuthenticatorC_tF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoAuthenticationDelegate>", + "sugared_genericSig": "", + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Protocol", + "usr": "s:10DittoSwift0A22AuthenticationDelegateP", + "mangledName": "$s10DittoSwift0A22AuthenticationDelegateP", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 : AnyObject>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoSyncSubscription", + "printedName": "DittoSyncSubscription", + "children": [ + { + "kind": "Var", + "name": "ditto", + "printedName": "ditto", + "children": [ + { + "kind": "TypeNominal", + "name": "WeakStorage", + "printedName": "DittoSwift.Ditto?" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16SyncSubscriptionC5dittoAA0A0CSgvp", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC5dittoAA0A0CSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "ReferenceOwnership", + "SetterAccess", + "AccessControl", + "RawDocComment" + ], + "ownership": 1, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.Ditto?", + "children": [ + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16SyncSubscriptionC5dittoAA0A0CSgvg", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC5dittoAA0A0CSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "queryString", + "printedName": "queryString", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16SyncSubscriptionC11queryStringSSvp", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC11queryStringSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16SyncSubscriptionC11queryStringSSvg", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC11queryStringSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "queryArguments", + "printedName": "queryArguments", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16SyncSubscriptionC14queryArgumentsSDySSypSgGSgvp", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC14queryArgumentsSDySSypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16SyncSubscriptionC14queryArgumentsSDySSypSgGSgvg", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC14queryArgumentsSDySSypSgGSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "isCancelled", + "printedName": "isCancelled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16SyncSubscriptionC11isCancelledSbvp", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC11isCancelledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16SyncSubscriptionC11isCancelledSbvg", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC11isCancelledSbvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "cancel", + "printedName": "cancel()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A16SyncSubscriptionC6cancelyyF", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC6cancelyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A16SyncSubscriptionC4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A16SyncSubscriptionC9hashValueSivp", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16SyncSubscriptionC9hashValueSivg", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoSyncSubscription", + "printedName": "DittoSwift.DittoSyncSubscription", + "usr": "s:10DittoSwift0A16SyncSubscriptionC" + }, + { + "kind": "TypeNominal", + "name": "DittoSyncSubscription", + "printedName": "DittoSwift.DittoSyncSubscription", + "usr": "s:10DittoSwift0A16SyncSubscriptionC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A16SyncSubscriptionC2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A16SyncSubscriptionC", + "mangledName": "$s10DittoSwift0A16SyncSubscriptionC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoDocumentIDPath", + "printedName": "DittoDocumentIDPath", + "children": [ + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentIDPath", + "printedName": "DittoSwift.DittoDocumentIDPath", + "usr": "s:10DittoSwift0A14DocumentIDPathV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A14DocumentIDPathVyACSScip", + "mangledName": "$s10DittoSwift0A14DocumentIDPathVyACSScip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentIDPath", + "printedName": "DittoSwift.DittoDocumentIDPath", + "usr": "s:10DittoSwift0A14DocumentIDPathV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathVyACSScig", + "mangledName": "$s10DittoSwift0A14DocumentIDPathVyACSScig", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentIDPath", + "printedName": "DittoSwift.DittoDocumentIDPath", + "usr": "s:10DittoSwift0A14DocumentIDPathV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A14DocumentIDPathVyACSicip", + "mangledName": "$s10DittoSwift0A14DocumentIDPathVyACSicip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentIDPath", + "printedName": "DittoSwift.DittoDocumentIDPath", + "usr": "s:10DittoSwift0A14DocumentIDPathV" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathVyACSicig", + "mangledName": "$s10DittoSwift0A14DocumentIDPathVyACSicig", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV5valueypSgvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV5valueypSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV5valueypSgvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV5valueypSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "string", + "printedName": "string", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV6stringSSSgvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV6stringSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV6stringSSSgvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV6stringSSSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "stringValue", + "printedName": "stringValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV11stringValueSSvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV11stringValueSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV11stringValueSSvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV11stringValueSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "bool", + "printedName": "bool", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV4boolSbSgvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV4boolSbSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV4boolSbSgvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV4boolSbSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "boolValue", + "printedName": "boolValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV9boolValueSbvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV9boolValueSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV9boolValueSbvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV9boolValueSbvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "int", + "printedName": "int", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV3intSiSgvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV3intSiSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV3intSiSgvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV3intSiSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "intValue", + "printedName": "intValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV8intValueSivp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV8intValueSivp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV8intValueSivg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV8intValueSivg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uint", + "printedName": "uint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV4uintSuSgvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV4uintSuSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV4uintSuSgvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV4uintSuSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uintValue", + "printedName": "uintValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV9uintValueSuvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV9uintValueSuvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV9uintValueSuvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV9uintValueSuvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "float", + "printedName": "float", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV5floatSfSgvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV5floatSfSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV5floatSfSgvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV5floatSfSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "floatValue", + "printedName": "floatValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV10floatValueSfvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV10floatValueSfvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV10floatValueSfvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV10floatValueSfvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "double", + "printedName": "double", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV6doubleSdSgvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV6doubleSdSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV6doubleSdSgvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV6doubleSdSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "doubleValue", + "printedName": "doubleValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV11doubleValueSdvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV11doubleValueSdvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV11doubleValueSdvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV11doubleValueSdvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "array", + "printedName": "array", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV5arraySayypSgGSgvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV5arraySayypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV5arraySayypSgGSgvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV5arraySayypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "arrayValue", + "printedName": "arrayValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV10arrayValueSayypSgGvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV10arrayValueSayypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV10arrayValueSayypSgGvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV10arrayValueSayypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionary", + "printedName": "dictionary", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV10dictionarySDySSypSgGSgvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV10dictionarySDySSypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV10dictionarySDySSypSgGSgvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV10dictionarySDySSypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionaryValue", + "printedName": "dictionaryValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14DocumentIDPathV15dictionaryValueSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV15dictionaryValueSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14DocumentIDPathV15dictionaryValueSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV15dictionaryValueSDySSypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A14DocumentIDPathV", + "mangledName": "$s10DittoSwift0A14DocumentIDPathV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoDelegate", + "printedName": "DittoDelegate", + "children": [ + { + "kind": "Function", + "name": "dittoTransportConditionDidChange", + "printedName": "dittoTransportConditionDidChange(ditto:condition:subsystem:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + }, + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8DelegateP32dittoTransportConditionDidChange0D09condition9subsystemyAA0A0C_AA0aeF0OAA0aF6SourceOtF", + "mangledName": "$s10DittoSwift0A8DelegateP32dittoTransportConditionDidChange0D09condition9subsystemyAA0A0C_AA0aeF0OAA0aF6SourceOtF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "RawDocComment" + ], + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "dittoIdentityProviderAuthenticationRequest", + "printedName": "dittoIdentityProviderAuthenticationRequest(ditto:request:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + }, + { + "kind": "TypeNominal", + "name": "DITAuthenticationRequest", + "printedName": "DittoObjC.DITAuthenticationRequest", + "usr": "c:objc(cs)DITAuthenticationRequest" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8DelegateP42dittoIdentityProviderAuthenticationRequest0D07requestyAA0A0C_So017DITAuthenticationH0CtF", + "mangledName": "$s10DittoSwift0A8DelegateP42dittoIdentityProviderAuthenticationRequest0D07requestyAA0A0C_So017DITAuthenticationH0CtF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoDelegate>", + "sugared_genericSig": "", + "protocolReq": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "dittoTransportConditionDidChange", + "printedName": "dittoTransportConditionDidChange(ditto:condition:subsystem:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + }, + { + "kind": "TypeNominal", + "name": "DittoTransportCondition", + "printedName": "DittoSwift.DittoTransportCondition", + "usr": "s:10DittoSwift0A18TransportConditionO" + }, + { + "kind": "TypeNominal", + "name": "DittoConditionSource", + "printedName": "DittoSwift.DittoConditionSource", + "usr": "s:10DittoSwift0A15ConditionSourceO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8DelegatePAAE32dittoTransportConditionDidChange0D09condition9subsystemyAA0A0C_AA0aeF0OAA0aF6SourceOtF", + "mangledName": "$s10DittoSwift0A8DelegatePAAE32dittoTransportConditionDidChange0D09condition9subsystemyAA0A0C_AA0aeF0OAA0aF6SourceOtF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoDelegate>", + "sugared_genericSig": "", + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "dittoIdentityProviderAuthenticationRequest", + "printedName": "dittoIdentityProviderAuthenticationRequest(ditto:request:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + }, + { + "kind": "TypeNominal", + "name": "DITAuthenticationRequest", + "printedName": "DittoObjC.DITAuthenticationRequest", + "usr": "c:objc(cs)DITAuthenticationRequest" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8DelegatePAAE42dittoIdentityProviderAuthenticationRequest0D07requestyAA0A0C_So017DITAuthenticationH0CtF", + "mangledName": "$s10DittoSwift0A8DelegatePAAE42dittoIdentityProviderAuthenticationRequest0D07requestyAA0A0C_So017DITAuthenticationH0CtF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoDelegate>", + "sugared_genericSig": "", + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "dittoIdentityProviderRefreshRequest", + "printedName": "dittoIdentityProviderRefreshRequest(ditto:request:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A8DelegatePAAE35dittoIdentityProviderRefreshRequest0D07requestyAA0A0C_10Foundation4DataVtF", + "mangledName": "$s10DittoSwift0A8DelegatePAAE35dittoIdentityProviderRefreshRequest0D07requestyAA0A0C_10Foundation4DataVtF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoDelegate>", + "sugared_genericSig": "", + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Protocol", + "usr": "s:10DittoSwift0A8DelegateP", + "mangledName": "$s10DittoSwift0A8DelegateP", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 : AnyObject>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoRemotePeer", + "printedName": "DittoRemotePeer", + "children": [ + { + "kind": "Var", + "name": "networkId", + "printedName": "networkId", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10RemotePeerV9networkIdSSvp", + "mangledName": "$s10DittoSwift0A10RemotePeerV9networkIdSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10RemotePeerV9networkIdSSvg", + "mangledName": "$s10DittoSwift0A10RemotePeerV9networkIdSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "deviceName", + "printedName": "deviceName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10RemotePeerV10deviceNameSSvp", + "mangledName": "$s10DittoSwift0A10RemotePeerV10deviceNameSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10RemotePeerV10deviceNameSSvg", + "mangledName": "$s10DittoSwift0A10RemotePeerV10deviceNameSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "connections", + "printedName": "connections", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10RemotePeerV11connectionsSaySSGvp", + "mangledName": "$s10DittoSwift0A10RemotePeerV11connectionsSaySSGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10RemotePeerV11connectionsSaySSGvg", + "mangledName": "$s10DittoSwift0A10RemotePeerV11connectionsSaySSGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "rssi", + "printedName": "rssi", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10RemotePeerV4rssiSfSgvp", + "mangledName": "$s10DittoSwift0A10RemotePeerV4rssiSfSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10RemotePeerV4rssiSfSgvg", + "mangledName": "$s10DittoSwift0A10RemotePeerV4rssiSfSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "approximateDistanceInMeters", + "printedName": "approximateDistanceInMeters", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10RemotePeerV27approximateDistanceInMetersSfSgvp", + "mangledName": "$s10DittoSwift0A10RemotePeerV27approximateDistanceInMetersSfSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10RemotePeerV27approximateDistanceInMetersSfSgvg", + "mangledName": "$s10DittoSwift0A10RemotePeerV27approximateDistanceInMetersSfSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10RemotePeerV27approximateDistanceInMetersSfSgvs", + "mangledName": "$s10DittoSwift0A10RemotePeerV27approximateDistanceInMetersSfSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10RemotePeerV27approximateDistanceInMetersSfSgvM", + "mangledName": "$s10DittoSwift0A10RemotePeerV27approximateDistanceInMetersSfSgvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(networkId:deviceName:connections:rssi:approximateDistanceInMeters:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoRemotePeer", + "printedName": "DittoSwift.DittoRemotePeer", + "usr": "s:10DittoSwift0A10RemotePeerV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10RemotePeerV9networkId10deviceName11connections4rssi27approximateDistanceInMetersACSS_SSSaySSGSfSgAJtcfc", + "mangledName": "$s10DittoSwift0A10RemotePeerV9networkId10deviceName11connections4rssi27approximateDistanceInMetersACSS_SSSaySSGSfSgAJtcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoRemotePeer", + "printedName": "DittoSwift.DittoRemotePeer", + "usr": "s:10DittoSwift0A10RemotePeerV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A10RemotePeerV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A10RemotePeerV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10RemotePeerV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A10RemotePeerV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10RemotePeerV2idSSvp", + "mangledName": "$s10DittoSwift0A10RemotePeerV2idSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10RemotePeerV2idSSvg", + "mangledName": "$s10DittoSwift0A10RemotePeerV2idSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A10RemotePeerV", + "mangledName": "$s10DittoSwift0A10RemotePeerV", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "Identifiable", + "printedName": "Identifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "ID", + "printedName": "ID", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s12IdentifiableP", + "mangledName": "$ss12IdentifiableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoAttachment", + "printedName": "DittoAttachment", + "children": [ + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10AttachmentC2idSSvp", + "mangledName": "$s10DittoSwift0A10AttachmentC2idSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10AttachmentC2idSSvg", + "mangledName": "$s10DittoSwift0A10AttachmentC2idSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "len", + "printedName": "len", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10AttachmentC3lenSivp", + "mangledName": "$s10DittoSwift0A10AttachmentC3lenSivp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10AttachmentC3lenSivg", + "mangledName": "$s10DittoSwift0A10AttachmentC3lenSivg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "metadata", + "printedName": "metadata", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10AttachmentC8metadataSDyS2SGvp", + "mangledName": "$s10DittoSwift0A10AttachmentC8metadataSDyS2SGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10AttachmentC8metadataSDyS2SGvg", + "mangledName": "$s10DittoSwift0A10AttachmentC8metadataSDyS2SGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachment", + "printedName": "DittoSwift.DittoAttachment", + "usr": "s:10DittoSwift0A10AttachmentC" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachment", + "printedName": "DittoSwift.DittoAttachment", + "usr": "s:10DittoSwift0A10AttachmentC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10AttachmentC2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A10AttachmentC2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10AttachmentC4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A10AttachmentC4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "getData", + "printedName": "getData()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10AttachmentC7getData10Foundation0E0VyKF", + "mangledName": "$s10DittoSwift0A10AttachmentC7getData10Foundation0E0VyKF", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "data", + "printedName": "data()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10AttachmentC4data10Foundation4DataVyKF", + "mangledName": "$s10DittoSwift0A10AttachmentC4data10Foundation4DataVyKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "copy", + "printedName": "copy(toPath:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A10AttachmentC4copy6toPathySS_tKF", + "mangledName": "$s10DittoSwift0A10AttachmentC4copy6toPathySS_tKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A10AttachmentC9hashValueSivp", + "mangledName": "$s10DittoSwift0A10AttachmentC9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A10AttachmentC9hashValueSivg", + "mangledName": "$s10DittoSwift0A10AttachmentC9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A10AttachmentC", + "mangledName": "$s10DittoSwift0A10AttachmentC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoAttachmentToken", + "printedName": "DittoAttachmentToken", + "children": [ + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15AttachmentTokenC2idSSvp", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC2idSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15AttachmentTokenC2idSSvg", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC2idSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "len", + "printedName": "len", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15AttachmentTokenC3lenSivp", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC3lenSivp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15AttachmentTokenC3lenSivg", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC3lenSivg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "metadata", + "printedName": "metadata", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15AttachmentTokenC8metadataSDyS2SGvp", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC8metadataSDyS2SGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15AttachmentTokenC8metadataSDyS2SGvg", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC8metadataSDyS2SGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentToken", + "printedName": "DittoSwift.DittoAttachmentToken", + "usr": "s:10DittoSwift0A15AttachmentTokenC" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentToken", + "printedName": "DittoSwift.DittoAttachmentToken", + "usr": "s:10DittoSwift0A15AttachmentTokenC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15AttachmentTokenC2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15AttachmentTokenC4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15AttachmentTokenC9hashValueSivp", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15AttachmentTokenC9hashValueSivg", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A15AttachmentTokenC", + "mangledName": "$s10DittoSwift0A15AttachmentTokenC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Combine", + "printedName": "Combine", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "DittoTransactionInfo", + "printedName": "DittoTransactionInfo", + "children": [ + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15TransactionInfoV9hashValueSivp", + "mangledName": "$s10DittoSwift0A15TransactionInfoV9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15TransactionInfoV9hashValueSivg", + "mangledName": "$s10DittoSwift0A15TransactionInfoV9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15TransactionInfoV4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A15TransactionInfoV4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoTransactionInfo", + "printedName": "DittoSwift.DittoTransactionInfo", + "usr": "s:10DittoSwift0A15TransactionInfoV" + }, + { + "kind": "TypeNominal", + "name": "DittoTransactionInfo", + "printedName": "DittoSwift.DittoTransactionInfo", + "usr": "s:10DittoSwift0A15TransactionInfoV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15TransactionInfoV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A15TransactionInfoV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransactionInfo", + "printedName": "DittoSwift.DittoTransactionInfo", + "usr": "s:10DittoSwift0A15TransactionInfoV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A15TransactionInfoV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A15TransactionInfoV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15TransactionInfoV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A15TransactionInfoV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A15TransactionInfoV", + "mangledName": "$s10DittoSwift0A15TransactionInfoV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoTransportDiagnostics", + "printedName": "DittoTransportDiagnostics", + "children": [ + { + "kind": "Var", + "name": "transports", + "printedName": "transports", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoTransportSnapshot]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportSnapshot", + "printedName": "DittoSwift.DittoTransportSnapshot", + "usr": "s:10DittoSwift0A17TransportSnapshotC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A20TransportDiagnosticsC10transportsSayAA0aC8SnapshotCGvp", + "mangledName": "$s10DittoSwift0A20TransportDiagnosticsC10transportsSayAA0aC8SnapshotCGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoTransportSnapshot]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransportSnapshot", + "printedName": "DittoSwift.DittoTransportSnapshot", + "usr": "s:10DittoSwift0A17TransportSnapshotC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A20TransportDiagnosticsC10transportsSayAA0aC8SnapshotCGvg", + "mangledName": "$s10DittoSwift0A20TransportDiagnosticsC10transportsSayAA0aC8SnapshotCGvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A20TransportDiagnosticsC", + "mangledName": "$s10DittoSwift0A20TransportDiagnosticsC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoSmallPeerInfo", + "printedName": "DittoSmallPeerInfo", + "children": [ + { + "kind": "Var", + "name": "isEnabled", + "printedName": "isEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13SmallPeerInfoC9isEnabledSbvp", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC9isEnabledSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13SmallPeerInfoC9isEnabledSbvg", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC9isEnabledSbvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13SmallPeerInfoC9isEnabledSbvs", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC9isEnabledSbvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13SmallPeerInfoC9isEnabledSbvM", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC9isEnabledSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "syncScope", + "printedName": "syncScope", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13SmallPeerInfoC9syncScopeAA0acde4SyncG0Ovp", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC9syncScopeAA0acde4SyncG0Ovp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13SmallPeerInfoC9syncScopeAA0acde4SyncG0Ovg", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC9syncScopeAA0acde4SyncG0Ovg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoSmallPeerInfoSyncScope", + "printedName": "DittoSwift.DittoSmallPeerInfoSyncScope", + "usr": "s:10DittoSwift0A22SmallPeerInfoSyncScopeO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13SmallPeerInfoC9syncScopeAA0acde4SyncG0Ovs", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC9syncScopeAA0acde4SyncG0Ovs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13SmallPeerInfoC9syncScopeAA0acde4SyncG0OvM", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC9syncScopeAA0acde4SyncG0OvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "metadata", + "printedName": "metadata", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13SmallPeerInfoC8metadataSDySSypGvp", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC8metadataSDySSypGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13SmallPeerInfoC8metadataSDySSypGvg", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC8metadataSDySSypGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "setMetadata", + "printedName": "setMetadata(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13SmallPeerInfoC11setMetadatayySDySSypGKF", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC11setMetadatayySDySSypGKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "metadataJSONString", + "printedName": "metadataJSONString", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13SmallPeerInfoC18metadataJSONStringSSvp", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC18metadataJSONStringSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13SmallPeerInfoC18metadataJSONStringSSvg", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC18metadataJSONStringSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "setMetadataJSONString", + "printedName": "setMetadataJSONString(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13SmallPeerInfoC21setMetadataJSONStringyySSKF", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC21setMetadataJSONStringyySSKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A13SmallPeerInfoC", + "mangledName": "$s10DittoSwift0A13SmallPeerInfoC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoPendingIDSpecificOperation", + "printedName": "DittoPendingIDSpecificOperation", + "children": [ + { + "kind": "Function", + "name": "subscribe", + "printedName": "subscribe()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSubscription", + "printedName": "DittoSwift.DittoSubscription", + "usr": "s:10DittoSwift0A12SubscriptionC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC9subscribeAA0A12SubscriptionCyF", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC9subscribeAA0A12SubscriptionCyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "remove", + "printedName": "remove()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC6removeSbyF", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC6removeSbyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "evict", + "printedName": "evict()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC5evictSbyF", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC5evictSbyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "exec", + "printedName": "exec()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC4execAA0A8DocumentCSgyF", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC4execAA0A8DocumentCSgyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "observeLocal", + "printedName": "observeLocal(deliverOn:eventHandler:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQuery", + "printedName": "DittoSwift.DittoLiveQuery", + "usr": "s:10DittoSwift0A9LiveQueryC" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoDocument?, DittoSwift.DittoSingleDocumentLiveQueryEvent) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DittoSwift.DittoDocument?, DittoSwift.DittoSingleDocumentLiveQueryEvent)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "DittoSingleDocumentLiveQueryEvent", + "printedName": "DittoSwift.DittoSingleDocumentLiveQueryEvent", + "usr": "s:10DittoSwift0A28SingleDocumentLiveQueryEventV" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC12observeLocal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_yAA0A8DocumentCSg_AA0a6SingleqlM5EventVtctF", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC12observeLocal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_yAA0A8DocumentCSg_AA0a6SingleqlM5EventVtctF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "observeLocalWithNextSignal", + "printedName": "observeLocalWithNextSignal(deliverOn:eventHandler:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQuery", + "printedName": "DittoSwift.DittoLiveQuery", + "usr": "s:10DittoSwift0A9LiveQueryC" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoDocument?, DittoSwift.DittoSingleDocumentLiveQueryEvent, @escaping () -> ()) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DittoSwift.DittoDocument?, DittoSwift.DittoSingleDocumentLiveQueryEvent, () -> ())", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "DittoSingleDocumentLiveQueryEvent", + "printedName": "DittoSwift.DittoSingleDocumentLiveQueryEvent", + "usr": "s:10DittoSwift0A28SingleDocumentLiveQueryEventV" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "() -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ] + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC26observeLocalWithNextSignal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_yAA0A8DocumentCSg_AA0a6SingletoP5EventVyyctctF", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC26observeLocalWithNextSignal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_yAA0A8DocumentCSg_AA0a6SingletoP5EventVyyctctF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "update", + "printedName": "update(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoUpdateResult]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoUpdateResult", + "printedName": "DittoSwift.DittoUpdateResult", + "usr": "s:10DittoSwift0A12UpdateResultO" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoMutableDocument?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoMutableDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocument", + "printedName": "DittoSwift.DittoMutableDocument", + "usr": "s:10DittoSwift0A15MutableDocumentC" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC6updateySayAA0A12UpdateResultOGyAA0A15MutableDocumentCSgcF", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC6updateySayAA0A12UpdateResultOGyAA0A15MutableDocumentCSgcF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "update", + "printedName": "update(using:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC6update5usingyx_tKSeRzSERzlF", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC6update5usingyx_tKSeRzSERzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Swift.Decodable, ฯ„_0_0 : Swift.Encodable>", + "sugared_genericSig": "", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "SingleDocumentLiveQueryPublisher", + "printedName": "SingleDocumentLiveQueryPublisher", + "children": [ + { + "kind": "Function", + "name": "receive", + "printedName": "receive(subscriber:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC32SingleDocumentLiveQueryPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0aG0CSg8document_AA0afghI5EventV5eventt5InputRtzlF", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC32SingleDocumentLiveQueryPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0aG0CSg8document_AA0afghI5EventV5eventt5InputRtzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Combine.Subscriber, ฯ„_0_0.Failure == Swift.Never, ฯ„_0_0.Input == (document: DittoSwift.DittoDocument?, event: DittoSwift.DittoSingleDocumentLiveQueryEvent)>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC32SingleDocumentLiveQueryPublisherV", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC32SingleDocumentLiveQueryPublisherV", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Publisher", + "printedName": "Publisher", + "children": [ + { + "kind": "TypeWitness", + "name": "Output", + "printedName": "Output", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(document: DittoSwift.DittoDocument?, event: DittoSwift.DittoSingleDocumentLiveQueryEvent)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoDocument?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "DittoSingleDocumentLiveQueryEvent", + "printedName": "DittoSwift.DittoSingleDocumentLiveQueryEvent", + "usr": "s:10DittoSwift0A28SingleDocumentLiveQueryEventV" + } + ] + } + ] + }, + { + "kind": "TypeWitness", + "name": "Failure", + "printedName": "Failure", + "children": [ + { + "kind": "TypeNominal", + "name": "Never", + "printedName": "Swift.Never", + "usr": "s:s5NeverO" + } + ] + } + ], + "usr": "s:7Combine9PublisherP", + "mangledName": "$s7Combine9PublisherP" + } + ] + }, + { + "kind": "Function", + "name": "singleDocumentLiveQueryPublisher", + "printedName": "singleDocumentLiveQueryPublisher()", + "children": [ + { + "kind": "TypeNominal", + "name": "SingleDocumentLiveQueryPublisher", + "printedName": "DittoSwift.DittoPendingIDSpecificOperation.SingleDocumentLiveQueryPublisher", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC32SingleDocumentLiveQueryPublisherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC32singleDocumentLiveQueryPublisherAC06SingleghiJ0VyF", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC32singleDocumentLiveQueryPublisherAC06SingleghiJ0VyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A26PendingIDSpecificOperationC", + "mangledName": "$s10DittoSwift0A26PendingIDSpecificOperationC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoObjCInterop", + "printedName": "DittoObjCInterop", + "children": [ + { + "kind": "Function", + "name": "initDittoWith", + "printedName": "initDittoWith(ditDitto:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + }, + { + "kind": "TypeNominal", + "name": "DITDitto", + "printedName": "DittoObjC.DITDitto", + "usr": "c:objc(cs)DITDitto" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A11ObjCInteropO04initA4With03ditA0AA0A0CSo8DITDittoC_tFZ", + "mangledName": "$s10DittoSwift0A11ObjCInteropO04initA4With03ditA0AA0A0CSo8DITDittoC_tFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "ditDittoFor", + "printedName": "ditDittoFor(ditto:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DITDitto", + "printedName": "DittoObjC.DITDitto", + "usr": "c:objc(cs)DITDitto" + }, + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A11ObjCInteropO03ditA3For5dittoSo8DITDittoCAA0A0C_tFZ", + "mangledName": "$s10DittoSwift0A11ObjCInteropO03ditA3For5dittoSo8DITDittoCAA0A0C_tFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A11ObjCInteropO", + "mangledName": "$s10DittoSwift0A11ObjCInteropO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoWriteTransactionPendingCursorOperation", + "printedName": "DittoWriteTransactionPendingCursorOperation", + "children": [ + { + "kind": "Function", + "name": "limit", + "printedName": "limit(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DynamicSelf", + "printedName": "Self" + }, + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC5limityACXDs5Int32VF", + "mangledName": "$s10DittoSwift0A38WriteTransactionPendingCursorOperationC5limityACXDs5Int32VF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "sort", + "printedName": "sort(_:direction:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DynamicSelf", + "printedName": "Self" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "DittoSortDirection", + "printedName": "DittoSwift.DittoSortDirection", + "usr": "s:10DittoSwift0A13SortDirectionO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC4sort_9directionACXDSS_AA0A13SortDirectionOtF", + "mangledName": "$s10DittoSwift0A38WriteTransactionPendingCursorOperationC4sort_9directionACXDSS_AA0A13SortDirectionOtF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "offset", + "printedName": "offset(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DynamicSelf", + "printedName": "Self" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC6offsetyACXDs6UInt32VF", + "mangledName": "$s10DittoSwift0A38WriteTransactionPendingCursorOperationC6offsetyACXDs6UInt32VF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "exec", + "printedName": "exec()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC4execSayAA0A8DocumentCGyF", + "mangledName": "$s10DittoSwift0A38WriteTransactionPendingCursorOperationC4execSayAA0A8DocumentCGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "remove", + "printedName": "remove()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocumentID]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC6removeSayAA0A10DocumentIDVGyF", + "mangledName": "$s10DittoSwift0A38WriteTransactionPendingCursorOperationC6removeSayAA0A10DocumentIDVGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "evict", + "printedName": "evict()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocumentID]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC5evictSayAA0A10DocumentIDVGyF", + "mangledName": "$s10DittoSwift0A38WriteTransactionPendingCursorOperationC5evictSayAA0A10DocumentIDVGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "update", + "printedName": "update(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DittoSwift.DittoDocumentID : [DittoSwift.DittoUpdateResult]]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoUpdateResult]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoUpdateResult", + "printedName": "DittoSwift.DittoUpdateResult", + "usr": "s:10DittoSwift0A12UpdateResultO" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:SD" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "([DittoSwift.DittoMutableDocument]) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoMutableDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocument", + "printedName": "DittoSwift.DittoMutableDocument", + "usr": "s:10DittoSwift0A15MutableDocumentC" + } + ], + "usr": "s:Sa" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC6updateySDyAA0A10DocumentIDVSayAA0A12UpdateResultOGGySayAA0a7MutableI0CGcF", + "mangledName": "$s10DittoSwift0A38WriteTransactionPendingCursorOperationC6updateySDyAA0A10DocumentIDVSayAA0A12UpdateResultOGGySayAA0a7MutableI0CGcF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC", + "mangledName": "$s10DittoSwift0A38WriteTransactionPendingCursorOperationC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoPeer", + "printedName": "DittoPeer", + "children": [ + { + "kind": "Var", + "name": "address", + "printedName": "address", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV7addressAA0A7AddressVvp", + "mangledName": "$s10DittoSwift0A4PeerV7addressAA0A7AddressVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV7addressAA0A7AddressVvg", + "mangledName": "$s10DittoSwift0A4PeerV7addressAA0A7AddressVvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV7addressAA0A7AddressVvs", + "mangledName": "$s10DittoSwift0A4PeerV7addressAA0A7AddressVvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV7addressAA0A7AddressVvM", + "mangledName": "$s10DittoSwift0A4PeerV7addressAA0A7AddressVvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "peerKey", + "printedName": "peerKey", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV7peerKey10Foundation4DataVvp", + "mangledName": "$s10DittoSwift0A4PeerV7peerKey10Foundation4DataVvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV7peerKey10Foundation4DataVvg", + "mangledName": "$s10DittoSwift0A4PeerV7peerKey10Foundation4DataVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV7peerKey10Foundation4DataVvs", + "mangledName": "$s10DittoSwift0A4PeerV7peerKey10Foundation4DataVvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV7peerKey10Foundation4DataVvM", + "mangledName": "$s10DittoSwift0A4PeerV7peerKey10Foundation4DataVvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "peerKeyString", + "printedName": "peerKeyString", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV13peerKeyStringSSvp", + "mangledName": "$s10DittoSwift0A4PeerV13peerKeyStringSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV13peerKeyStringSSvg", + "mangledName": "$s10DittoSwift0A4PeerV13peerKeyStringSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV13peerKeyStringSSvs", + "mangledName": "$s10DittoSwift0A4PeerV13peerKeyStringSSvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV13peerKeyStringSSvM", + "mangledName": "$s10DittoSwift0A4PeerV13peerKeyStringSSvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "connections", + "printedName": "connections", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoConnection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV11connectionsSayAA0A10ConnectionVGvp", + "mangledName": "$s10DittoSwift0A4PeerV11connectionsSayAA0A10ConnectionVGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoConnection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV11connectionsSayAA0A10ConnectionVGvg", + "mangledName": "$s10DittoSwift0A4PeerV11connectionsSayAA0A10ConnectionVGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoConnection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV11connectionsSayAA0A10ConnectionVGvs", + "mangledName": "$s10DittoSwift0A4PeerV11connectionsSayAA0A10ConnectionVGvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV11connectionsSayAA0A10ConnectionVGvM", + "mangledName": "$s10DittoSwift0A4PeerV11connectionsSayAA0A10ConnectionVGvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "deviceName", + "printedName": "deviceName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV10deviceNameSSvp", + "mangledName": "$s10DittoSwift0A4PeerV10deviceNameSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV10deviceNameSSvg", + "mangledName": "$s10DittoSwift0A4PeerV10deviceNameSSvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV10deviceNameSSvs", + "mangledName": "$s10DittoSwift0A4PeerV10deviceNameSSvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV10deviceNameSSvM", + "mangledName": "$s10DittoSwift0A4PeerV10deviceNameSSvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "isConnectedToDittoCloud", + "printedName": "isConnectedToDittoCloud", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV013isConnectedToA5CloudSbvp", + "mangledName": "$s10DittoSwift0A4PeerV013isConnectedToA5CloudSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV013isConnectedToA5CloudSbvg", + "mangledName": "$s10DittoSwift0A4PeerV013isConnectedToA5CloudSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV013isConnectedToA5CloudSbvs", + "mangledName": "$s10DittoSwift0A4PeerV013isConnectedToA5CloudSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV013isConnectedToA5CloudSbvM", + "mangledName": "$s10DittoSwift0A4PeerV013isConnectedToA5CloudSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "queryOverlapGroup", + "printedName": "queryOverlapGroup", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV17queryOverlapGroups5UInt8Vvp", + "mangledName": "$s10DittoSwift0A4PeerV17queryOverlapGroups5UInt8Vvp", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV17queryOverlapGroups5UInt8Vvg", + "mangledName": "$s10DittoSwift0A4PeerV17queryOverlapGroups5UInt8Vvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV17queryOverlapGroups5UInt8Vvs", + "mangledName": "$s10DittoSwift0A4PeerV17queryOverlapGroups5UInt8Vvs", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV17queryOverlapGroups5UInt8VvM", + "mangledName": "$s10DittoSwift0A4PeerV17queryOverlapGroups5UInt8VvM", + "moduleName": "DittoSwift", + "deprecated": true, + "implicit": true, + "declAttributes": [ + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "os", + "printedName": "os", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV2osSSSgvp", + "mangledName": "$s10DittoSwift0A4PeerV2osSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV2osSSSgvg", + "mangledName": "$s10DittoSwift0A4PeerV2osSSSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV2osSSSgvs", + "mangledName": "$s10DittoSwift0A4PeerV2osSSSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV2osSSSgvM", + "mangledName": "$s10DittoSwift0A4PeerV2osSSSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "dittoSDKVersion", + "printedName": "dittoSDKVersion", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV15dittoSDKVersionSSSgvp", + "mangledName": "$s10DittoSwift0A4PeerV15dittoSDKVersionSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV15dittoSDKVersionSSSgvg", + "mangledName": "$s10DittoSwift0A4PeerV15dittoSDKVersionSSSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV15dittoSDKVersionSSSgvs", + "mangledName": "$s10DittoSwift0A4PeerV15dittoSDKVersionSSSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV15dittoSDKVersionSSSgvM", + "mangledName": "$s10DittoSwift0A4PeerV15dittoSDKVersionSSSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "isCompatible", + "printedName": "isCompatible", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV12isCompatibleSbSgvp", + "mangledName": "$s10DittoSwift0A4PeerV12isCompatibleSbSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV12isCompatibleSbSgvg", + "mangledName": "$s10DittoSwift0A4PeerV12isCompatibleSbSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV12isCompatibleSbSgvs", + "mangledName": "$s10DittoSwift0A4PeerV12isCompatibleSbSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV12isCompatibleSbSgvM", + "mangledName": "$s10DittoSwift0A4PeerV12isCompatibleSbSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "peerMetadata", + "printedName": "peerMetadata", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV12peerMetadataSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A4PeerV12peerMetadataSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV12peerMetadataSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A4PeerV12peerMetadataSDySSypSgGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "identityServiceMetadata", + "printedName": "identityServiceMetadata", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV23identityServiceMetadataSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A4PeerV23identityServiceMetadataSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV23identityServiceMetadataSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A4PeerV23identityServiceMetadataSDySSypSgGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(address:peerKey:connections:deviceName:isConnectedToDittoCloud:queryOverlapGroup:os:dittoSDKVersion:isCompatible:peerMetadata:identityServiceMetadata:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + }, + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + }, + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoConnection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Swift.AnyHashable?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.AnyHashable?", + "children": [ + { + "kind": "TypeNominal", + "name": "AnyHashable", + "printedName": "Swift.AnyHashable", + "usr": "s:s11AnyHashableV" + } + ], + "usr": "s:Sq" + } + ], + "hasDefaultArg": true, + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Swift.AnyHashable?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.AnyHashable?", + "children": [ + { + "kind": "TypeNominal", + "name": "AnyHashable", + "printedName": "Swift.AnyHashable", + "usr": "s:s11AnyHashableV" + } + ], + "usr": "s:Sq" + } + ], + "hasDefaultArg": true, + "usr": "s:SD" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A4PeerV7address7peerKey11connections10deviceName013isConnectedToA5Cloud17queryOverlapGroup2os15dittoSDKVersion0J10Compatible0E8Metadata015identityServiceU0AcA0A7AddressV_10Foundation4DataVSayAA0A10ConnectionVGSSSbs5UInt8VSSSgAYSbSgSDySSs11AnyHashableVSgGA2_tcfc", + "mangledName": "$s10DittoSwift0A4PeerV7address7peerKey11connections10deviceName013isConnectedToA5Cloud17queryOverlapGroup2os15dittoSDKVersion0J10Compatible0E8Metadata015identityServiceU0AcA0A7AddressV_10Foundation4DataVSayAA0A10ConnectionVGSSSbs5UInt8VSSSgAYSbSgSDySSs11AnyHashableVSgGA2_tcfc", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(address:peerKeyString:connections:deviceName:isConnectedToDittoCloud:queryOverlapGroup:os:dittoSDKVersion:isCompatible:peerMetadata:identityServiceMetadata:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + }, + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoConnection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "hasDefaultArg": true, + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "hasDefaultArg": true, + "usr": "s:SD" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A4PeerV7address13peerKeyString11connections10deviceName013isConnectedToA5Cloud17queryOverlapGroup2os15dittoSDKVersion0K10Compatible0E8Metadata015identityServiceV0AcA0A7AddressV_SSSayAA0A10ConnectionVGSSSbs5UInt8VSSSgAVSbSgSDySSypSgGAYtcfc", + "mangledName": "$s10DittoSwift0A4PeerV7address13peerKeyString11connections10deviceName013isConnectedToA5Cloud17queryOverlapGroup2os15dittoSDKVersion0K10Compatible0E8Metadata015identityServiceV0AcA0A7AddressV_SSSayAA0A10ConnectionVGSSSbs5UInt8VSSSgAVSbSgSDySSypSgGAYtcfc", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(address:peerKeyString:connections:deviceName:isConnectedToDittoCloud:os:dittoSDKVersion:isCompatible:peerMetadata:identityServiceMetadata:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + }, + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoConnection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "hasDefaultArg": true, + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "hasDefaultArg": true, + "usr": "s:SD" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A4PeerV7address13peerKeyString11connections10deviceName013isConnectedToA5Cloud2os15dittoSDKVersion0K10Compatible0E8Metadata015identityServiceS0AcA0A7AddressV_SSSayAA0A10ConnectionVGSSSbSSSgASSbSgSDySSypSgGAVtcfc", + "mangledName": "$s10DittoSwift0A4PeerV7address13peerKeyString11connections10deviceName013isConnectedToA5Cloud2os15dittoSDKVersion0K10Compatible0E8Metadata015identityServiceS0AcA0A7AddressV_SSSayAA0A10ConnectionVGSSSbSSSgASSbSgSDySSypSgGAVtcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + }, + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A4PeerV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A4PeerV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A4PeerV9hashValueSivp", + "mangledName": "$s10DittoSwift0A4PeerV9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A4PeerV9hashValueSivg", + "mangledName": "$s10DittoSwift0A4PeerV9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A4PeerV4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A4PeerV4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A4PeerV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A4PeerV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A4PeerV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A4PeerV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "throwing": true, + "init_kind": "Designated" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A4PeerV", + "mangledName": "$s10DittoSwift0A4PeerV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoQueryResult", + "printedName": "DittoQueryResult", + "children": [ + { + "kind": "Var", + "name": "items", + "printedName": "items", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoQueryResultItem]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoQueryResultItem", + "printedName": "DittoSwift.DittoQueryResultItem", + "usr": "s:10DittoSwift0A15QueryResultItemC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A11QueryResultC5itemsSayAA0acD4ItemCGvp", + "mangledName": "$s10DittoSwift0A11QueryResultC5itemsSayAA0acD4ItemCGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoQueryResultItem]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoQueryResultItem", + "printedName": "DittoSwift.DittoQueryResultItem", + "usr": "s:10DittoSwift0A15QueryResultItemC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A11QueryResultC5itemsSayAA0acD4ItemCGvg", + "mangledName": "$s10DittoSwift0A11QueryResultC5itemsSayAA0acD4ItemCGvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "mutatedDocumentIDs", + "printedName": "mutatedDocumentIDs()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocumentID]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A11QueryResultC18mutatedDocumentIDsSayAA0aF2IDVGyF", + "mangledName": "$s10DittoSwift0A11QueryResultC18mutatedDocumentIDsSayAA0aF2IDVGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A11QueryResultC", + "mangledName": "$s10DittoSwift0A11QueryResultC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoAuthenticator", + "printedName": "DittoAuthenticator", + "children": [ + { + "kind": "Var", + "name": "status", + "printedName": "status", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAuthenticationStatus", + "printedName": "DittoSwift.DittoAuthenticationStatus", + "usr": "s:10DittoSwift0A20AuthenticationStatusV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13AuthenticatorC6statusAA0A20AuthenticationStatusVvp", + "mangledName": "$s10DittoSwift0A13AuthenticatorC6statusAA0A20AuthenticationStatusVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAuthenticationStatus", + "printedName": "DittoSwift.DittoAuthenticationStatus", + "usr": "s:10DittoSwift0A20AuthenticationStatusV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13AuthenticatorC6statusAA0A20AuthenticationStatusVvg", + "mangledName": "$s10DittoSwift0A13AuthenticatorC6statusAA0A20AuthenticationStatusVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "login", + "printedName": "login(token:provider:completion:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String?, DittoSwift.DittoSwiftError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.String?, DittoSwift.DittoSwiftError?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoSwiftError?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ], + "usr": "s:Sq" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13AuthenticatorC5login5token8provider10completionySS_SSySSSg_AA0aB5ErrorOSgtctF", + "mangledName": "$s10DittoSwift0A13AuthenticatorC5login5token8provider10completionySS_SSySSSg_AA0aB5ErrorOSgtctF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "loginWithToken", + "printedName": "loginWithToken(_:provider:completion:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoSwiftError?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13AuthenticatorC14loginWithToken_8provider10completionySS_SSyAA0aB5ErrorOSgctF", + "mangledName": "$s10DittoSwift0A13AuthenticatorC14loginWithToken_8provider10completionySS_SSyAA0aB5ErrorOSgctF", + "moduleName": "DittoSwift", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "loginWithCredentials", + "printedName": "loginWithCredentials(username:password:provider:completion:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError?) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoSwiftError?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ], + "usr": "s:Sq" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13AuthenticatorC20loginWithCredentials8username8password8provider10completionySS_S2SyAA0aB5ErrorOSgctF", + "mangledName": "$s10DittoSwift0A13AuthenticatorC20loginWithCredentials8username8password8provider10completionySS_S2SyAA0aB5ErrorOSgctF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "logout", + "printedName": "logout(cleanup:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((DittoSwift.Ditto) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.Ditto) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Ditto", + "printedName": "DittoSwift.Ditto", + "usr": "s:10DittoSwift0A0C" + } + ] + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13AuthenticatorC6logout7cleanupyyAA0A0CcSg_tF", + "mangledName": "$s10DittoSwift0A13AuthenticatorC6logout7cleanupyyAA0A0CcSg_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "observeStatus", + "printedName": "observeStatus(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoObserver", + "printedName": "DittoSwift.DittoObserver", + "usr": "s:10DittoSwift0A8ObserverC" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoAuthenticationStatus) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoAuthenticationStatus", + "printedName": "DittoSwift.DittoAuthenticationStatus", + "usr": "s:10DittoSwift0A20AuthenticationStatusV" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13AuthenticatorC13observeStatusyAA0A8ObserverCyAA0a14AuthenticationE0VcF", + "mangledName": "$s10DittoSwift0A13AuthenticatorC13observeStatusyAA0A8ObserverCyAA0a14AuthenticationE0VcF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "StatusPublisher", + "printedName": "StatusPublisher", + "children": [ + { + "kind": "Function", + "name": "receive", + "printedName": "receive(subscriber:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13AuthenticatorC15StatusPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0a14AuthenticationD0V5InputRtzlF", + "mangledName": "$s10DittoSwift0A13AuthenticatorC15StatusPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0a14AuthenticationD0V5InputRtzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Combine.Subscriber, ฯ„_0_0.Failure == Swift.Never, ฯ„_0_0.Input == DittoSwift.DittoAuthenticationStatus>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A13AuthenticatorC15StatusPublisherV", + "mangledName": "$s10DittoSwift0A13AuthenticatorC15StatusPublisherV", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Publisher", + "printedName": "Publisher", + "children": [ + { + "kind": "TypeWitness", + "name": "Output", + "printedName": "Output", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAuthenticationStatus", + "printedName": "DittoSwift.DittoAuthenticationStatus", + "usr": "s:10DittoSwift0A20AuthenticationStatusV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Failure", + "printedName": "Failure", + "children": [ + { + "kind": "TypeNominal", + "name": "Never", + "printedName": "Swift.Never", + "usr": "s:s5NeverO" + } + ] + } + ], + "usr": "s:7Combine9PublisherP", + "mangledName": "$s7Combine9PublisherP" + } + ] + }, + { + "kind": "Function", + "name": "statusPublisher", + "printedName": "statusPublisher()", + "children": [ + { + "kind": "TypeNominal", + "name": "StatusPublisher", + "printedName": "DittoSwift.DittoAuthenticator.StatusPublisher", + "usr": "s:10DittoSwift0A13AuthenticatorC15StatusPublisherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13AuthenticatorC15statusPublisherAC06StatusE0VyF", + "mangledName": "$s10DittoSwift0A13AuthenticatorC15statusPublisherAC06StatusE0VyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A13AuthenticatorC", + "mangledName": "$s10DittoSwift0A13AuthenticatorC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Combine", + "printedName": "Combine", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoSwiftError", + "printedName": "DittoSwiftError", + "children": [ + { + "kind": "TypeDecl", + "name": "ActivationErrorReason", + "printedName": "ActivationErrorReason", + "children": [ + { + "kind": "Var", + "name": "licenseTokenExpired", + "printedName": "licenseTokenExpired", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ActivationErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.ActivationErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.ActivationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "ActivationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ActivationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO19licenseTokenExpiredyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010ActivationC6ReasonO19licenseTokenExpiredyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "licenseTokenUnsupportedFutureVersion", + "printedName": "licenseTokenUnsupportedFutureVersion", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ActivationErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.ActivationErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.ActivationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "ActivationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ActivationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO36licenseTokenUnsupportedFutureVersionyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010ActivationC6ReasonO36licenseTokenUnsupportedFutureVersionyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "licenseTokenVerificationFailed", + "printedName": "licenseTokenVerificationFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ActivationErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.ActivationErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.ActivationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "ActivationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ActivationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO30licenseTokenVerificationFailedyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010ActivationC6ReasonO30licenseTokenVerificationFailedyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "notActivatedError", + "printedName": "notActivatedError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ActivationErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.ActivationErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.ActivationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "ActivationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ActivationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO012notActivatedC0yAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010ActivationC6ReasonO012notActivatedC0yAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO", + "mangledName": "$s10DittoSwift0aB5ErrorO010ActivationC6ReasonO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "AuthenticationErrorReason", + "printedName": "AuthenticationErrorReason", + "children": [ + { + "kind": "Var", + "name": "failedToAuthenticate", + "printedName": "failedToAuthenticate", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.AuthenticationErrorReason.Type) -> DittoSwift.DittoSwiftError.AuthenticationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.AuthenticationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.AuthenticationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.AuthenticationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO20failedToAuthenticateyA2EmF", + "mangledName": "$s10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO20failedToAuthenticateyA2EmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "AuthenticationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.AuthenticationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "AuthenticationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.AuthenticationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO2eeoiySbAE_AEtFZ", + "mangledName": "$s10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO2eeoiySbAE_AEtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO9hashValueSivp", + "mangledName": "$s10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO9hashValueSivg", + "mangledName": "$s10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO", + "mangledName": "$s10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "TypeDecl", + "name": "EncryptionErrorReason", + "printedName": "EncryptionErrorReason", + "children": [ + { + "kind": "Var", + "name": "extraneousPassphraseGiven", + "printedName": "extraneousPassphraseGiven", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.EncryptionErrorReason.Type) -> DittoSwift.DittoSwiftError.EncryptionErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "EncryptionErrorReason", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "EncryptionErrorReason", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO25extraneousPassphraseGivenyA2EmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010EncryptionC6ReasonO25extraneousPassphraseGivenyA2EmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "passphraseInvalid", + "printedName": "passphraseInvalid", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.EncryptionErrorReason.Type) -> DittoSwift.DittoSwiftError.EncryptionErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "EncryptionErrorReason", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "EncryptionErrorReason", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO17passphraseInvalidyA2EmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010EncryptionC6ReasonO17passphraseInvalidyA2EmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "passphraseNotGiven", + "printedName": "passphraseNotGiven", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.EncryptionErrorReason.Type) -> DittoSwift.DittoSwiftError.EncryptionErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "EncryptionErrorReason", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "EncryptionErrorReason", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO18passphraseNotGivenyA2EmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010EncryptionC6ReasonO18passphraseNotGivenyA2EmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "EncryptionErrorReason", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "EncryptionErrorReason", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO2eeoiySbAE_AEtFZ", + "mangledName": "$s10DittoSwift0aB5ErrorO010EncryptionC6ReasonO2eeoiySbAE_AEtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO9hashValueSivp", + "mangledName": "$s10DittoSwift0aB5ErrorO010EncryptionC6ReasonO9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO9hashValueSivg", + "mangledName": "$s10DittoSwift0aB5ErrorO010EncryptionC6ReasonO9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0aB5ErrorO010EncryptionC6ReasonO4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO", + "mangledName": "$s10DittoSwift0aB5ErrorO010EncryptionC6ReasonO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "TypeDecl", + "name": "MigrationErrorReason", + "printedName": "MigrationErrorReason", + "children": [ + { + "kind": "Var", + "name": "disableSyncWithV3Failed", + "printedName": "disableSyncWithV3Failed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.MigrationErrorReason.Type) -> DittoSwift.DittoSwiftError.MigrationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "MigrationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.MigrationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.MigrationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "MigrationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.MigrationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO23disableSyncWithV3FailedyA2EmF", + "mangledName": "$s10DittoSwift0aB5ErrorO09MigrationC6ReasonO23disableSyncWithV3FailedyA2EmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "MigrationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.MigrationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "MigrationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.MigrationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO2eeoiySbAE_AEtFZ", + "mangledName": "$s10DittoSwift0aB5ErrorO09MigrationC6ReasonO2eeoiySbAE_AEtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO9hashValueSivp", + "mangledName": "$s10DittoSwift0aB5ErrorO09MigrationC6ReasonO9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO9hashValueSivg", + "mangledName": "$s10DittoSwift0aB5ErrorO09MigrationC6ReasonO9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0aB5ErrorO09MigrationC6ReasonO4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO", + "mangledName": "$s10DittoSwift0aB5ErrorO09MigrationC6ReasonO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "TypeDecl", + "name": "StoreErrorReason", + "printedName": "StoreErrorReason", + "children": [ + { + "kind": "Var", + "name": "attachmentDataRetrievalError", + "printedName": "attachmentDataRetrievalError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (any Swift.Error) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(any Swift.Error) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(error: any Swift.Error)", + "children": [ + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO023attachmentDataRetrievalC0yAEs0C0_p_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO023attachmentDataRetrievalC0yAEs0C0_p_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "attachmentFileCopyError", + "printedName": "attachmentFileCopyError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (any Swift.Error) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(any Swift.Error) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(error: any Swift.Error)", + "children": [ + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO018attachmentFileCopyC0yAEs0C0_p_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO018attachmentFileCopyC0yAEs0C0_p_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "attachmentFileNotFound", + "printedName": "attachmentFileNotFound", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO22attachmentFileNotFoundyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO22attachmentFileNotFoundyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "attachmentFilePermissionDenied", + "printedName": "attachmentFilePermissionDenied", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO30attachmentFilePermissionDeniedyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO30attachmentFilePermissionDeniedyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "attachmentNotFound", + "printedName": "attachmentNotFound", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO18attachmentNotFoundyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO18attachmentNotFoundyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "attachmentTokenInvalid", + "printedName": "attachmentTokenInvalid", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO22attachmentTokenInvalidyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO22attachmentTokenInvalidyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "failedToCreateAttachment", + "printedName": "failedToCreateAttachment", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO24failedToCreateAttachmentyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO24failedToCreateAttachmentyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "failedToFetchAttachment", + "printedName": "failedToFetchAttachment", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO23failedToFetchAttachmentyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO23failedToFetchAttachmentyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "backendError", + "printedName": "backendError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO07backendC0yAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO07backendC0yAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "crdtError", + "printedName": "crdtError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO04crdtC0yAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO04crdtC0yAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "documentContentEncodingFailed", + "printedName": "documentContentEncodingFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> ((any Swift.Error)?) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "((any Swift.Error)?) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(error: (any Swift.Error)?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(any Swift.Error)?", + "children": [ + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ], + "usr": "s:Sq" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO29documentContentEncodingFailedyAEs0C0_pSg_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO29documentContentEncodingFailedyAEs0C0_pSg_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "documentNotFound", + "printedName": "documentNotFound", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO16documentNotFoundyA2EmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO16documentNotFoundyA2EmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "failedToDecodeData", + "printedName": "failedToDecodeData", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> ((any Swift.Error)?, [Swift.UInt8]) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "((any Swift.Error)?, [Swift.UInt8]) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(error: (any Swift.Error)?, data: [Swift.UInt8])", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "(any Swift.Error)?", + "children": [ + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.UInt8]", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ], + "usr": "s:Sa" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO18failedToDecodeDatayAEs0C0_pSg_Says5UInt8VGtcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO18failedToDecodeDatayAEs0C0_pSg_Says5UInt8VGtcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "failedToDecodeDocument", + "printedName": "failedToDecodeDocument", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (any Swift.Error) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(any Swift.Error) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(error: any Swift.Error)", + "children": [ + { + "kind": "TypeNominal", + "name": "Error", + "printedName": "any Swift.Error", + "usr": "s:s5ErrorP" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO22failedToDecodeDocumentyAEs0C0_p_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO22failedToDecodeDocumentyAEs0C0_p_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "failedToGetDocumentData", + "printedName": "failedToGetDocumentData", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(path: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO23failedToGetDocumentDatayAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO23failedToGetDocumentDatayAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "failedToGetDocumentIDData", + "printedName": "failedToGetDocumentIDData", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(path: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO25failedToGetDocumentIDDatayAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO25failedToGetDocumentIDDatayAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "invalidCRDTType", + "printedName": "invalidCRDTType", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO15invalidCRDTTypeyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO15invalidCRDTTypeyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "invalidDocumentStructure", + "printedName": "invalidDocumentStructure", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (DittoSwift.CBOR) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(cbor: DittoSwift.CBOR)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO24invalidDocumentStructureyAeA4CBORO_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO24invalidDocumentStructureyAeA4CBORO_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "invalidValueForCRDT", + "printedName": "invalidValueForCRDT", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO19invalidValueForCRDTyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO19invalidValueForCRDTyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "nonStringKeyInDocument", + "printedName": "nonStringKeyInDocument", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (DittoSwift.CBOR) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.CBOR) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(key: DittoSwift.CBOR)", + "children": [ + { + "kind": "TypeNominal", + "name": "CBOR", + "printedName": "DittoSwift.CBOR", + "usr": "s:10DittoSwift4CBORO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO22nonStringKeyInDocumentyAeA4CBORO_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO22nonStringKeyInDocumentyAeA4CBORO_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "queryArgumentsInvalid", + "printedName": "queryArgumentsInvalid", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO21queryArgumentsInvalidyA2EmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO21queryArgumentsInvalidyA2EmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "queryError", + "printedName": "queryError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO05queryC0yAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO05queryC0yAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "queryInvalid", + "printedName": "queryInvalid", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO12queryInvalidyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO12queryInvalidyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "queryNotSupported", + "printedName": "queryNotSupported", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO17queryNotSupportedyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO17queryNotSupportedyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "transactionReadOnly", + "printedName": "transactionReadOnly", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.StoreErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO19transactionReadOnlyyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO19transactionReadOnlyyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO", + "mangledName": "$s10DittoSwift0aB5ErrorO05StoreC6ReasonO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "TransportErrorReason", + "printedName": "TransportErrorReason", + "children": [ + { + "kind": "Var", + "name": "diagnosticsUnavailable", + "printedName": "diagnosticsUnavailable", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.TransportErrorReason.Type) -> DittoSwift.DittoSwiftError.TransportErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "TransportErrorReason", + "printedName": "DittoSwift.DittoSwiftError.TransportErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.TransportErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "TransportErrorReason", + "printedName": "DittoSwift.DittoSwiftError.TransportErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO22diagnosticsUnavailableyA2EmF", + "mangledName": "$s10DittoSwift0aB5ErrorO09TransportC6ReasonO22diagnosticsUnavailableyA2EmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "failedToDecodeTransportDiagnostics", + "printedName": "failedToDecodeTransportDiagnostics", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.TransportErrorReason.Type) -> DittoSwift.DittoSwiftError.TransportErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "TransportErrorReason", + "printedName": "DittoSwift.DittoSwiftError.TransportErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.TransportErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "TransportErrorReason", + "printedName": "DittoSwift.DittoSwiftError.TransportErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO014failedToDecodeD11DiagnosticsyA2EmF", + "mangledName": "$s10DittoSwift0aB5ErrorO09TransportC6ReasonO014failedToDecodeD11DiagnosticsyA2EmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "TransportErrorReason", + "printedName": "DittoSwift.DittoSwiftError.TransportErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "TransportErrorReason", + "printedName": "DittoSwift.DittoSwiftError.TransportErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO2eeoiySbAE_AEtFZ", + "mangledName": "$s10DittoSwift0aB5ErrorO09TransportC6ReasonO2eeoiySbAE_AEtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO9hashValueSivp", + "mangledName": "$s10DittoSwift0aB5ErrorO09TransportC6ReasonO9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO9hashValueSivg", + "mangledName": "$s10DittoSwift0aB5ErrorO09TransportC6ReasonO9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0aB5ErrorO09TransportC6ReasonO4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO", + "mangledName": "$s10DittoSwift0aB5ErrorO09TransportC6ReasonO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "TypeDecl", + "name": "ValidationErrorReason", + "printedName": "ValidationErrorReason", + "children": [ + { + "kind": "Var", + "name": "depthLimitExceeded", + "printedName": "depthLimitExceeded", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ValidationErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO18depthLimitExceededyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010ValidationC6ReasonO18depthLimitExceededyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "notADictionary", + "printedName": "notADictionary", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ValidationErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO14notADictionaryyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010ValidationC6ReasonO14notADictionaryyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "notJSONCompatible", + "printedName": "notJSONCompatible", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ValidationErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO17notJSONCompatibleyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010ValidationC6ReasonO17notJSONCompatibleyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "invalidJSON", + "printedName": "invalidJSON", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ValidationErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO11invalidJSONyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010ValidationC6ReasonO11invalidJSONyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "invalidCBOR", + "printedName": "invalidCBOR", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ValidationErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO11invalidCBORyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010ValidationC6ReasonO11invalidCBORyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "sizeLimitExceeded", + "printedName": "sizeLimitExceeded", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ValidationErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.ValidationErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO17sizeLimitExceededyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010ValidationC6ReasonO17sizeLimitExceededyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO", + "mangledName": "$s10DittoSwift0aB5ErrorO010ValidationC6ReasonO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "IOErrorReason", + "printedName": "IOErrorReason", + "children": [ + { + "kind": "Var", + "name": "alreadyExists", + "printedName": "alreadyExists", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.IOErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.IOErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.IOErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "IOErrorReason", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IOErrorReason", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO13alreadyExistsyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO13IOErrorReasonO13alreadyExistsyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "notFound", + "printedName": "notFound", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.IOErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.IOErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.IOErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "IOErrorReason", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IOErrorReason", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO8notFoundyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO13IOErrorReasonO8notFoundyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "permissionDenied", + "printedName": "permissionDenied", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.IOErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.IOErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.IOErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "IOErrorReason", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IOErrorReason", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO16permissionDeniedyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO13IOErrorReasonO16permissionDeniedyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "operationFailed", + "printedName": "operationFailed", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.IOErrorReason.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError.IOErrorReason", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError.IOErrorReason", + "children": [ + { + "kind": "TypeNominal", + "name": "IOErrorReason", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "IOErrorReason", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO15operationFailedyAESS_tcAEmF", + "mangledName": "$s10DittoSwift0aB5ErrorO13IOErrorReasonO15operationFailedyAESS_tcAEmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO", + "mangledName": "$s10DittoSwift0aB5ErrorO13IOErrorReasonO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Var", + "name": "activationError", + "printedName": "activationError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.Type) -> (DittoSwift.DittoSwiftError.ActivationErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ActivationErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DittoSwift.DittoSwiftError.ActivationErrorReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "ActivationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ActivationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ActivationC6ReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010activationC0yA2C010ActivationC6ReasonO_tcACmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010activationC0yA2C010ActivationC6ReasonO_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "authenticationError", + "printedName": "authenticationError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.Type) -> (DittoSwift.DittoSwiftError.AuthenticationErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.AuthenticationErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DittoSwift.DittoSwiftError.AuthenticationErrorReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "AuthenticationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.AuthenticationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO014AuthenticationC6ReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO014authenticationC0yA2C014AuthenticationC6ReasonO_tcACmF", + "mangledName": "$s10DittoSwift0aB5ErrorO014authenticationC0yA2C014AuthenticationC6ReasonO_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "encryptionError", + "printedName": "encryptionError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.Type) -> (DittoSwift.DittoSwiftError.EncryptionErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.EncryptionErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DittoSwift.DittoSwiftError.EncryptionErrorReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "EncryptionErrorReason", + "printedName": "DittoSwift.DittoSwiftError.EncryptionErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010EncryptionC6ReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010encryptionC0yA2C010EncryptionC6ReasonO_tcACmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010encryptionC0yA2C010EncryptionC6ReasonO_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "migrationError", + "printedName": "migrationError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.Type) -> (DittoSwift.DittoSwiftError.MigrationErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.MigrationErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DittoSwift.DittoSwiftError.MigrationErrorReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "MigrationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.MigrationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09MigrationC6ReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO09migrationC0yA2C09MigrationC6ReasonO_tcACmF", + "mangledName": "$s10DittoSwift0aB5ErrorO09migrationC0yA2C09MigrationC6ReasonO_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "storeError", + "printedName": "storeError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.Type) -> (DittoSwift.DittoSwiftError.StoreErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.StoreErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DittoSwift.DittoSwiftError.StoreErrorReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "StoreErrorReason", + "printedName": "DittoSwift.DittoSwiftError.StoreErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO05StoreC6ReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO05storeC0yA2C05StoreC6ReasonO_tcACmF", + "mangledName": "$s10DittoSwift0aB5ErrorO05storeC0yA2C05StoreC6ReasonO_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "transportError", + "printedName": "transportError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.Type) -> (DittoSwift.DittoSwiftError.TransportErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.TransportErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DittoSwift.DittoSwiftError.TransportErrorReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "TransportErrorReason", + "printedName": "DittoSwift.DittoSwiftError.TransportErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO09TransportC6ReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO09transportC0yA2C09TransportC6ReasonO_tcACmF", + "mangledName": "$s10DittoSwift0aB5ErrorO09transportC0yA2C09TransportC6ReasonO_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "validationError", + "printedName": "validationError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.Type) -> (DittoSwift.DittoSwiftError.ValidationErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.ValidationErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DittoSwift.DittoSwiftError.ValidationErrorReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "ValidationErrorReason", + "printedName": "DittoSwift.DittoSwiftError.ValidationErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO010ValidationC6ReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO010validationC0yA2C010ValidationC6ReasonO_tcACmF", + "mangledName": "$s10DittoSwift0aB5ErrorO010validationC0yA2C010ValidationC6ReasonO_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "ioError", + "printedName": "ioError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.Type) -> (DittoSwift.DittoSwiftError.IOErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.IOErrorReason) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(reason: DittoSwift.DittoSwiftError.IOErrorReason)", + "children": [ + { + "kind": "TypeNominal", + "name": "IOErrorReason", + "printedName": "DittoSwift.DittoSwiftError.IOErrorReason", + "usr": "s:10DittoSwift0aB5ErrorO13IOErrorReasonO" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO02ioC0yA2C13IOErrorReasonO_tcACmF", + "mangledName": "$s10DittoSwift0aB5ErrorO02ioC0yA2C13IOErrorReasonO_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "unsupportedError", + "printedName": "unsupportedError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO011unsupportedC0yACSS_tcACmF", + "mangledName": "$s10DittoSwift0aB5ErrorO011unsupportedC0yACSS_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "unknownError", + "printedName": "unknownError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSwiftError.Type) -> (Swift.String) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoSwiftError", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(message: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSwiftError.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0aB5ErrorO07unknownC0yACSS_tcACmF", + "mangledName": "$s10DittoSwift0aB5ErrorO07unknownC0yACSS_tcACmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "errorDescription", + "printedName": "errorDescription", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0aB5ErrorO16errorDescriptionSSSgvp", + "mangledName": "$s10DittoSwift0aB5ErrorO16errorDescriptionSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0aB5ErrorO16errorDescriptionSSSgvg", + "mangledName": "$s10DittoSwift0aB5ErrorO16errorDescriptionSSSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0aB5ErrorO", + "mangledName": "$s10DittoSwift0aB5ErrorO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "LocalizedError", + "printedName": "LocalizedError", + "usr": "s:10Foundation14LocalizedErrorP", + "mangledName": "$s10Foundation14LocalizedErrorP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoWriteTransaction", + "printedName": "DittoWriteTransaction", + "children": [ + { + "kind": "Function", + "name": "scoped", + "printedName": "scoped(toCollectionNamed:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoScopedWriteTransaction", + "printedName": "DittoSwift.DittoScopedWriteTransaction", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A16WriteTransactionC6scoped17toCollectionNamedAA0a6ScopedcD0CSS_tF", + "mangledName": "$s10DittoSwift0A16WriteTransactionC6scoped17toCollectionNamedAA0a6ScopedcD0CSS_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoScopedWriteTransaction", + "printedName": "DittoSwift.DittoScopedWriteTransaction", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A16WriteTransactionCyAA0a6ScopedcD0CSScip", + "mangledName": "$s10DittoSwift0A16WriteTransactionCyAA0a6ScopedcD0CSScip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoScopedWriteTransaction", + "printedName": "DittoSwift.DittoScopedWriteTransaction", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A16WriteTransactionCyAA0a6ScopedcD0CSScig", + "mangledName": "$s10DittoSwift0A16WriteTransactionCyAA0a6ScopedcD0CSScig", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A16WriteTransactionC", + "mangledName": "$s10DittoSwift0A16WriteTransactionC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoLogger", + "printedName": "DittoLogger", + "children": [ + { + "kind": "Var", + "name": "enabled", + "printedName": "enabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A6LoggerC7enabledSbvpZ", + "mangledName": "$s10DittoSwift0A6LoggerC7enabledSbvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6LoggerC7enabledSbvgZ", + "mangledName": "$s10DittoSwift0A6LoggerC7enabledSbvgZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6LoggerC7enabledSbvsZ", + "mangledName": "$s10DittoSwift0A6LoggerC7enabledSbvsZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6LoggerC7enabledSbvMZ", + "mangledName": "$s10DittoSwift0A6LoggerC7enabledSbvMZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "minimumLogLevel", + "printedName": "minimumLogLevel", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A6LoggerC15minimumLogLevelAA0aeF0OvpZ", + "mangledName": "$s10DittoSwift0A6LoggerC15minimumLogLevelAA0aeF0OvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6LoggerC15minimumLogLevelAA0aeF0OvgZ", + "mangledName": "$s10DittoSwift0A6LoggerC15minimumLogLevelAA0aeF0OvgZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6LoggerC15minimumLogLevelAA0aeF0OvsZ", + "mangledName": "$s10DittoSwift0A6LoggerC15minimumLogLevelAA0aeF0OvsZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6LoggerC15minimumLogLevelAA0aeF0OvMZ", + "mangledName": "$s10DittoSwift0A6LoggerC15minimumLogLevelAA0aeF0OvMZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "emojiLogLevelHeadingsEnabled", + "printedName": "emojiLogLevelHeadingsEnabled", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A6LoggerC28emojiLogLevelHeadingsEnabledSbvpZ", + "mangledName": "$s10DittoSwift0A6LoggerC28emojiLogLevelHeadingsEnabledSbvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6LoggerC28emojiLogLevelHeadingsEnabledSbvgZ", + "mangledName": "$s10DittoSwift0A6LoggerC28emojiLogLevelHeadingsEnabledSbvgZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6LoggerC28emojiLogLevelHeadingsEnabledSbvsZ", + "mangledName": "$s10DittoSwift0A6LoggerC28emojiLogLevelHeadingsEnabledSbvsZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A6LoggerC28emojiLogLevelHeadingsEnabledSbvMZ", + "mangledName": "$s10DittoSwift0A6LoggerC28emojiLogLevelHeadingsEnabledSbvMZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Function", + "name": "setLogFile", + "printedName": "setLogFile(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A6LoggerC10setLogFileyySSSgFZ", + "mangledName": "$s10DittoSwift0A6LoggerC10setLogFileyySSSgFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setLogFileURL", + "printedName": "setLogFileURL(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.URL?", + "children": [ + { + "kind": "TypeNominal", + "name": "URL", + "printedName": "Foundation.URL", + "usr": "s:10Foundation3URLV" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A6LoggerC13setLogFileURLyy10Foundation0G0VSgFZ", + "mangledName": "$s10DittoSwift0A6LoggerC13setLogFileURLyy10Foundation0G0VSgFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "setCustomLogCallback", + "printedName": "setCustomLogCallback(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "((DittoSwift.DittoLogLevel, Swift.String) -> ())?", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoLogLevel, Swift.String) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DittoSwift.DittoLogLevel, Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLogLevel", + "printedName": "DittoSwift.DittoLogLevel", + "usr": "s:10DittoSwift0A8LogLevelO" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A6LoggerC20setCustomLogCallbackyyyAA0aF5LevelO_SStcSgFZ", + "mangledName": "$s10DittoSwift0A6LoggerC20setCustomLogCallbackyyyAA0aF5LevelO_SStcSgFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "export", + "printedName": "export(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + }, + { + "kind": "TypeNominal", + "name": "URL", + "printedName": "Foundation.URL", + "usr": "s:10Foundation3URLV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A6LoggerC6export2tos6UInt64V10Foundation3URLV_tYaKFZ", + "mangledName": "$s10DittoSwift0A6LoggerC6export2tos6UInt64V10Foundation3URLV_tYaKFZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "Final", + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A6LoggerC", + "mangledName": "$s10DittoSwift0A6LoggerC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoSubscription", + "printedName": "DittoSubscription", + "children": [ + { + "kind": "Var", + "name": "query", + "printedName": "query", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12SubscriptionC5querySSvp", + "mangledName": "$s10DittoSwift0A12SubscriptionC5querySSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12SubscriptionC5querySSvg", + "mangledName": "$s10DittoSwift0A12SubscriptionC5querySSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "collectionName", + "printedName": "collectionName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A12SubscriptionC14collectionNameSSvp", + "mangledName": "$s10DittoSwift0A12SubscriptionC14collectionNameSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A12SubscriptionC14collectionNameSSvg", + "mangledName": "$s10DittoSwift0A12SubscriptionC14collectionNameSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "cancel", + "printedName": "cancel()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A12SubscriptionC6cancelyyF", + "mangledName": "$s10DittoSwift0A12SubscriptionC6cancelyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A12SubscriptionC", + "mangledName": "$s10DittoSwift0A12SubscriptionC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoScopedWriteTransaction", + "printedName": "DittoScopedWriteTransaction", + "children": [ + { + "kind": "Var", + "name": "collectionName", + "printedName": "collectionName", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC14collectionNameSSvp", + "mangledName": "$s10DittoSwift0A22ScopedWriteTransactionC14collectionNameSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC14collectionNameSSvg", + "mangledName": "$s10DittoSwift0A22ScopedWriteTransactionC14collectionNameSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "upsert", + "printedName": "upsert(_:writeStrategy:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "hasDefaultArg": true, + "usr": "s:10DittoSwift0A13WriteStrategyO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC6upsert_13writeStrategyAA0A10DocumentIDVSDySSypSgG_AA0adH0OtKF", + "mangledName": "$s10DittoSwift0A22ScopedWriteTransactionC6upsert_13writeStrategyAA0A10DocumentIDVSDySSypSgG_AA0adH0OtKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "upsert", + "printedName": "upsert(_:writeStrategy:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + }, + { + "kind": "TypeNominal", + "name": "DittoWriteStrategy", + "printedName": "DittoSwift.DittoWriteStrategy", + "hasDefaultArg": true, + "usr": "s:10DittoSwift0A13WriteStrategyO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC6upsert_13writeStrategyAA0A10DocumentIDVx_AA0adH0OtKSeRzSERzlF", + "mangledName": "$s10DittoSwift0A22ScopedWriteTransactionC6upsert_13writeStrategyAA0A10DocumentIDVx_AA0adH0OtKSeRzSERzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Swift.Decodable, ฯ„_0_0 : Swift.Encodable>", + "sugared_genericSig": "", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "findByID", + "printedName": "findByID(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionPendingIDSpecificOperation", + "printedName": "DittoSwift.DittoWriteTransactionPendingIDSpecificOperation", + "usr": "s:10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC" + }, + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC8findByIDyAA0adE26PendingIDSpecificOperationCAA0a8DocumentH0VF", + "mangledName": "$s10DittoSwift0A22ScopedWriteTransactionC8findByIDyAA0adE26PendingIDSpecificOperationCAA0a8DocumentH0VF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "findByID", + "printedName": "findByID(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionPendingIDSpecificOperation", + "printedName": "DittoSwift.DittoWriteTransactionPendingIDSpecificOperation", + "usr": "s:10DittoSwift0A42WriteTransactionPendingIDSpecificOperationC" + }, + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC8findByIDyAA0adE26PendingIDSpecificOperationCypF", + "mangledName": "$s10DittoSwift0A22ScopedWriteTransactionC8findByIDyAA0adE26PendingIDSpecificOperationCypF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "find", + "printedName": "find(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionPendingCursorOperation", + "printedName": "DittoSwift.DittoWriteTransactionPendingCursorOperation", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC4findyAA0adE22PendingCursorOperationCSSF", + "mangledName": "$s10DittoSwift0A22ScopedWriteTransactionC4findyAA0adE22PendingCursorOperationCSSF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "find", + "printedName": "find(_:args:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionPendingCursorOperation", + "printedName": "DittoSwift.DittoWriteTransactionPendingCursorOperation", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC4find_4argsAA0adE22PendingCursorOperationCSS_SDySSypSgGtF", + "mangledName": "$s10DittoSwift0A22ScopedWriteTransactionC4find_4argsAA0adE22PendingCursorOperationCSS_SDySSypSgGtF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "findAll", + "printedName": "findAll()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionPendingCursorOperation", + "printedName": "DittoSwift.DittoWriteTransactionPendingCursorOperation", + "usr": "s:10DittoSwift0A38WriteTransactionPendingCursorOperationC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC7findAllAA0adE22PendingCursorOperationCyF", + "mangledName": "$s10DittoSwift0A22ScopedWriteTransactionC7findAllAA0adE22PendingCursorOperationCyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A22ScopedWriteTransactionC", + "mangledName": "$s10DittoSwift0A22ScopedWriteTransactionC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoMutableDocumentPath", + "printedName": "DittoMutableDocumentPath", + "children": [ + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A19MutableDocumentPathCyACSScip", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathCyACSScip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathCyACSScig", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathCyACSScig", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathCyACSScis", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathCyACSScis", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathCyACSSciM", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathCyACSSciM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A19MutableDocumentPathCyACSicip", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathCyACSicip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathCyACSicig", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathCyACSicig", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathCyACSicis", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathCyACSicis", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathCyACSiciM", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathCyACSiciM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Function", + "name": "set", + "printedName": "set(_:isDefault:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A19MutableDocumentPathC3set_9isDefaultyypSg_SbtF", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC3set_9isDefaultyypSg_SbtF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "remove", + "printedName": "remove()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A19MutableDocumentPathC6removeyyF", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC6removeyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(stringLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC13stringLiteralACSS_tcfc", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC13stringLiteralACSS_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Required", + "AccessControl", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(extendedGraphemeClusterLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC30extendedGraphemeClusterLiteralACSS_tcfc", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC30extendedGraphemeClusterLiteralACSS_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Required", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(unicodeScalarLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC20unicodeScalarLiteralACSS_tcfc", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC20unicodeScalarLiteralACSS_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Required", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(integerLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC14integerLiteralACSi_tcfc", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC14integerLiteralACSi_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Required", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(booleanLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC14booleanLiteralACSb_tcfc", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC14booleanLiteralACSb_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Required", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(floatLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC12floatLiteralACSd_tcfc", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC12floatLiteralACSd_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Required", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(dictionaryLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[(Swift.String, Any)]", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(Swift.String, Any)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ] + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC17dictionaryLiteralACSS_yptd_tcfc", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC17dictionaryLiteralACSS_yptd_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Required", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(arrayLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any]", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC12arrayLiteralACypd_tcfc", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC12arrayLiteralACypd_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Required", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(nilLiteral:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC10nilLiteralACyt_tcfc", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC10nilLiteralACyt_tcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "Required", + "AccessControl" + ], + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC5valueypSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC5valueypSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC5valueypSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC5valueypSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "string", + "printedName": "string", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC6stringSSSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC6stringSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC6stringSSSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC6stringSSSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "stringValue", + "printedName": "stringValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC11stringValueSSvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC11stringValueSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC11stringValueSSvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC11stringValueSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "bool", + "printedName": "bool", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC4boolSbSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC4boolSbSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Bool?", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC4boolSbSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC4boolSbSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "boolValue", + "printedName": "boolValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC9boolValueSbvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC9boolValueSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC9boolValueSbvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC9boolValueSbvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "int", + "printedName": "int", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC3intSiSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC3intSiSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Int?", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC3intSiSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC3intSiSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "intValue", + "printedName": "intValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC8intValueSivp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC8intValueSivp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC8intValueSivg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC8intValueSivg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uint", + "printedName": "uint", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC4uintSuSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC4uintSuSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC4uintSuSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC4uintSuSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "uintValue", + "printedName": "uintValue", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC9uintValueSuvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC9uintValueSuvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC9uintValueSuvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC9uintValueSuvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "float", + "printedName": "float", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC5floatSfSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC5floatSfSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Float?", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC5floatSfSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC5floatSfSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "floatValue", + "printedName": "floatValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC10floatValueSfvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC10floatValueSfvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC10floatValueSfvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC10floatValueSfvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "double", + "printedName": "double", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC6doubleSdSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC6doubleSdSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.Double?", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC6doubleSdSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC6doubleSdSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "doubleValue", + "printedName": "doubleValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC11doubleValueSdvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC11doubleValueSdvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC11doubleValueSdvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC11doubleValueSdvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "array", + "printedName": "array", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC5arraySayypSgGSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC5arraySayypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC5arraySayypSgGSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC5arraySayypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "arrayValue", + "printedName": "arrayValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC10arrayValueSayypSgGvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC10arrayValueSayypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC10arrayValueSayypSgGvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC10arrayValueSayypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionary", + "printedName": "dictionary", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC10dictionarySDySSypSgGSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC10dictionarySDySSypSgGSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC10dictionarySDySSypSgGSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC10dictionarySDySSypSgGSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "dictionaryValue", + "printedName": "dictionaryValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC15dictionaryValueSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC15dictionaryValueSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC15dictionaryValueSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC15dictionaryValueSDySSypSgGvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "attachmentToken", + "printedName": "attachmentToken", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoAttachmentToken?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentToken", + "printedName": "DittoSwift.DittoAttachmentToken", + "usr": "s:10DittoSwift0A15AttachmentTokenC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC15attachmentTokenAA0a10AttachmentG0CSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC15attachmentTokenAA0a10AttachmentG0CSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoAttachmentToken?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentToken", + "printedName": "DittoSwift.DittoAttachmentToken", + "usr": "s:10DittoSwift0A15AttachmentTokenC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC15attachmentTokenAA0a10AttachmentG0CSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC15attachmentTokenAA0a10AttachmentG0CSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "counter", + "printedName": "counter", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoMutableCounter?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableCounter", + "printedName": "DittoSwift.DittoMutableCounter", + "usr": "s:10DittoSwift0A14MutableCounterC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC7counterAA0aC7CounterCSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC7counterAA0aC7CounterCSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoMutableCounter?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableCounter", + "printedName": "DittoSwift.DittoMutableCounter", + "usr": "s:10DittoSwift0A14MutableCounterC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC7counterAA0aC7CounterCSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC7counterAA0aC7CounterCSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "register", + "printedName": "register", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoMutableRegister?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableRegister", + "printedName": "DittoSwift.DittoMutableRegister", + "usr": "s:10DittoSwift0A15MutableRegisterC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A19MutableDocumentPathC8registerAA0aC8RegisterCSgvp", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC8registerAA0aC8RegisterCSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "DittoSwift.DittoMutableRegister?", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableRegister", + "printedName": "DittoSwift.DittoMutableRegister", + "usr": "s:10DittoSwift0A15MutableRegisterC" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A19MutableDocumentPathC8registerAA0aC8RegisterCSgvg", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC8registerAA0aC8RegisterCSgvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A19MutableDocumentPathC", + "mangledName": "$s10DittoSwift0A19MutableDocumentPathC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByStringLiteral", + "printedName": "ExpressibleByStringLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "StringLiteralType", + "printedName": "StringLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s26ExpressibleByStringLiteralP", + "mangledName": "$ss26ExpressibleByStringLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByBooleanLiteral", + "printedName": "ExpressibleByBooleanLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "BooleanLiteralType", + "printedName": "BooleanLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + } + ], + "usr": "s:s27ExpressibleByBooleanLiteralP", + "mangledName": "$ss27ExpressibleByBooleanLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByFloatLiteral", + "printedName": "ExpressibleByFloatLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "FloatLiteralType", + "printedName": "FloatLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ] + } + ], + "usr": "s:s25ExpressibleByFloatLiteralP", + "mangledName": "$ss25ExpressibleByFloatLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByDictionaryLiteral", + "printedName": "ExpressibleByDictionaryLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "Key", + "printedName": "Key", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Value", + "printedName": "Value", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ] + } + ], + "usr": "s:s30ExpressibleByDictionaryLiteralP", + "mangledName": "$ss30ExpressibleByDictionaryLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByArrayLiteral", + "printedName": "ExpressibleByArrayLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "ArrayLiteralElement", + "printedName": "ArrayLiteralElement", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ] + } + ], + "usr": "s:s25ExpressibleByArrayLiteralP", + "mangledName": "$ss25ExpressibleByArrayLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByNilLiteral", + "printedName": "ExpressibleByNilLiteral", + "usr": "s:s23ExpressibleByNilLiteralP", + "mangledName": "$ss23ExpressibleByNilLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByExtendedGraphemeClusterLiteral", + "printedName": "ExpressibleByExtendedGraphemeClusterLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "ExtendedGraphemeClusterLiteralType", + "printedName": "ExtendedGraphemeClusterLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s43ExpressibleByExtendedGraphemeClusterLiteralP", + "mangledName": "$ss43ExpressibleByExtendedGraphemeClusterLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByUnicodeScalarLiteral", + "printedName": "ExpressibleByUnicodeScalarLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "UnicodeScalarLiteralType", + "printedName": "UnicodeScalarLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s33ExpressibleByUnicodeScalarLiteralP", + "mangledName": "$ss33ExpressibleByUnicodeScalarLiteralP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "DittoAuthenticationStatus", + "printedName": "DittoAuthenticationStatus", + "children": [ + { + "kind": "Var", + "name": "isAuthenticated", + "printedName": "isAuthenticated", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A20AuthenticationStatusV15isAuthenticatedSbvp", + "mangledName": "$s10DittoSwift0A20AuthenticationStatusV15isAuthenticatedSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A20AuthenticationStatusV15isAuthenticatedSbvg", + "mangledName": "$s10DittoSwift0A20AuthenticationStatusV15isAuthenticatedSbvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A20AuthenticationStatusV15isAuthenticatedSbvs", + "mangledName": "$s10DittoSwift0A20AuthenticationStatusV15isAuthenticatedSbvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A20AuthenticationStatusV15isAuthenticatedSbvM", + "mangledName": "$s10DittoSwift0A20AuthenticationStatusV15isAuthenticatedSbvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "userID", + "printedName": "userID", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A20AuthenticationStatusV6userIDSSSgvp", + "mangledName": "$s10DittoSwift0A20AuthenticationStatusV6userIDSSSgvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A20AuthenticationStatusV6userIDSSSgvg", + "mangledName": "$s10DittoSwift0A20AuthenticationStatusV6userIDSSSgvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A20AuthenticationStatusV6userIDSSSgvs", + "mangledName": "$s10DittoSwift0A20AuthenticationStatusV6userIDSSSgvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A20AuthenticationStatusV6userIDSSSgvM", + "mangledName": "$s10DittoSwift0A20AuthenticationStatusV6userIDSSSgvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoAuthenticationStatus", + "printedName": "DittoSwift.DittoAuthenticationStatus", + "usr": "s:10DittoSwift0A20AuthenticationStatusV" + }, + { + "kind": "TypeNominal", + "name": "DittoAuthenticationStatus", + "printedName": "DittoSwift.DittoAuthenticationStatus", + "usr": "s:10DittoSwift0A20AuthenticationStatusV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A20AuthenticationStatusV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A20AuthenticationStatusV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A20AuthenticationStatusV", + "mangledName": "$s10DittoSwift0A20AuthenticationStatusV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoPresenceGraph", + "printedName": "DittoPresenceGraph", + "children": [ + { + "kind": "Var", + "name": "localPeer", + "printedName": "localPeer", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13PresenceGraphV9localPeerAA0aF0Vvp", + "mangledName": "$s10DittoSwift0A13PresenceGraphV9localPeerAA0aF0Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13PresenceGraphV9localPeerAA0aF0Vvg", + "mangledName": "$s10DittoSwift0A13PresenceGraphV9localPeerAA0aF0Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13PresenceGraphV9localPeerAA0aF0Vvs", + "mangledName": "$s10DittoSwift0A13PresenceGraphV9localPeerAA0aF0Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13PresenceGraphV9localPeerAA0aF0VvM", + "mangledName": "$s10DittoSwift0A13PresenceGraphV9localPeerAA0aF0VvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "remotePeers", + "printedName": "remotePeers", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoPeer]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13PresenceGraphV11remotePeersSayAA0A4PeerVGvp", + "mangledName": "$s10DittoSwift0A13PresenceGraphV11remotePeersSayAA0A4PeerVGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoPeer]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13PresenceGraphV11remotePeersSayAA0A4PeerVGvg", + "mangledName": "$s10DittoSwift0A13PresenceGraphV11remotePeersSayAA0A4PeerVGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoPeer]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13PresenceGraphV11remotePeersSayAA0A4PeerVGvs", + "mangledName": "$s10DittoSwift0A13PresenceGraphV11remotePeersSayAA0A4PeerVGvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13PresenceGraphV11remotePeersSayAA0A4PeerVGvM", + "mangledName": "$s10DittoSwift0A13PresenceGraphV11remotePeersSayAA0A4PeerVGvM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(localPeer:remotePeers:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPresenceGraph", + "printedName": "DittoSwift.DittoPresenceGraph", + "usr": "s:10DittoSwift0A13PresenceGraphV" + }, + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoPeer]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPeer", + "printedName": "DittoSwift.DittoPeer", + "usr": "s:10DittoSwift0A4PeerV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A13PresenceGraphV9localPeer11remotePeersAcA0aF0V_SayAGGtcfc", + "mangledName": "$s10DittoSwift0A13PresenceGraphV9localPeer11remotePeersAcA0aF0V_SayAGGtcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "allConnectionsByID", + "printedName": "allConnectionsByID()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : DittoSwift.DittoConnection]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "DittoConnection", + "printedName": "DittoSwift.DittoConnection", + "usr": "s:10DittoSwift0A10ConnectionV" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13PresenceGraphV18allConnectionsByIDSDySSAA0A10ConnectionVGyF", + "mangledName": "$s10DittoSwift0A13PresenceGraphV18allConnectionsByIDSDySSAA0A10ConnectionVGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoPresenceGraph", + "printedName": "DittoSwift.DittoPresenceGraph", + "usr": "s:10DittoSwift0A13PresenceGraphV" + }, + { + "kind": "TypeNominal", + "name": "DittoPresenceGraph", + "printedName": "DittoSwift.DittoPresenceGraph", + "usr": "s:10DittoSwift0A13PresenceGraphV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13PresenceGraphV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A13PresenceGraphV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13PresenceGraphV9hashValueSivp", + "mangledName": "$s10DittoSwift0A13PresenceGraphV9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13PresenceGraphV9hashValueSivg", + "mangledName": "$s10DittoSwift0A13PresenceGraphV9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13PresenceGraphV4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A13PresenceGraphV4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPresenceGraph", + "printedName": "DittoSwift.DittoPresenceGraph", + "usr": "s:10DittoSwift0A13PresenceGraphV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A13PresenceGraphV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A13PresenceGraphV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13PresenceGraphV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A13PresenceGraphV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A13PresenceGraphV", + "mangledName": "$s10DittoSwift0A13PresenceGraphV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + } + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoTypedDocument", + "printedName": "DittoTypedDocument", + "children": [ + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13TypedDocumentC2idAA0aD2IDVvp", + "mangledName": "$s10DittoSwift0A13TypedDocumentC2idAA0aD2IDVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13TypedDocumentC2idAA0aD2IDVvg", + "mangledName": "$s10DittoSwift0A13TypedDocumentC2idAA0aD2IDVvg", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Swift.Decodable>", + "sugared_genericSig": "", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13TypedDocumentC5valuexvp", + "mangledName": "$s10DittoSwift0A13TypedDocumentC5valuexvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13TypedDocumentC5valuexvg", + "mangledName": "$s10DittoSwift0A13TypedDocumentC5valuexvg", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Swift.Decodable>", + "sugared_genericSig": "", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A13TypedDocumentC", + "mangledName": "$s10DittoSwift0A13TypedDocumentC", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Swift.Decodable>", + "sugared_genericSig": "", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoSortDirection", + "printedName": "DittoSortDirection", + "children": [ + { + "kind": "Var", + "name": "ascending", + "printedName": "ascending", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSortDirection.Type) -> DittoSwift.DittoSortDirection", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSortDirection", + "printedName": "DittoSwift.DittoSortDirection", + "usr": "s:10DittoSwift0A13SortDirectionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSortDirection.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSortDirection", + "printedName": "DittoSwift.DittoSortDirection", + "usr": "s:10DittoSwift0A13SortDirectionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A13SortDirectionO9ascendingyA2CmF", + "mangledName": "$s10DittoSwift0A13SortDirectionO9ascendingyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "descending", + "printedName": "descending", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoSortDirection.Type) -> DittoSwift.DittoSortDirection", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSortDirection", + "printedName": "DittoSwift.DittoSortDirection", + "usr": "s:10DittoSwift0A13SortDirectionO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoSortDirection.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSortDirection", + "printedName": "DittoSwift.DittoSortDirection", + "usr": "s:10DittoSwift0A13SortDirectionO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A13SortDirectionO10descendingyA2CmF", + "mangledName": "$s10DittoSwift0A13SortDirectionO10descendingyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoSortDirection", + "printedName": "DittoSwift.DittoSortDirection", + "usr": "s:10DittoSwift0A13SortDirectionO" + }, + { + "kind": "TypeNominal", + "name": "DittoSortDirection", + "printedName": "DittoSwift.DittoSortDirection", + "usr": "s:10DittoSwift0A13SortDirectionO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13SortDirectionO2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A13SortDirectionO2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A13SortDirectionO9hashValueSivp", + "mangledName": "$s10DittoSwift0A13SortDirectionO9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A13SortDirectionO9hashValueSivg", + "mangledName": "$s10DittoSwift0A13SortDirectionO9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A13SortDirectionO4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A13SortDirectionO4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A13SortDirectionO", + "mangledName": "$s10DittoSwift0A13SortDirectionO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoQueryResultItem", + "printedName": "DittoQueryResultItem", + "children": [ + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15QueryResultItemC5valueSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A15QueryResultItemC5valueSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15QueryResultItemC5valueSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A15QueryResultItemC5valueSDySSypSgGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "isMaterialized", + "printedName": "isMaterialized", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15QueryResultItemC14isMaterializedSbvp", + "mangledName": "$s10DittoSwift0A15QueryResultItemC14isMaterializedSbvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15QueryResultItemC14isMaterializedSbvg", + "mangledName": "$s10DittoSwift0A15QueryResultItemC14isMaterializedSbvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "materialize", + "printedName": "materialize()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15QueryResultItemC11materializeyyF", + "mangledName": "$s10DittoSwift0A15QueryResultItemC11materializeyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "dematerialize", + "printedName": "dematerialize()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15QueryResultItemC13dematerializeyyF", + "mangledName": "$s10DittoSwift0A15QueryResultItemC13dematerializeyyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "cborData", + "printedName": "cborData()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15QueryResultItemC8cborData10Foundation0G0VyF", + "mangledName": "$s10DittoSwift0A15QueryResultItemC8cborData10Foundation0G0VyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "jsonData", + "printedName": "jsonData()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15QueryResultItemC8jsonData10Foundation0G0VyF", + "mangledName": "$s10DittoSwift0A15QueryResultItemC8jsonData10Foundation0G0VyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "jsonString", + "printedName": "jsonString()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15QueryResultItemC10jsonStringSSyF", + "mangledName": "$s10DittoSwift0A15QueryResultItemC10jsonStringSSyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A15QueryResultItemC", + "mangledName": "$s10DittoSwift0A15QueryResultItemC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoTransaction", + "printedName": "DittoTransaction", + "children": [ + { + "kind": "Var", + "name": "info", + "printedName": "info", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransactionInfo", + "printedName": "DittoSwift.DittoTransactionInfo", + "usr": "s:10DittoSwift0A15TransactionInfoV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A11TransactionC4infoAA0aC4InfoVvp", + "mangledName": "$s10DittoSwift0A11TransactionC4infoAA0aC4InfoVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransactionInfo", + "printedName": "DittoSwift.DittoTransactionInfo", + "usr": "s:10DittoSwift0A15TransactionInfoV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A11TransactionC4infoAA0aC4InfoVvg", + "mangledName": "$s10DittoSwift0A11TransactionC4infoAA0aC4InfoVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "store", + "printedName": "store", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoStore", + "printedName": "DittoSwift.DittoStore", + "usr": "s:10DittoSwift0A5StoreC" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A11TransactionC5storeAA0A5StoreCvp", + "mangledName": "$s10DittoSwift0A11TransactionC5storeAA0A5StoreCvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "Final", + "HasStorage", + "AccessControl", + "RawDocComment" + ], + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoStore", + "printedName": "DittoSwift.DittoStore", + "usr": "s:10DittoSwift0A5StoreC" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A11TransactionC5storeAA0A5StoreCvg", + "mangledName": "$s10DittoSwift0A11TransactionC5storeAA0A5StoreCvg", + "moduleName": "DittoSwift", + "implicit": true, + "declAttributes": [ + "Final" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "execute", + "printedName": "execute(query:arguments:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoQueryResult", + "printedName": "DittoSwift.DittoQueryResult", + "usr": "s:10DittoSwift0A11QueryResultC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A11TransactionC7execute5query9argumentsAA0A11QueryResultCSS_SDySSypSgGtYaKF", + "mangledName": "$s10DittoSwift0A11TransactionC7execute5query9argumentsAA0A11QueryResultCSS_SDySSypSgGtYaKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A11TransactionC", + "mangledName": "$s10DittoSwift0A11TransactionC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "DittoQueryExecuting", + "printedName": "DittoQueryExecuting", + "usr": "s:10DittoSwift0A14QueryExecutingP", + "mangledName": "$s10DittoSwift0A14QueryExecutingP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoPendingCollectionsOperation", + "printedName": "DittoPendingCollectionsOperation", + "children": [ + { + "kind": "Function", + "name": "limit", + "printedName": "limit(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DynamicSelf", + "printedName": "Self" + }, + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A27PendingCollectionsOperationC5limityACXDs5Int32VF", + "mangledName": "$s10DittoSwift0A27PendingCollectionsOperationC5limityACXDs5Int32VF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "sort", + "printedName": "sort(_:direction:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DynamicSelf", + "printedName": "Self" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "DittoSortDirection", + "printedName": "DittoSwift.DittoSortDirection", + "usr": "s:10DittoSwift0A13SortDirectionO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A27PendingCollectionsOperationC4sort_9directionACXDSS_AA0A13SortDirectionOtF", + "mangledName": "$s10DittoSwift0A27PendingCollectionsOperationC4sort_9directionACXDSS_AA0A13SortDirectionOtF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "offset", + "printedName": "offset(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DynamicSelf", + "printedName": "Self" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A27PendingCollectionsOperationC6offsetyACXDs6UInt32VF", + "mangledName": "$s10DittoSwift0A27PendingCollectionsOperationC6offsetyACXDs6UInt32VF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "subscribe", + "printedName": "subscribe()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSubscription", + "printedName": "DittoSwift.DittoSubscription", + "usr": "s:10DittoSwift0A12SubscriptionC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A27PendingCollectionsOperationC9subscribeAA0A12SubscriptionCyF", + "mangledName": "$s10DittoSwift0A27PendingCollectionsOperationC9subscribeAA0A12SubscriptionCyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "exec", + "printedName": "exec()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoCollection]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCollection", + "printedName": "DittoSwift.DittoCollection", + "usr": "s:10DittoSwift0A10CollectionC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A27PendingCollectionsOperationC4execSayAA0A10CollectionCGyF", + "mangledName": "$s10DittoSwift0A27PendingCollectionsOperationC4execSayAA0A10CollectionCGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "observeLocal", + "printedName": "observeLocal(deliverOn:eventHandler:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQuery", + "printedName": "DittoSwift.DittoLiveQuery", + "usr": "s:10DittoSwift0A9LiveQueryC" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoCollectionsEvent) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoCollectionsEvent", + "printedName": "DittoSwift.DittoCollectionsEvent", + "usr": "s:10DittoSwift0A16CollectionsEventV" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A27PendingCollectionsOperationC12observeLocal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_yAA0aD5EventVctF", + "mangledName": "$s10DittoSwift0A27PendingCollectionsOperationC12observeLocal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_yAA0aD5EventVctF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "observeLocalWithNextSignal", + "printedName": "observeLocalWithNextSignal(deliverOn:eventHandler:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQuery", + "printedName": "DittoSwift.DittoLiveQuery", + "usr": "s:10DittoSwift0A9LiveQueryC" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoCollectionsEvent, @escaping () -> ()) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DittoSwift.DittoCollectionsEvent, () -> ())", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCollectionsEvent", + "printedName": "DittoSwift.DittoCollectionsEvent", + "usr": "s:10DittoSwift0A16CollectionsEventV" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "() -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ] + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A27PendingCollectionsOperationC26observeLocalWithNextSignal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_yAA0aD5EventV_yyctctF", + "mangledName": "$s10DittoSwift0A27PendingCollectionsOperationC26observeLocalWithNextSignal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_yAA0aD5EventV_yyctctF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A27PendingCollectionsOperationC", + "mangledName": "$s10DittoSwift0A27PendingCollectionsOperationC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoConnectionRequest", + "printedName": "DittoConnectionRequest", + "children": [ + { + "kind": "Var", + "name": "peerKeyString", + "printedName": "peerKeyString", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17ConnectionRequestC13peerKeyStringSSvp", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC13peerKeyStringSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17ConnectionRequestC13peerKeyStringSSvg", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC13peerKeyStringSSvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "peerMetadata", + "printedName": "peerMetadata", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17ConnectionRequestC12peerMetadataSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC12peerMetadataSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17ConnectionRequestC12peerMetadataSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC12peerMetadataSDySSypSgGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "peerMetadataJSONData", + "printedName": "peerMetadataJSONData", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17ConnectionRequestC20peerMetadataJSONData10Foundation4DataVvp", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC20peerMetadataJSONData10Foundation4DataVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17ConnectionRequestC20peerMetadataJSONData10Foundation4DataVvg", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC20peerMetadataJSONData10Foundation4DataVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "identityServiceMetadata", + "printedName": "identityServiceMetadata", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17ConnectionRequestC23identityServiceMetadataSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC23identityServiceMetadataSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17ConnectionRequestC23identityServiceMetadataSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC23identityServiceMetadataSDySSypSgGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "identityServiceMetadataJSONData", + "printedName": "identityServiceMetadataJSONData", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17ConnectionRequestC31identityServiceMetadataJSONData10Foundation4DataVvp", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC31identityServiceMetadataJSONData10Foundation4DataVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17ConnectionRequestC31identityServiceMetadataJSONData10Foundation4DataVvg", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC31identityServiceMetadataJSONData10Foundation4DataVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "connectionType", + "printedName": "connectionType", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17ConnectionRequestC14connectionTypeAA0acF0Ovp", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC14connectionTypeAA0acF0Ovp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionType", + "printedName": "DittoSwift.DittoConnectionType", + "usr": "s:10DittoSwift0A14ConnectionTypeO" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17ConnectionRequestC14connectionTypeAA0acF0Ovg", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC14connectionTypeAA0acF0Ovg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A17ConnectionRequestC11descriptionSSvp", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC11descriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A17ConnectionRequestC11descriptionSSvg", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC11descriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A17ConnectionRequestC", + "mangledName": "$s10DittoSwift0A17ConnectionRequestC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + } + ] + }, + { + "kind": "Import", + "name": "Combine", + "printedName": "Combine", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "DittoAddress", + "printedName": "DittoAddress", + "children": [ + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + }, + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A7AddressV2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A7AddressV2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A7AddressV9hashValueSivp", + "mangledName": "$s10DittoSwift0A7AddressV9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A7AddressV9hashValueSivg", + "mangledName": "$s10DittoSwift0A7AddressV9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A7AddressV4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A7AddressV4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(from:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAddress", + "printedName": "DittoSwift.DittoAddress", + "usr": "s:10DittoSwift0A7AddressV" + }, + { + "kind": "TypeNominal", + "name": "Decoder", + "printedName": "any Swift.Decoder", + "usr": "s:s7DecoderP" + } + ], + "declKind": "Constructor", + "usr": "s:10DittoSwift0A7AddressV4fromACs7Decoder_p_tKcfc", + "mangledName": "$s10DittoSwift0A7AddressV4fromACs7Decoder_p_tKcfc", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "throwing": true, + "init_kind": "Designated" + }, + { + "kind": "Function", + "name": "encode", + "printedName": "encode(to:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Encoder", + "printedName": "any Swift.Encoder", + "usr": "s:s7EncoderP" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A7AddressV6encode2toys7Encoder_p_tKF", + "mangledName": "$s10DittoSwift0A7AddressV6encode2toys7Encoder_p_tKF", + "moduleName": "DittoSwift", + "implicit": true, + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A7AddressV", + "mangledName": "$s10DittoSwift0A7AddressV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoPendingCursorOperation", + "printedName": "DittoPendingCursorOperation", + "children": [ + { + "kind": "Function", + "name": "limit", + "printedName": "limit(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DynamicSelf", + "printedName": "Self" + }, + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC5limityACXDs5Int32VF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC5limityACXDs5Int32VF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "sort", + "printedName": "sort(_:direction:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DynamicSelf", + "printedName": "Self" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "DittoSortDirection", + "printedName": "DittoSwift.DittoSortDirection", + "usr": "s:10DittoSwift0A13SortDirectionO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC4sort_9directionACXDSS_AA0A13SortDirectionOtF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC4sort_9directionACXDSS_AA0A13SortDirectionOtF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "offset", + "printedName": "offset(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DynamicSelf", + "printedName": "Self" + }, + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC6offsetyACXDs6UInt32VF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC6offsetyACXDs6UInt32VF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "subscribe", + "printedName": "subscribe()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSubscription", + "printedName": "DittoSwift.DittoSubscription", + "usr": "s:10DittoSwift0A12SubscriptionC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC9subscribeAA0A12SubscriptionCyF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC9subscribeAA0A12SubscriptionCyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "remove", + "printedName": "remove()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocumentID]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC6removeSayAA0A10DocumentIDVGyF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC6removeSayAA0A10DocumentIDVGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "evict", + "printedName": "evict()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocumentID]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC5evictSayAA0A10DocumentIDVGyF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC5evictSayAA0A10DocumentIDVGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "exec", + "printedName": "exec()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC4execSayAA0A8DocumentCGyF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC4execSayAA0A8DocumentCGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "observeLocal", + "printedName": "observeLocal(deliverOn:eventHandler:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQuery", + "printedName": "DittoSwift.DittoLiveQuery", + "usr": "s:10DittoSwift0A9LiveQueryC" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "([DittoSwift.DittoDocument], DittoSwift.DittoLiveQueryEvent) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "([DittoSwift.DittoDocument], DittoSwift.DittoLiveQueryEvent)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "DittoLiveQueryEvent", + "printedName": "DittoSwift.DittoLiveQueryEvent", + "usr": "s:10DittoSwift0A14LiveQueryEventO" + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC12observeLocal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_ySayAA0A8DocumentCG_AA0alM5EventOtctF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC12observeLocal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_ySayAA0A8DocumentCG_AA0alM5EventOtctF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "observeLocalWithNextSignal", + "printedName": "observeLocalWithNextSignal(deliverOn:eventHandler:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQuery", + "printedName": "DittoSwift.DittoLiveQuery", + "usr": "s:10DittoSwift0A9LiveQueryC" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "([DittoSwift.DittoDocument], DittoSwift.DittoLiveQueryEvent, @escaping () -> ()) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "([DittoSwift.DittoDocument], DittoSwift.DittoLiveQueryEvent, () -> ())", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "DittoLiveQueryEvent", + "printedName": "DittoSwift.DittoLiveQueryEvent", + "usr": "s:10DittoSwift0A14LiveQueryEventO" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "() -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ] + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC26observeLocalWithNextSignal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_ySayAA0A8DocumentCG_AA0aoP5EventOyyctctF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC26observeLocalWithNextSignal9deliverOn12eventHandlerAA0A9LiveQueryCSo17OS_dispatch_queueC_ySayAA0A8DocumentCG_AA0aoP5EventOyyctctF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "update", + "printedName": "update(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[DittoSwift.DittoDocumentID : [DittoSwift.DittoUpdateResult]]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoUpdateResult]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoUpdateResult", + "printedName": "DittoSwift.DittoUpdateResult", + "usr": "s:10DittoSwift0A12UpdateResultO" + } + ], + "usr": "s:Sa" + } + ], + "usr": "s:SD" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "([DittoSwift.DittoMutableDocument]) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoMutableDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocument", + "printedName": "DittoSwift.DittoMutableDocument", + "usr": "s:10DittoSwift0A15MutableDocumentC" + } + ], + "usr": "s:Sa" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC6updateySDyAA0A10DocumentIDVSayAA0A12UpdateResultOGGySayAA0a7MutableG0CGcF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC6updateySDyAA0A10DocumentIDVSayAA0A12UpdateResultOGGySayAA0a7MutableG0CGcF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "LiveQueryPublisher", + "printedName": "LiveQueryPublisher", + "children": [ + { + "kind": "Function", + "name": "receive", + "printedName": "receive(subscriber:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC18LiveQueryPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzSayAA0A8DocumentCG9documents_AA0afG5EventO5eventt5InputRtzlF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC18LiveQueryPublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzSayAA0A8DocumentCG9documents_AA0afG5EventO5eventt5InputRtzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Combine.Subscriber, ฯ„_0_0.Failure == Swift.Never, ฯ„_0_0.Input == (documents: [DittoSwift.DittoDocument], event: DittoSwift.DittoLiveQueryEvent)>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A22PendingCursorOperationC18LiveQueryPublisherV", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC18LiveQueryPublisherV", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Publisher", + "printedName": "Publisher", + "children": [ + { + "kind": "TypeWitness", + "name": "Output", + "printedName": "Output", + "children": [ + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(documents: [DittoSwift.DittoDocument], event: DittoSwift.DittoLiveQueryEvent)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoDocument]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocument", + "printedName": "DittoSwift.DittoDocument", + "usr": "s:10DittoSwift0A8DocumentC" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeNominal", + "name": "DittoLiveQueryEvent", + "printedName": "DittoSwift.DittoLiveQueryEvent", + "usr": "s:10DittoSwift0A14LiveQueryEventO" + } + ] + } + ] + }, + { + "kind": "TypeWitness", + "name": "Failure", + "printedName": "Failure", + "children": [ + { + "kind": "TypeNominal", + "name": "Never", + "printedName": "Swift.Never", + "usr": "s:s5NeverO" + } + ] + } + ], + "usr": "s:7Combine9PublisherP", + "mangledName": "$s7Combine9PublisherP" + } + ] + }, + { + "kind": "Function", + "name": "liveQueryPublisher", + "printedName": "liveQueryPublisher()", + "children": [ + { + "kind": "TypeNominal", + "name": "LiveQueryPublisher", + "printedName": "DittoSwift.DittoPendingCursorOperation.LiveQueryPublisher", + "usr": "s:10DittoSwift0A22PendingCursorOperationC18LiveQueryPublisherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A22PendingCursorOperationC18liveQueryPublisherAC04LivegH0VyF", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC18liveQueryPublisherAC04LivegH0VyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A22PendingCursorOperationC", + "mangledName": "$s10DittoSwift0A22PendingCursorOperationC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoMutableDocument", + "printedName": "DittoMutableDocument", + "children": [ + { + "kind": "Var", + "name": "id", + "printedName": "id", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableDocumentC2idAA0aD2IDVvp", + "mangledName": "$s10DittoSwift0A15MutableDocumentC2idAA0aD2IDVvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoDocumentID", + "printedName": "DittoSwift.DittoDocumentID", + "usr": "s:10DittoSwift0A10DocumentIDV" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableDocumentC2idAA0aD2IDVvg", + "mangledName": "$s10DittoSwift0A15MutableDocumentC2idAA0aD2IDVvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "value", + "printedName": "value", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A15MutableDocumentC5valueSDySSypSgGvp", + "mangledName": "$s10DittoSwift0A15MutableDocumentC5valueSDySSypSgGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableDocumentC5valueSDySSypSgGvg", + "mangledName": "$s10DittoSwift0A15MutableDocumentC5valueSDySSypSgGvg", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "typed", + "printedName": "typed(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTypedDocument", + "printedName": "DittoSwift.DittoTypedDocument<ฯ„_0_0>", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "usr": "s:10DittoSwift0A13TypedDocumentC" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "ฯ„_0_0.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A15MutableDocumentC5typedyAA0a5TypedD0CyxGxmKSeRzSERzlF", + "mangledName": "$s10DittoSwift0A15MutableDocumentC5typedyAA0a5TypedD0CyxGxmKSeRzSERzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Swift.Decodable, ฯ„_0_0 : Swift.Encodable>", + "sugared_genericSig": "", + "deprecated": true, + "declAttributes": [ + "AccessControl", + "Available", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A15MutableDocumentCyAA0acD4PathCSScip", + "mangledName": "$s10DittoSwift0A15MutableDocumentCyAA0acD4PathCSScip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableDocumentCyAA0acD4PathCSScig", + "mangledName": "$s10DittoSwift0A15MutableDocumentCyAA0acD4PathCSScig", + "moduleName": "DittoSwift", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoMutableDocumentPath", + "printedName": "DittoSwift.DittoMutableDocumentPath", + "usr": "s:10DittoSwift0A19MutableDocumentPathC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableDocumentCyAA0acD4PathCSScis", + "mangledName": "$s10DittoSwift0A15MutableDocumentCyAA0acD4PathCSScis", + "moduleName": "DittoSwift", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A15MutableDocumentCyAA0acD4PathCSSciM", + "mangledName": "$s10DittoSwift0A15MutableDocumentCyAA0acD4PathCSSciM", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "_modify" + } + ] + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A15MutableDocumentC", + "mangledName": "$s10DittoSwift0A15MutableDocumentC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoConnectionRequestAuthorization", + "printedName": "DittoConnectionRequestAuthorization", + "children": [ + { + "kind": "Var", + "name": "allow", + "printedName": "allow", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionRequestAuthorization.Type) -> DittoSwift.DittoConnectionRequestAuthorization", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionRequestAuthorization", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionRequestAuthorization", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO5allowyA2CmF", + "mangledName": "$s10DittoSwift0A30ConnectionRequestAuthorizationO5allowyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "deny", + "printedName": "deny", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoConnectionRequestAuthorization.Type) -> DittoSwift.DittoConnectionRequestAuthorization", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionRequestAuthorization", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoConnectionRequestAuthorization", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO4denyyA2CmF", + "mangledName": "$s10DittoSwift0A30ConnectionRequestAuthorizationO4denyyA2CmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO9hashValueSivp", + "mangledName": "$s10DittoSwift0A30ConnectionRequestAuthorizationO9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO9hashValueSivg", + "mangledName": "$s10DittoSwift0A30ConnectionRequestAuthorizationO9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A30ConnectionRequestAuthorizationO4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoConnectionRequestAuthorization", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO" + }, + { + "kind": "TypeNominal", + "name": "DittoConnectionRequestAuthorization", + "printedName": "DittoSwift.DittoConnectionRequestAuthorization", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A30ConnectionRequestAuthorizationO2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A30ConnectionRequestAuthorizationO", + "mangledName": "$s10DittoSwift0A30ConnectionRequestAuthorizationO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.DittoFFI", + "printedName": "DittoObjC.DittoFFI", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoIdentity", + "printedName": "DittoIdentity", + "children": [ + { + "kind": "Var", + "name": "offlinePlayground", + "printedName": "offlinePlayground", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoIdentity.Type) -> (Swift.String?, Swift.UInt64?) -> DittoSwift.DittoIdentity", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String?, Swift.UInt64?) -> DittoSwift.DittoIdentity", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "usr": "s:10DittoSwift0A8IdentityO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(appID: Swift.String?, siteID: Swift.UInt64?)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt64?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "usr": "s:Sq" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoIdentity.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "usr": "s:10DittoSwift0A8IdentityO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A8IdentityO17offlinePlaygroundyACSSSg_s6UInt64VSgtcACmF", + "mangledName": "$s10DittoSwift0A8IdentityO17offlinePlaygroundyACSSSg_s6UInt64VSgtcACmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "onlineWithAuthentication", + "printedName": "onlineWithAuthentication", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoIdentity.Type) -> (Swift.String, any DittoSwift.DittoAuthenticationDelegate, Swift.Bool, Foundation.URL?) -> DittoSwift.DittoIdentity", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String, any DittoSwift.DittoAuthenticationDelegate, Swift.Bool, Foundation.URL?) -> DittoSwift.DittoIdentity", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "usr": "s:10DittoSwift0A8IdentityO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(appID: Swift.String, authenticationDelegate: any DittoSwift.DittoAuthenticationDelegate, enableDittoCloudSync: Swift.Bool, customAuthURL: Foundation.URL?)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "DittoAuthenticationDelegate", + "printedName": "any DittoSwift.DittoAuthenticationDelegate", + "usr": "s:10DittoSwift0A22AuthenticationDelegateP" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.URL?", + "children": [ + { + "kind": "TypeNominal", + "name": "URL", + "printedName": "Foundation.URL", + "usr": "s:10Foundation3URLV" + } + ], + "usr": "s:Sq" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoIdentity.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "usr": "s:10DittoSwift0A8IdentityO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A8IdentityO24onlineWithAuthenticationyACSS_AA0aF8Delegate_pSb10Foundation3URLVSgtcACmF", + "mangledName": "$s10DittoSwift0A8IdentityO24onlineWithAuthenticationyACSS_AA0aF8Delegate_pSb10Foundation3URLVSgtcACmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "onlinePlayground", + "printedName": "onlinePlayground", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoIdentity.Type) -> (Swift.String, Swift.String, Swift.Bool, Foundation.URL?) -> DittoSwift.DittoIdentity", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String, Swift.String, Swift.Bool, Foundation.URL?) -> DittoSwift.DittoIdentity", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "usr": "s:10DittoSwift0A8IdentityO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(appID: Swift.String, token: Swift.String, enableDittoCloudSync: Swift.Bool, customAuthURL: Foundation.URL?)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Foundation.URL?", + "children": [ + { + "kind": "TypeNominal", + "name": "URL", + "printedName": "Foundation.URL", + "usr": "s:10Foundation3URLV" + } + ], + "usr": "s:Sq" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoIdentity.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "usr": "s:10DittoSwift0A8IdentityO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A8IdentityO16onlinePlaygroundyACSS_SSSb10Foundation3URLVSgtcACmF", + "mangledName": "$s10DittoSwift0A8IdentityO16onlinePlaygroundyACSS_SSSb10Foundation3URLVSgtcACmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "sharedKey", + "printedName": "sharedKey", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoIdentity.Type) -> (Swift.String, Swift.String, Swift.UInt64?) -> DittoSwift.DittoIdentity", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String, Swift.String, Swift.UInt64?) -> DittoSwift.DittoIdentity", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "usr": "s:10DittoSwift0A8IdentityO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(appID: Swift.String, sharedKey: Swift.String, siteID: Swift.UInt64?)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.UInt64?", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "usr": "s:Sq" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoIdentity.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "usr": "s:10DittoSwift0A8IdentityO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A8IdentityO9sharedKeyyACSS_SSs6UInt64VSgtcACmF", + "mangledName": "$s10DittoSwift0A8IdentityO9sharedKeyyACSS_SSs6UInt64VSgtcACmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Var", + "name": "manual", + "printedName": "manual", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoIdentity.Type) -> (Swift.String) -> DittoSwift.DittoIdentity", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(Swift.String) -> DittoSwift.DittoIdentity", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "usr": "s:10DittoSwift0A8IdentityO" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(certificateConfig: Swift.String)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ] + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoIdentity.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoIdentity", + "printedName": "DittoSwift.DittoIdentity", + "usr": "s:10DittoSwift0A8IdentityO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A8IdentityO6manualyACSS_tcACmF", + "mangledName": "$s10DittoSwift0A8IdentityO6manualyACSS_tcACmF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A8IdentityO", + "mangledName": "$s10DittoSwift0A8IdentityO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Import", + "name": "Combine", + "printedName": "Combine", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "Import", + "name": "DittoObjC.Private", + "printedName": "DittoObjC.Private", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "TypeDecl", + "name": "DittoQueryExecuting", + "printedName": "DittoQueryExecuting", + "children": [ + { + "kind": "Function", + "name": "execute", + "printedName": "execute(query:arguments:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoQueryResult", + "printedName": "DittoSwift.DittoQueryResult", + "usr": "s:10DittoSwift0A11QueryResultC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A14QueryExecutingP7execute5query9argumentsAA0aC6ResultCSS_SDySSypSgGtYaKF", + "mangledName": "$s10DittoSwift0A14QueryExecutingP7execute5query9argumentsAA0aC6ResultCSS_SDySSypSgGtYaKF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoQueryExecuting>", + "sugared_genericSig": "", + "protocolReq": true, + "declAttributes": [ + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "reqNewWitnessTableEntry": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "execute", + "printedName": "execute(query:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoQueryResult", + "printedName": "DittoSwift.DittoQueryResult", + "usr": "s:10DittoSwift0A11QueryResultC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A14QueryExecutingPAAE7execute5queryAA0aC6ResultCSS_tYaKF", + "mangledName": "$s10DittoSwift0A14QueryExecutingPAAE7execute5queryAA0aC6ResultCSS_tYaKF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : DittoSwift.DittoQueryExecuting>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Protocol", + "usr": "s:10DittoSwift0A14QueryExecutingP", + "mangledName": "$s10DittoSwift0A14QueryExecutingP", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "DittoStore", + "printedName": "DittoStore", + "children": [ + { + "kind": "Subscript", + "name": "subscript", + "printedName": "subscript(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCollection", + "printedName": "DittoSwift.DittoCollection", + "usr": "s:10DittoSwift0A10CollectionC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Subscript", + "usr": "s:10DittoSwift0A5StoreCyAA0A10CollectionCSScip", + "mangledName": "$s10DittoSwift0A5StoreCyAA0A10CollectionCSScip", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCollection", + "printedName": "DittoSwift.DittoCollection", + "usr": "s:10DittoSwift0A10CollectionC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreCyAA0A10CollectionCSScig", + "mangledName": "$s10DittoSwift0A5StoreCyAA0A10CollectionCSScig", + "moduleName": "DittoSwift", + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "collection", + "printedName": "collection(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoCollection", + "printedName": "DittoSwift.DittoCollection", + "usr": "s:10DittoSwift0A10CollectionC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC10collectionyAA0A10CollectionCSSF", + "mangledName": "$s10DittoSwift0A5StoreC10collectionyAA0A10CollectionCSSF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collectionNames", + "printedName": "collectionNames()", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC15collectionNamesSaySSGyF", + "mangledName": "$s10DittoSwift0A5StoreC15collectionNamesSaySSGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "collections", + "printedName": "collections()", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoPendingCollectionsOperation", + "printedName": "DittoSwift.DittoPendingCollectionsOperation", + "usr": "s:10DittoSwift0A27PendingCollectionsOperationC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC11collectionsAA0A27PendingCollectionsOperationCyF", + "mangledName": "$s10DittoSwift0A5StoreC11collectionsAA0A27PendingCollectionsOperationCyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "queriesHash", + "printedName": "queriesHash(queries:)", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoLiveQuery]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQuery", + "printedName": "DittoSwift.DittoLiveQuery", + "usr": "s:10DittoSwift0A9LiveQueryC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC11queriesHash0D0SuSayAA0A9LiveQueryCG_tF", + "mangledName": "$s10DittoSwift0A5StoreC11queriesHash0D0SuSayAA0A9LiveQueryCG_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "queriesHashMnemonic", + "printedName": "queriesHashMnemonic(queries:)", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoLiveQuery]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoLiveQuery", + "printedName": "DittoSwift.DittoLiveQuery", + "usr": "s:10DittoSwift0A9LiveQueryC" + } + ], + "usr": "s:Sa" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC19queriesHashMnemonic0D0SSSayAA0A9LiveQueryCG_tF", + "mangledName": "$s10DittoSwift0A5StoreC19queriesHashMnemonic0D0SSSayAA0A9LiveQueryCG_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "write", + "printedName": "write(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Array", + "printedName": "[DittoSwift.DittoWriteTransactionResult]", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoWriteTransactionResult", + "printedName": "DittoSwift.DittoWriteTransactionResult", + "usr": "s:10DittoSwift0A22WriteTransactionResultO" + } + ], + "usr": "s:Sa" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoWriteTransaction) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoWriteTransaction", + "printedName": "DittoSwift.DittoWriteTransaction", + "usr": "s:10DittoSwift0A16WriteTransactionC" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC5writeySayAA0A22WriteTransactionResultOGyAA0aeF0CcF", + "mangledName": "$s10DittoSwift0A5StoreC5writeySayAA0A22WriteTransactionResultOGyAA0aeF0CcF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "observers", + "printedName": "observers", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoStoreObserver", + "printedName": "DittoSwift.DittoStoreObserver", + "usr": "s:10DittoSwift0A13StoreObserverC" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A5StoreC9observersShyAA0aC8ObserverCGvp", + "mangledName": "$s10DittoSwift0A5StoreC9observersShyAA0aC8ObserverCGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoStoreObserver", + "printedName": "DittoSwift.DittoStoreObserver", + "usr": "s:10DittoSwift0A13StoreObserverC" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC9observersShyAA0aC8ObserverCGvg", + "mangledName": "$s10DittoSwift0A5StoreC9observersShyAA0aC8ObserverCGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "registerObserver", + "printedName": "registerObserver(query:arguments:deliverOn:handler:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoStoreObserver", + "printedName": "DittoSwift.DittoStoreObserver", + "usr": "s:10DittoSwift0A13StoreObserverC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoQueryResult) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoQueryResult", + "printedName": "DittoSwift.DittoQueryResult", + "usr": "s:10DittoSwift0A11QueryResultC" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC16registerObserver5query9arguments9deliverOn7handlerAA0acE0CSS_SDySSypSgGSgSo17OS_dispatch_queueCyAA0A11QueryResultCctKF", + "mangledName": "$s10DittoSwift0A5StoreC16registerObserver5query9arguments9deliverOn7handlerAA0acE0CSS_SDySSypSgGSgSo17OS_dispatch_queueCyAA0A11QueryResultCctKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "registerObserver", + "printedName": "registerObserver(query:arguments:deliverOn:handlerWithSignalNext:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoStoreObserver", + "printedName": "DittoSwift.DittoStoreObserver", + "usr": "s:10DittoSwift0A13StoreObserverC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "[Swift.String : Any?]?", + "children": [ + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoQueryResult, @escaping () -> ()) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Tuple", + "printedName": "(DittoSwift.DittoQueryResult, () -> ())", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoQueryResult", + "printedName": "DittoSwift.DittoQueryResult", + "usr": "s:10DittoSwift0A11QueryResultC" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "() -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ] + } + ] + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC16registerObserver5query9arguments9deliverOn21handlerWithSignalNextAA0acE0CSS_SDySSypSgGSgSo17OS_dispatch_queueCyAA0A11QueryResultC_yyctctKF", + "mangledName": "$s10DittoSwift0A5StoreC16registerObserver5query9arguments9deliverOn21handlerWithSignalNextAA0acE0CSS_SDySSypSgGSgSo17OS_dispatch_queueCyAA0A11QueryResultC_yyctctKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "transaction", + "printedName": "transaction(hint:isReadOnly:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransactionCompletionAction", + "printedName": "DittoSwift.DittoTransactionCompletionAction", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransaction) async throws -> DittoSwift.DittoTransactionCompletionAction", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoTransactionCompletionAction", + "printedName": "DittoSwift.DittoTransactionCompletionAction", + "usr": "s:10DittoSwift0A27TransactionCompletionActionO" + }, + { + "kind": "TypeNominal", + "name": "DittoTransaction", + "printedName": "DittoSwift.DittoTransaction", + "usr": "s:10DittoSwift0A11TransactionC" + } + ], + "typeAttributes": [ + "noescape" + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC11transaction4hint10isReadOnly4withAA0A27TransactionCompletionActionOSSSg_SbAiA0aJ0CYaKXEtYaKF", + "mangledName": "$s10DittoSwift0A5StoreC11transaction4hint10isReadOnly4withAA0A27TransactionCompletionActionOSSSg_SbAiA0aJ0CYaKXEtYaKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "transaction", + "printedName": "transaction(hint:isReadOnly:with:)", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Swift.String?", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "hasDefaultArg": true, + "usr": "s:Sb" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoTransaction) async throws -> ฯ„_0_0", + "children": [ + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + }, + { + "kind": "TypeNominal", + "name": "DittoTransaction", + "printedName": "DittoSwift.DittoTransaction", + "usr": "s:10DittoSwift0A11TransactionC" + } + ], + "typeAttributes": [ + "noescape" + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC11transaction4hint10isReadOnly4withxSSSg_SbxAA0A11TransactionCYaKXEtYaKlF", + "mangledName": "$s10DittoSwift0A5StoreC11transaction4hint10isReadOnly4withxSSSg_SbxAA0A11TransactionCYaKXEtYaKlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "newAttachment", + "printedName": "newAttachment(path:metadata:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachment", + "printedName": "DittoSwift.DittoAttachment", + "usr": "s:10DittoSwift0A10AttachmentC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Swift.String]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "hasDefaultArg": true, + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC13newAttachment4path8metadataAA0aE0CSS_SDyS2SGtYaKF", + "mangledName": "$s10DittoSwift0A5StoreC13newAttachment4path8metadataAA0aE0CSS_SDyS2SGtYaKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "attachmentFetchers", + "printedName": "attachmentFetchers", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetcher", + "printedName": "DittoSwift.DittoAttachmentFetcher", + "usr": "s:10DittoSwift0A17AttachmentFetcherC" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A5StoreC18attachmentFetchersShyAA0A17AttachmentFetcherCGvp", + "mangledName": "$s10DittoSwift0A5StoreC18attachmentFetchersShyAA0A17AttachmentFetcherCGvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "SetterAccess", + "AccessControl", + "RawDocComment" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Set", + "printedName": "Swift.Set", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetcher", + "printedName": "DittoSwift.DittoAttachmentFetcher", + "usr": "s:10DittoSwift0A17AttachmentFetcherC" + } + ], + "usr": "s:Sh" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC18attachmentFetchersShyAA0A17AttachmentFetcherCGvg", + "mangledName": "$s10DittoSwift0A5StoreC18attachmentFetchersShyAA0A17AttachmentFetcherCGvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "fetchAttachment", + "printedName": "fetchAttachment(token:deliverOn:onFetchEvent:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetcher", + "printedName": "DittoSwift.DittoAttachmentFetcher", + "usr": "s:10DittoSwift0A17AttachmentFetcherC" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentToken", + "printedName": "DittoSwift.DittoAttachmentToken", + "usr": "s:10DittoSwift0A15AttachmentTokenC" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoAttachmentFetchEvent) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC15fetchAttachment5token9deliverOn12onFetchEventAA0aE7FetcherCAA0aE5TokenC_So17OS_dispatch_queueCyAA0aejK0OctKF", + "mangledName": "$s10DittoSwift0A5StoreC15fetchAttachment5token9deliverOn12onFetchEventAA0aE7FetcherCAA0aE5TokenC_So17OS_dispatch_queueCyAA0aejK0OctKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "fetchAttachment", + "printedName": "fetchAttachment(token:deliverOn:onFetchEvent:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetcher", + "printedName": "DittoSwift.DittoAttachmentFetcher", + "usr": "s:10DittoSwift0A17AttachmentFetcherC" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:SD" + }, + { + "kind": "TypeNominal", + "name": "DispatchQueue", + "printedName": "Dispatch.DispatchQueue", + "hasDefaultArg": true, + "usr": "c:objc(cs)OS_dispatch_queue" + }, + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoAttachmentFetchEvent) -> ()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + } + ] + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC15fetchAttachment5token9deliverOn12onFetchEventAA0aE7FetcherCSDySSypG_So17OS_dispatch_queueCyAA0aejK0OctKF", + "mangledName": "$s10DittoSwift0A5StoreC15fetchAttachment5token9deliverOn12onFetchEventAA0aE7FetcherCSDySSypG_So17OS_dispatch_queueCyAA0aejK0OctKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "throwing": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "FetchAttachmentPublisher", + "printedName": "FetchAttachmentPublisher", + "children": [ + { + "kind": "TypeDecl", + "name": "Progress", + "printedName": "Progress", + "children": [ + { + "kind": "Var", + "name": "percentage", + "printedName": "percentage", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10percentageSfvp", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10percentageSfvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10percentageSfvg", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10percentageSfvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10percentageSfvs", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10percentageSfvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10percentageSfvM", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10percentageSfvM", + "moduleName": "DittoSwift", + "implicit": true, + "intro_Macosx": "10.15", + "intro_iOS": "13", + "intro_tvOS": "13", + "intro_watchOS": "6", + "declAttributes": [ + "Available", + "Available", + "Available", + "Available", + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "downloadedBytes", + "printedName": "downloadedBytes", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvp", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvg", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvs", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64VvM", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV15downloadedBytess6UInt64VvM", + "moduleName": "DittoSwift", + "implicit": true, + "intro_Macosx": "10.15", + "intro_iOS": "13", + "intro_tvOS": "13", + "intro_watchOS": "6", + "declAttributes": [ + "Available", + "Available", + "Available", + "Available", + "Available" + ], + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Var", + "name": "totalBytes", + "printedName": "totalBytes", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvp", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "HasStorage", + "AccessControl" + ], + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvg", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvs", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64Vvs", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64VvM", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV10totalBytess6UInt64VvM", + "moduleName": "DittoSwift", + "implicit": true, + "intro_Macosx": "10.15", + "intro_iOS": "13", + "intro_tvOS": "13", + "intro_watchOS": "6", + "declAttributes": [ + "Available", + "Available", + "Available", + "Available", + "Available" + ], + "accessorKind": "_modify" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + } + ] + }, + { + "kind": "Function", + "name": "receive", + "printedName": "receive(subscriber:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "GenericTypeParam", + "printedName": "ฯ„_0_0" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV7receive10subscriberyx_t7Combine10SubscriberRzAA0aB5ErrorO7FailureRtzAA0aeD5EventO5InputRtzlF", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV7receive10subscriberyx_t7Combine10SubscriberRzAA0aB5ErrorO7FailureRtzAA0aeD5EventO5InputRtzlF", + "moduleName": "DittoSwift", + "genericSig": "<ฯ„_0_0 where ฯ„_0_0 : Combine.Subscriber, ฯ„_0_0.Failure == DittoSwift.DittoSwiftError, ฯ„_0_0.Input == DittoSwift.DittoAttachmentFetchEvent>", + "sugared_genericSig": "", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "progress", + "printedName": "progress()", + "children": [ + { + "kind": "TypeNominal", + "name": "AnyPublisher", + "printedName": "Combine.AnyPublisher", + "children": [ + { + "kind": "TypeNominal", + "name": "Progress", + "printedName": "DittoSwift.DittoStore.FetchAttachmentPublisher.Progress", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8ProgressV" + }, + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ], + "usr": "s:7Combine12AnyPublisherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV8progress7Combine03AnyF0VyAE8ProgressVAA0aB5ErrorOGyF", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV8progress7Combine03AnyF0VyAE8ProgressVAA0aB5ErrorOGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "completed", + "printedName": "completed()", + "children": [ + { + "kind": "TypeNominal", + "name": "AnyPublisher", + "printedName": "Combine.AnyPublisher", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachment", + "printedName": "DittoSwift.DittoAttachment", + "usr": "s:10DittoSwift0A10AttachmentC" + }, + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ], + "usr": "s:7Combine12AnyPublisherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV9completed7Combine03AnyF0VyAA0aE0CAA0aB5ErrorOGyF", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV9completed7Combine03AnyF0VyAA0aE0CAA0aB5ErrorOGyF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Struct", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV", + "mangledName": "$s10DittoSwift0A5StoreC24FetchAttachmentPublisherV", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Publisher", + "printedName": "Publisher", + "children": [ + { + "kind": "TypeWitness", + "name": "Output", + "printedName": "Output", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoAttachmentFetchEvent", + "printedName": "DittoSwift.DittoAttachmentFetchEvent", + "usr": "s:10DittoSwift0A20AttachmentFetchEventO" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Failure", + "printedName": "Failure", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoSwiftError", + "printedName": "DittoSwift.DittoSwiftError", + "usr": "s:10DittoSwift0aB5ErrorO" + } + ] + } + ], + "usr": "s:7Combine9PublisherP", + "mangledName": "$s7Combine9PublisherP" + } + ] + }, + { + "kind": "Function", + "name": "fetchAttachmentPublisher", + "printedName": "fetchAttachmentPublisher(attachmentToken:)", + "children": [ + { + "kind": "TypeNominal", + "name": "FetchAttachmentPublisher", + "printedName": "DittoSwift.DittoStore.FetchAttachmentPublisher", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV" + }, + { + "kind": "TypeNominal", + "name": "DittoAttachmentToken", + "printedName": "DittoSwift.DittoAttachmentToken", + "usr": "s:10DittoSwift0A15AttachmentTokenC" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC24fetchAttachmentPublisher15attachmentTokenAC05FetcheF0VAA0aeH0C_tF", + "mangledName": "$s10DittoSwift0A5StoreC24fetchAttachmentPublisher15attachmentTokenAC05FetcheF0VAA0aeH0C_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "fetchAttachmentPublisher", + "printedName": "fetchAttachmentPublisher(attachmentToken:)", + "children": [ + { + "kind": "TypeNominal", + "name": "FetchAttachmentPublisher", + "printedName": "DittoSwift.DittoStore.FetchAttachmentPublisher", + "usr": "s:10DittoSwift0A5StoreC24FetchAttachmentPublisherV" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC24fetchAttachmentPublisher15attachmentTokenAC05FetcheF0VSDySSypG_tF", + "mangledName": "$s10DittoSwift0A5StoreC24fetchAttachmentPublisher15attachmentTokenAC05FetcheF0VSDySSypG_tF", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ], + "isFromExtension": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "execute", + "printedName": "execute(query:arguments:)", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoQueryResult", + "printedName": "DittoSwift.DittoQueryResult", + "usr": "s:10DittoSwift0A11QueryResultC" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Dictionary", + "printedName": "[Swift.String : Any?]", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + }, + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "Any?", + "children": [ + { + "kind": "TypeNominal", + "name": "ProtocolComposition", + "printedName": "Any" + } + ], + "usr": "s:Sq" + } + ], + "usr": "s:SD" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A5StoreC7execute5query9argumentsAA0A11QueryResultCSS_SDySSypSgGtYaKF", + "mangledName": "$s10DittoSwift0A5StoreC7execute5query9argumentsAA0A11QueryResultCSS_SDySSypSgGtYaKF", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "DiscardableResult", + "RawDocComment" + ], + "isFromExtension": true, + "throwing": true, + "funcSelfKind": "NonMutating" + } + ], + "declKind": "Class", + "usr": "s:10DittoSwift0A5StoreC", + "mangledName": "$s10DittoSwift0A5StoreC", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "hasMissingDesignatedInitializers": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "DittoQueryExecuting", + "printedName": "DittoQueryExecuting", + "usr": "s:10DittoSwift0A14QueryExecutingP", + "mangledName": "$s10DittoSwift0A14QueryExecutingP" + } + ] + }, + { + "kind": "Import", + "name": "Combine", + "printedName": "Combine", + "declKind": "Import", + "moduleName": "DittoSwift" + }, + { + "kind": "Import", + "name": "DittoObjC", + "printedName": "DittoObjC", + "declKind": "Import", + "moduleName": "DittoSwift", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "DittoFileSystemType", + "printedName": "DittoFileSystemType", + "children": [ + { + "kind": "Var", + "name": "directory", + "printedName": "directory", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoFileSystemType.Type) -> DittoSwift.DittoFileSystemType", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoFileSystemType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A14FileSystemTypeO9directoryyA2CmF", + "mangledName": "$s10DittoSwift0A14FileSystemTypeO9directoryyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "file", + "printedName": "file", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoFileSystemType.Type) -> DittoSwift.DittoFileSystemType", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoFileSystemType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A14FileSystemTypeO4fileyA2CmF", + "mangledName": "$s10DittoSwift0A14FileSystemTypeO4fileyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Var", + "name": "symlink", + "printedName": "symlink", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(DittoSwift.DittoFileSystemType.Type) -> DittoSwift.DittoFileSystemType", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "DittoSwift.DittoFileSystemType.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:10DittoSwift0A14FileSystemTypeO7symlinkyA2CmF", + "mangledName": "$s10DittoSwift0A14FileSystemTypeO7symlinkyA2CmF", + "moduleName": "DittoSwift" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + }, + { + "kind": "TypeNominal", + "name": "DittoFileSystemType", + "printedName": "DittoSwift.DittoFileSystemType", + "usr": "s:10DittoSwift0A14FileSystemTypeO" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A14FileSystemTypeO2eeoiySbAC_ACtFZ", + "mangledName": "$s10DittoSwift0A14FileSystemTypeO2eeoiySbAC_ACtFZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "hashValue", + "printedName": "hashValue", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14FileSystemTypeO9hashValueSivp", + "mangledName": "$s10DittoSwift0A14FileSystemTypeO9hashValueSivp", + "moduleName": "DittoSwift", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14FileSystemTypeO9hashValueSivg", + "mangledName": "$s10DittoSwift0A14FileSystemTypeO9hashValueSivg", + "moduleName": "DittoSwift", + "implicit": true, + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "hash", + "printedName": "hash(into:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "Hasher", + "printedName": "Swift.Hasher", + "paramValueOwnership": "InOut", + "usr": "s:s6HasherV" + } + ], + "declKind": "Func", + "usr": "s:10DittoSwift0A14FileSystemTypeO4hash4intoys6HasherVz_tF", + "mangledName": "$s10DittoSwift0A14FileSystemTypeO4hash4intoys6HasherVz_tF", + "moduleName": "DittoSwift", + "implicit": true, + "funcSelfKind": "NonMutating" + }, + { + "kind": "Var", + "name": "description", + "printedName": "description", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:10DittoSwift0A14FileSystemTypeO11descriptionSSvp", + "mangledName": "$s10DittoSwift0A14FileSystemTypeO11descriptionSSvp", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl" + ], + "isFromExtension": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:10DittoSwift0A14FileSystemTypeO11descriptionSSvg", + "mangledName": "$s10DittoSwift0A14FileSystemTypeO11descriptionSSvg", + "moduleName": "DittoSwift", + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:10DittoSwift0A14FileSystemTypeO", + "mangledName": "$s10DittoSwift0A14FileSystemTypeO", + "moduleName": "DittoSwift", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "String", + "printedName": "String", + "children": [ + { + "kind": "Var", + "name": "history", + "printedName": "history", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:SS10DittoSwiftE7historySSvpZ", + "mangledName": "$sSS10DittoSwiftE7historySSvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "RawDocComment" + ], + "isFromExtension": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:SS10DittoSwiftE7historySSvgZ", + "mangledName": "$sSS10DittoSwiftE7historySSvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:SS10DittoSwiftE7historySSvsZ", + "mangledName": "$sSS10DittoSwiftE7historySSvsZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:SS10DittoSwiftE7historySSvMZ", + "mangledName": "$sSS10DittoSwiftE7historySSvMZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "_modify" + } + ] + } + ], + "declKind": "Struct", + "usr": "s:SS", + "mangledName": "$sSS", + "moduleName": "Swift", + "declAttributes": [ + "EagerMove", + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CodingKeyRepresentable", + "printedName": "CodingKeyRepresentable", + "usr": "s:s22CodingKeyRepresentableP", + "mangledName": "$ss22CodingKeyRepresentableP" + }, + { + "kind": "Conformance", + "name": "_HasContiguousBytes", + "printedName": "_HasContiguousBytes", + "usr": "s:s19_HasContiguousBytesP", + "mangledName": "$ss19_HasContiguousBytesP" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "TextOutputStream", + "printedName": "TextOutputStream", + "usr": "s:s16TextOutputStreamP", + "mangledName": "$ss16TextOutputStreamP" + }, + { + "kind": "Conformance", + "name": "TextOutputStreamable", + "printedName": "TextOutputStreamable", + "usr": "s:s20TextOutputStreamableP", + "mangledName": "$ss20TextOutputStreamableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinUnicodeScalarLiteral", + "printedName": "_ExpressibleByBuiltinUnicodeScalarLiteral", + "usr": "s:s41_ExpressibleByBuiltinUnicodeScalarLiteralP", + "mangledName": "$ss41_ExpressibleByBuiltinUnicodeScalarLiteralP" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinExtendedGraphemeClusterLiteral", + "printedName": "_ExpressibleByBuiltinExtendedGraphemeClusterLiteral", + "usr": "s:s51_ExpressibleByBuiltinExtendedGraphemeClusterLiteralP", + "mangledName": "$ss51_ExpressibleByBuiltinExtendedGraphemeClusterLiteralP" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinStringLiteral", + "printedName": "_ExpressibleByBuiltinStringLiteral", + "usr": "s:s34_ExpressibleByBuiltinStringLiteralP", + "mangledName": "$ss34_ExpressibleByBuiltinStringLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByStringLiteral", + "printedName": "ExpressibleByStringLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "StringLiteralType", + "printedName": "StringLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s26ExpressibleByStringLiteralP", + "mangledName": "$ss26ExpressibleByStringLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByExtendedGraphemeClusterLiteral", + "printedName": "ExpressibleByExtendedGraphemeClusterLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "ExtendedGraphemeClusterLiteralType", + "printedName": "ExtendedGraphemeClusterLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s43ExpressibleByExtendedGraphemeClusterLiteralP", + "mangledName": "$ss43ExpressibleByExtendedGraphemeClusterLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByUnicodeScalarLiteral", + "printedName": "ExpressibleByUnicodeScalarLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "UnicodeScalarLiteralType", + "printedName": "UnicodeScalarLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:s33ExpressibleByUnicodeScalarLiteralP", + "mangledName": "$ss33ExpressibleByUnicodeScalarLiteralP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "BidirectionalCollection", + "printedName": "BidirectionalCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "Character", + "printedName": "Swift.Character", + "usr": "s:SJ" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Index", + "printedName": "Swift.String.Index", + "usr": "s:SS5IndexV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "Substring", + "printedName": "Swift.Substring", + "usr": "s:Ss" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Indices", + "printedName": "Indices", + "children": [ + { + "kind": "TypeNominal", + "name": "DefaultIndices", + "printedName": "Swift.DefaultIndices", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:SI" + } + ] + } + ], + "usr": "s:SK", + "mangledName": "$sSK" + }, + { + "kind": "Conformance", + "name": "Collection", + "printedName": "Collection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "Character", + "printedName": "Swift.Character", + "usr": "s:SJ" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Index", + "printedName": "Swift.String.Index", + "usr": "s:SS5IndexV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Iterator", + "printedName": "Iterator", + "children": [ + { + "kind": "TypeNominal", + "name": "Iterator", + "printedName": "Swift.String.Iterator", + "usr": "s:SS8IteratorV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "Substring", + "printedName": "Swift.Substring", + "usr": "s:Ss" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Indices", + "printedName": "Indices", + "children": [ + { + "kind": "TypeNominal", + "name": "DefaultIndices", + "printedName": "Swift.DefaultIndices", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "usr": "s:SI" + } + ] + } + ], + "usr": "s:Sl", + "mangledName": "$sSl" + }, + { + "kind": "Conformance", + "name": "Sequence", + "printedName": "Sequence", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "Character", + "printedName": "Swift.Character", + "usr": "s:SJ" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Iterator", + "printedName": "Iterator", + "children": [ + { + "kind": "TypeNominal", + "name": "Iterator", + "printedName": "Swift.String.Iterator", + "usr": "s:SS8IteratorV" + } + ] + } + ], + "usr": "s:ST", + "mangledName": "$sST" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "StringProtocol", + "printedName": "StringProtocol", + "children": [ + { + "kind": "TypeWitness", + "name": "UTF8View", + "printedName": "UTF8View", + "children": [ + { + "kind": "TypeNominal", + "name": "UTF8View", + "printedName": "Swift.String.UTF8View", + "usr": "s:SS8UTF8ViewV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "UTF16View", + "printedName": "UTF16View", + "children": [ + { + "kind": "TypeNominal", + "name": "UTF16View", + "printedName": "Swift.String.UTF16View", + "usr": "s:SS9UTF16ViewV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "UnicodeScalarView", + "printedName": "UnicodeScalarView", + "children": [ + { + "kind": "TypeNominal", + "name": "UnicodeScalarView", + "printedName": "Swift.String.UnicodeScalarView", + "usr": "s:SS17UnicodeScalarViewV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "Substring", + "printedName": "Swift.Substring", + "usr": "s:Ss" + } + ] + } + ], + "usr": "s:Sy", + "mangledName": "$sSy" + }, + { + "kind": "Conformance", + "name": "ExpressibleByStringInterpolation", + "printedName": "ExpressibleByStringInterpolation", + "children": [ + { + "kind": "TypeWitness", + "name": "StringInterpolation", + "printedName": "StringInterpolation", + "children": [ + { + "kind": "TypeNominal", + "name": "DefaultStringInterpolation", + "printedName": "Swift.DefaultStringInterpolation", + "usr": "s:s26DefaultStringInterpolationV" + } + ] + } + ], + "usr": "s:s32ExpressibleByStringInterpolationP", + "mangledName": "$ss32ExpressibleByStringInterpolationP" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "RangeReplaceableCollection", + "printedName": "RangeReplaceableCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "Substring", + "printedName": "Swift.Substring", + "usr": "s:Ss" + } + ] + } + ], + "usr": "s:Sm", + "mangledName": "$sSm" + }, + { + "kind": "Conformance", + "name": "MirrorPath", + "printedName": "MirrorPath", + "usr": "s:s10MirrorPathP", + "mangledName": "$ss10MirrorPathP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSString", + "printedName": "Foundation.NSString", + "usr": "c:objc(cs)NSString" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Int", + "printedName": "Int", + "declKind": "Struct", + "usr": "s:Si", + "mangledName": "$sSi", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "SignedInteger", + "printedName": "SignedInteger", + "usr": "s:SZ", + "mangledName": "$sSZ" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.Int.Words", + "usr": "s:Si5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "SignedNumeric", + "printedName": "SignedNumeric", + "usr": "s:s13SignedNumericP", + "mangledName": "$ss13SignedNumericP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CodingKeyRepresentable", + "printedName": "CodingKeyRepresentable", + "usr": "s:s22CodingKeyRepresentableP", + "mangledName": "$ss22CodingKeyRepresentableP" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "MirrorPath", + "printedName": "MirrorPath", + "usr": "s:s10MirrorPathP", + "mangledName": "$ss10MirrorPathP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.Int.SIMD2Storage", + "usr": "s:Si12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.Int.SIMD4Storage", + "usr": "s:Si12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.Int.SIMD8Storage", + "usr": "s:Si12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.Int.SIMD16Storage", + "usr": "s:Si13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.Int.SIMD32Storage", + "usr": "s:Si13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.Int.SIMD64Storage", + "usr": "s:Si13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Int8", + "printedName": "Int8", + "declKind": "Struct", + "usr": "s:s4Int8V", + "mangledName": "$ss4Int8V", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "SignedInteger", + "printedName": "SignedInteger", + "usr": "s:SZ", + "mangledName": "$sSZ" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.Int8.Words", + "usr": "s:s4Int8V5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "SignedNumeric", + "printedName": "SignedNumeric", + "usr": "s:s13SignedNumericP", + "mangledName": "$ss13SignedNumericP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Int8", + "printedName": "Swift.Int8", + "usr": "s:s4Int8V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int8", + "printedName": "Swift.Int8", + "usr": "s:s4Int8V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.Int8.SIMD2Storage", + "usr": "s:s4Int8V12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.Int8.SIMD4Storage", + "usr": "s:s4Int8V12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.Int8.SIMD8Storage", + "usr": "s:s4Int8V12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.Int8.SIMD16Storage", + "usr": "s:s4Int8V13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.Int8.SIMD32Storage", + "usr": "s:s4Int8V13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.Int8.SIMD64Storage", + "usr": "s:s4Int8V13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Int16", + "printedName": "Int16", + "declKind": "Struct", + "usr": "s:s5Int16V", + "mangledName": "$ss5Int16V", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "SignedInteger", + "printedName": "SignedInteger", + "usr": "s:SZ", + "mangledName": "$sSZ" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.Int16.Words", + "usr": "s:s5Int16V5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "SignedNumeric", + "printedName": "SignedNumeric", + "usr": "s:s13SignedNumericP", + "mangledName": "$ss13SignedNumericP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Int16", + "printedName": "Swift.Int16", + "usr": "s:s5Int16V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int16", + "printedName": "Swift.Int16", + "usr": "s:s5Int16V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.Int16.SIMD2Storage", + "usr": "s:s5Int16V12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.Int16.SIMD4Storage", + "usr": "s:s5Int16V12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.Int16.SIMD8Storage", + "usr": "s:s5Int16V12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.Int16.SIMD16Storage", + "usr": "s:s5Int16V13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.Int16.SIMD32Storage", + "usr": "s:s5Int16V13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.Int16.SIMD64Storage", + "usr": "s:s5Int16V13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Int32", + "printedName": "Int32", + "declKind": "Struct", + "usr": "s:s5Int32V", + "mangledName": "$ss5Int32V", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "SignedInteger", + "printedName": "SignedInteger", + "usr": "s:SZ", + "mangledName": "$sSZ" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.Int32.Words", + "usr": "s:s5Int32V5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "SignedNumeric", + "printedName": "SignedNumeric", + "usr": "s:s13SignedNumericP", + "mangledName": "$ss13SignedNumericP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Error", + "printedName": "Error", + "usr": "s:s5ErrorP", + "mangledName": "$ss5ErrorP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.Int32.SIMD2Storage", + "usr": "s:s5Int32V12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.Int32.SIMD4Storage", + "usr": "s:s5Int32V12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.Int32.SIMD8Storage", + "usr": "s:s5Int32V12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.Int32.SIMD16Storage", + "usr": "s:s5Int32V13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.Int32.SIMD32Storage", + "usr": "s:s5Int32V13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.Int32.SIMD64Storage", + "usr": "s:s5Int32V13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Int64", + "printedName": "Int64", + "declKind": "Struct", + "usr": "s:s5Int64V", + "mangledName": "$ss5Int64V", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "SignedInteger", + "printedName": "SignedInteger", + "usr": "s:SZ", + "mangledName": "$sSZ" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.Int64.Words", + "usr": "s:s5Int64V5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "SignedNumeric", + "printedName": "SignedNumeric", + "usr": "s:s13SignedNumericP", + "mangledName": "$ss13SignedNumericP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_CVarArgAligned", + "printedName": "_CVarArgAligned", + "usr": "s:s15_CVarArgAlignedP", + "mangledName": "$ss15_CVarArgAlignedP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.Int64.SIMD2Storage", + "usr": "s:s5Int64V12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.Int64.SIMD4Storage", + "usr": "s:s5Int64V12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.Int64.SIMD8Storage", + "usr": "s:s5Int64V12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.Int64.SIMD16Storage", + "usr": "s:s5Int64V13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.Int64.SIMD32Storage", + "usr": "s:s5Int64V13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.Int64.SIMD64Storage", + "usr": "s:s5Int64V13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "UInt", + "printedName": "UInt", + "declKind": "Struct", + "usr": "s:Su", + "mangledName": "$sSu", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "UnsignedInteger", + "printedName": "UnsignedInteger", + "usr": "s:SU", + "mangledName": "$sSU" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.UInt.Words", + "usr": "s:Su5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.UInt.SIMD2Storage", + "usr": "s:Su12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.UInt.SIMD4Storage", + "usr": "s:Su12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.UInt.SIMD8Storage", + "usr": "s:Su12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.UInt.SIMD16Storage", + "usr": "s:Su13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.UInt.SIMD32Storage", + "usr": "s:Su13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.UInt.SIMD64Storage", + "usr": "s:Su13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "UInt8", + "printedName": "UInt8", + "declKind": "Struct", + "usr": "s:s5UInt8V", + "mangledName": "$ss5UInt8V", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "UnsignedInteger", + "printedName": "UnsignedInteger", + "usr": "s:SU", + "mangledName": "$sSU" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.UInt8.Words", + "usr": "s:s5UInt8V5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "_StringElement", + "printedName": "_StringElement", + "usr": "s:s14_StringElementP", + "mangledName": "$ss14_StringElementP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int8", + "printedName": "Swift.Int8", + "usr": "s:s4Int8V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.UInt8.SIMD2Storage", + "usr": "s:s5UInt8V12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.UInt8.SIMD4Storage", + "usr": "s:s5UInt8V12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.UInt8.SIMD8Storage", + "usr": "s:s5UInt8V12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.UInt8.SIMD16Storage", + "usr": "s:s5UInt8V13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.UInt8.SIMD32Storage", + "usr": "s:s5UInt8V13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.UInt8.SIMD64Storage", + "usr": "s:s5UInt8V13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "UInt16", + "printedName": "UInt16", + "declKind": "Struct", + "usr": "s:s6UInt16V", + "mangledName": "$ss6UInt16V", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "UnsignedInteger", + "printedName": "UnsignedInteger", + "usr": "s:SU", + "mangledName": "$sSU" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.UInt16.Words", + "usr": "s:s6UInt16V5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt16", + "printedName": "Swift.UInt16", + "usr": "s:s6UInt16V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "_StringElement", + "printedName": "_StringElement", + "usr": "s:s14_StringElementP", + "mangledName": "$ss14_StringElementP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int16", + "printedName": "Swift.Int16", + "usr": "s:s5Int16V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.UInt16.SIMD2Storage", + "usr": "s:s6UInt16V12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.UInt16.SIMD4Storage", + "usr": "s:s6UInt16V12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.UInt16.SIMD8Storage", + "usr": "s:s6UInt16V12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.UInt16.SIMD16Storage", + "usr": "s:s6UInt16V13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.UInt16.SIMD32Storage", + "usr": "s:s6UInt16V13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.UInt16.SIMD64Storage", + "usr": "s:s6UInt16V13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "UInt32", + "printedName": "UInt32", + "declKind": "Struct", + "usr": "s:s6UInt32V", + "mangledName": "$ss6UInt32V", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "UnsignedInteger", + "printedName": "UnsignedInteger", + "usr": "s:SU", + "mangledName": "$sSU" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.UInt32.Words", + "usr": "s:s6UInt32V5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.UInt32.SIMD2Storage", + "usr": "s:s6UInt32V12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.UInt32.SIMD4Storage", + "usr": "s:s6UInt32V12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.UInt32.SIMD8Storage", + "usr": "s:s6UInt32V12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.UInt32.SIMD16Storage", + "usr": "s:s6UInt32V13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.UInt32.SIMD32Storage", + "usr": "s:s6UInt32V13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.UInt32.SIMD64Storage", + "usr": "s:s6UInt32V13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "UInt64", + "printedName": "UInt64", + "declKind": "Struct", + "usr": "s:s6UInt64V", + "mangledName": "$ss6UInt64V", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "FixedWidthInteger", + "printedName": "FixedWidthInteger", + "usr": "s:s17FixedWidthIntegerP", + "mangledName": "$ss17FixedWidthIntegerP" + }, + { + "kind": "Conformance", + "name": "UnsignedInteger", + "printedName": "UnsignedInteger", + "usr": "s:SU", + "mangledName": "$sSU" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "BinaryInteger", + "printedName": "BinaryInteger", + "children": [ + { + "kind": "TypeWitness", + "name": "Words", + "printedName": "Words", + "children": [ + { + "kind": "TypeNominal", + "name": "Words", + "printedName": "Swift.UInt64.Words", + "usr": "s:s6UInt64V5WordsV" + } + ] + } + ], + "usr": "s:Sz", + "mangledName": "$sSz" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_CVarArgAligned", + "printedName": "_CVarArgAligned", + "usr": "s:s15_CVarArgAlignedP", + "mangledName": "$ss15_CVarArgAlignedP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.UInt64.SIMD2Storage", + "usr": "s:s6UInt64V12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.UInt64.SIMD4Storage", + "usr": "s:s6UInt64V12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.UInt64.SIMD8Storage", + "usr": "s:s6UInt64V12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.UInt64.SIMD16Storage", + "usr": "s:s6UInt64V13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.UInt64.SIMD32Storage", + "usr": "s:s6UInt64V13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.UInt64.SIMD64Storage", + "usr": "s:s6UInt64V13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Float", + "printedName": "Float", + "declKind": "Struct", + "usr": "s:Sf", + "mangledName": "$sSf", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "_CVarArgPassedAsDouble", + "printedName": "_CVarArgPassedAsDouble", + "usr": "s:s22_CVarArgPassedAsDoubleP", + "mangledName": "$ss22_CVarArgPassedAsDoubleP" + }, + { + "kind": "Conformance", + "name": "_CVarArgAligned", + "printedName": "_CVarArgAligned", + "usr": "s:s15_CVarArgAlignedP", + "mangledName": "$ss15_CVarArgAlignedP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "TextOutputStreamable", + "printedName": "TextOutputStreamable", + "usr": "s:s20TextOutputStreamableP", + "mangledName": "$ss20TextOutputStreamableP" + }, + { + "kind": "Conformance", + "name": "BinaryFloatingPoint", + "printedName": "BinaryFloatingPoint", + "children": [ + { + "kind": "TypeWitness", + "name": "RawSignificand", + "printedName": "RawSignificand", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt32", + "printedName": "Swift.UInt32", + "usr": "s:s6UInt32V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "RawExponent", + "printedName": "RawExponent", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ] + } + ], + "usr": "s:SB", + "mangledName": "$sSB" + }, + { + "kind": "Conformance", + "name": "ExpressibleByFloatLiteral", + "printedName": "ExpressibleByFloatLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "FloatLiteralType", + "printedName": "FloatLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ] + } + ], + "usr": "s:s25ExpressibleByFloatLiteralP", + "mangledName": "$ss25ExpressibleByFloatLiteralP" + }, + { + "kind": "Conformance", + "name": "FloatingPoint", + "printedName": "FloatingPoint", + "children": [ + { + "kind": "TypeWitness", + "name": "Exponent", + "printedName": "Exponent", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:SF", + "mangledName": "$sSF" + }, + { + "kind": "Conformance", + "name": "SignedNumeric", + "printedName": "SignedNumeric", + "usr": "s:s13SignedNumericP", + "mangledName": "$ss13SignedNumericP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinFloatLiteral", + "printedName": "_ExpressibleByBuiltinFloatLiteral", + "usr": "s:s33_ExpressibleByBuiltinFloatLiteralP", + "mangledName": "$ss33_ExpressibleByBuiltinFloatLiteralP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int32", + "printedName": "Swift.Int32", + "usr": "s:s5Int32V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.Float.SIMD2Storage", + "usr": "s:Sf12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.Float.SIMD4Storage", + "usr": "s:Sf12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.Float.SIMD8Storage", + "usr": "s:Sf12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.Float.SIMD16Storage", + "usr": "s:Sf13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.Float.SIMD32Storage", + "usr": "s:Sf13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.Float.SIMD64Storage", + "usr": "s:Sf13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "Float", + "printedName": "Swift.Float", + "usr": "s:Sf" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Double", + "printedName": "Double", + "declKind": "Struct", + "usr": "s:Sd", + "mangledName": "$sSd", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "_CVarArgPassedAsDouble", + "printedName": "_CVarArgPassedAsDouble", + "usr": "s:s22_CVarArgPassedAsDoubleP", + "mangledName": "$ss22_CVarArgPassedAsDoubleP" + }, + { + "kind": "Conformance", + "name": "_CVarArgAligned", + "printedName": "_CVarArgAligned", + "usr": "s:s15_CVarArgAlignedP", + "mangledName": "$ss15_CVarArgAlignedP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "TextOutputStreamable", + "printedName": "TextOutputStreamable", + "usr": "s:s20TextOutputStreamableP", + "mangledName": "$ss20TextOutputStreamableP" + }, + { + "kind": "Conformance", + "name": "BinaryFloatingPoint", + "printedName": "BinaryFloatingPoint", + "children": [ + { + "kind": "TypeWitness", + "name": "RawSignificand", + "printedName": "RawSignificand", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt64", + "printedName": "Swift.UInt64", + "usr": "s:s6UInt64V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "RawExponent", + "printedName": "RawExponent", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt", + "printedName": "Swift.UInt", + "usr": "s:Su" + } + ] + } + ], + "usr": "s:SB", + "mangledName": "$sSB" + }, + { + "kind": "Conformance", + "name": "ExpressibleByFloatLiteral", + "printedName": "ExpressibleByFloatLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "FloatLiteralType", + "printedName": "FloatLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ] + } + ], + "usr": "s:s25ExpressibleByFloatLiteralP", + "mangledName": "$ss25ExpressibleByFloatLiteralP" + }, + { + "kind": "Conformance", + "name": "FloatingPoint", + "printedName": "FloatingPoint", + "children": [ + { + "kind": "TypeWitness", + "name": "Exponent", + "printedName": "Exponent", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + } + ], + "usr": "s:SF", + "mangledName": "$sSF" + }, + { + "kind": "Conformance", + "name": "SignedNumeric", + "printedName": "SignedNumeric", + "usr": "s:s13SignedNumericP", + "mangledName": "$ss13SignedNumericP" + }, + { + "kind": "Conformance", + "name": "Numeric", + "printedName": "Numeric", + "children": [ + { + "kind": "TypeWitness", + "name": "Magnitude", + "printedName": "Magnitude", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ] + } + ], + "usr": "s:Sj", + "mangledName": "$sSj" + }, + { + "kind": "Conformance", + "name": "AdditiveArithmetic", + "printedName": "AdditiveArithmetic", + "usr": "s:s18AdditiveArithmeticP", + "mangledName": "$ss18AdditiveArithmeticP" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinIntegerLiteral", + "printedName": "_ExpressibleByBuiltinIntegerLiteral", + "usr": "s:s35_ExpressibleByBuiltinIntegerLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByIntegerLiteral", + "printedName": "ExpressibleByIntegerLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "IntegerLiteralType", + "printedName": "IntegerLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ] + } + ], + "usr": "s:s27ExpressibleByIntegerLiteralP", + "mangledName": "$ss27ExpressibleByIntegerLiteralP" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinFloatLiteral", + "printedName": "_ExpressibleByBuiltinFloatLiteral", + "usr": "s:s33_ExpressibleByBuiltinFloatLiteralP", + "mangledName": "$ss33_ExpressibleByBuiltinFloatLiteralP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + }, + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "SIMDScalar", + "printedName": "SIMDScalar", + "children": [ + { + "kind": "TypeWitness", + "name": "SIMDMaskScalar", + "printedName": "SIMDMaskScalar", + "children": [ + { + "kind": "TypeNominal", + "name": "Int64", + "printedName": "Swift.Int64", + "usr": "s:s5Int64V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD2Storage", + "printedName": "SIMD2Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD2Storage", + "printedName": "Swift.Double.SIMD2Storage", + "usr": "s:Sd12SIMD2StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD4Storage", + "printedName": "SIMD4Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD4Storage", + "printedName": "Swift.Double.SIMD4Storage", + "usr": "s:Sd12SIMD4StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD8Storage", + "printedName": "SIMD8Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD8Storage", + "printedName": "Swift.Double.SIMD8Storage", + "usr": "s:Sd12SIMD8StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD16Storage", + "printedName": "SIMD16Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD16Storage", + "printedName": "Swift.Double.SIMD16Storage", + "usr": "s:Sd13SIMD16StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD32Storage", + "printedName": "SIMD32Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD32Storage", + "printedName": "Swift.Double.SIMD32Storage", + "usr": "s:Sd13SIMD32StorageV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SIMD64Storage", + "printedName": "SIMD64Storage", + "children": [ + { + "kind": "TypeNominal", + "name": "SIMD64Storage", + "printedName": "Swift.Double.SIMD64Storage", + "usr": "s:Sd13SIMD64StorageV" + } + ] + } + ], + "usr": "s:s10SIMDScalarP", + "mangledName": "$ss10SIMDScalarP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_FormatSpecifiable", + "printedName": "_FormatSpecifiable", + "children": [ + { + "kind": "TypeWitness", + "name": "_Arg", + "printedName": "_Arg", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ] + } + ], + "usr": "s:10Foundation18_FormatSpecifiableP", + "mangledName": "$s10Foundation18_FormatSpecifiableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Bool", + "printedName": "Bool", + "declKind": "Struct", + "usr": "s:Sb", + "mangledName": "$sSb", + "moduleName": "Swift", + "declAttributes": [ + "Frozen" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "_ExpressibleByBuiltinBooleanLiteral", + "printedName": "_ExpressibleByBuiltinBooleanLiteral", + "usr": "s:s35_ExpressibleByBuiltinBooleanLiteralP", + "mangledName": "$ss35_ExpressibleByBuiltinBooleanLiteralP" + }, + { + "kind": "Conformance", + "name": "ExpressibleByBooleanLiteral", + "printedName": "ExpressibleByBooleanLiteral", + "children": [ + { + "kind": "TypeWitness", + "name": "BooleanLiteralType", + "printedName": "BooleanLiteralType", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ] + } + ], + "usr": "s:s27ExpressibleByBooleanLiteralP", + "mangledName": "$ss27ExpressibleByBooleanLiteralP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "LosslessStringConvertible", + "printedName": "LosslessStringConvertible", + "usr": "s:s25LosslessStringConvertibleP", + "mangledName": "$ss25LosslessStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "BitwiseCopyable", + "printedName": "BitwiseCopyable", + "usr": "s:s15BitwiseCopyableP", + "mangledName": "$ss15BitwiseCopyableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSNumber", + "printedName": "Foundation.NSNumber", + "usr": "c:objc(cs)NSNumber" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "NSNull", + "printedName": "NSNull", + "declKind": "Class", + "usr": "c:objc(cs)NSNull", + "moduleName": "Foundation", + "isOpen": true, + "objc_name": "NSNull", + "declAttributes": [ + "ObjC", + "SynthesizedProtocol", + "NonSendable", + "Sendable", + "Dynamic" + ], + "superclassUsr": "c:objc(cs)NSObject", + "isExternal": true, + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Date", + "printedName": "Date", + "declKind": "Struct", + "usr": "s:10Foundation4DateV", + "mangledName": "$s10Foundation4DateV", + "moduleName": "Foundation", + "intro_Macosx": "10.10", + "intro_iOS": "8.0", + "intro_tvOS": "9.0", + "intro_watchOS": "2.0", + "declAttributes": [ + "Available", + "Available", + "Available", + "Available" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Comparable", + "printedName": "Comparable", + "usr": "s:SL", + "mangledName": "$sSL" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + }, + { + "kind": "Conformance", + "name": "ReferenceConvertible", + "printedName": "ReferenceConvertible", + "children": [ + { + "kind": "TypeWitness", + "name": "ReferenceType", + "printedName": "ReferenceType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSDate", + "printedName": "Foundation.NSDate", + "usr": "c:objc(cs)NSDate" + } + ] + } + ], + "usr": "s:10Foundation20ReferenceConvertibleP", + "mangledName": "$s10Foundation20ReferenceConvertibleP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSDate", + "printedName": "Foundation.NSDate", + "usr": "c:objc(cs)NSDate" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + }, + { + "kind": "Conformance", + "name": "_CustomPlaygroundQuickLookable", + "printedName": "_CustomPlaygroundQuickLookable", + "usr": "s:s30_CustomPlaygroundQuickLookableP", + "mangledName": "$ss30_CustomPlaygroundQuickLookableP" + }, + { + "kind": "Conformance", + "name": "Strideable", + "printedName": "Strideable", + "children": [ + { + "kind": "TypeWitness", + "name": "Stride", + "printedName": "Stride", + "children": [ + { + "kind": "TypeNominal", + "name": "Double", + "printedName": "Swift.Double", + "usr": "s:Sd" + } + ] + } + ], + "usr": "s:Sx", + "mangledName": "$sSx" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Data", + "printedName": "Data", + "declKind": "Struct", + "usr": "s:10Foundation4DataV", + "mangledName": "$s10Foundation4DataV", + "moduleName": "Foundation", + "intro_Macosx": "10.10", + "intro_iOS": "8.0", + "intro_tvOS": "9.0", + "intro_watchOS": "2.0", + "declAttributes": [ + "Frozen", + "Available", + "Available", + "Available", + "Available" + ], + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RandomAccessCollection", + "printedName": "RandomAccessCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Indices", + "printedName": "Indices", + "children": [ + { + "kind": "TypeNominal", + "name": "Range", + "printedName": "Swift.Range", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sn" + } + ] + } + ], + "usr": "s:Sk", + "mangledName": "$sSk" + }, + { + "kind": "Conformance", + "name": "MutableCollection", + "printedName": "MutableCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ] + } + ], + "usr": "s:SM", + "mangledName": "$sSM" + }, + { + "kind": "Conformance", + "name": "RangeReplaceableCollection", + "printedName": "RangeReplaceableCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ] + } + ], + "usr": "s:Sm", + "mangledName": "$sSm" + }, + { + "kind": "Conformance", + "name": "MutableDataProtocol", + "printedName": "MutableDataProtocol", + "usr": "s:10Foundation19MutableDataProtocolP", + "mangledName": "$s10Foundation19MutableDataProtocolP" + }, + { + "kind": "Conformance", + "name": "ContiguousBytes", + "printedName": "ContiguousBytes", + "usr": "s:10Foundation15ContiguousBytesP", + "mangledName": "$s10Foundation15ContiguousBytesP" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "BidirectionalCollection", + "printedName": "BidirectionalCollection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Indices", + "printedName": "Indices", + "children": [ + { + "kind": "TypeNominal", + "name": "Range", + "printedName": "Swift.Range", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sn" + } + ] + } + ], + "usr": "s:SK", + "mangledName": "$sSK" + }, + { + "kind": "Conformance", + "name": "Collection", + "printedName": "Collection", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Index", + "printedName": "Index", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Iterator", + "printedName": "Iterator", + "children": [ + { + "kind": "TypeNominal", + "name": "Iterator", + "printedName": "Foundation.Data.Iterator", + "usr": "s:10Foundation4DataV8IteratorV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "SubSequence", + "printedName": "SubSequence", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Indices", + "printedName": "Indices", + "children": [ + { + "kind": "TypeNominal", + "name": "Range", + "printedName": "Swift.Range", + "children": [ + { + "kind": "TypeNominal", + "name": "Int", + "printedName": "Swift.Int", + "usr": "s:Si" + } + ], + "usr": "s:Sn" + } + ] + } + ], + "usr": "s:Sl", + "mangledName": "$sSl" + }, + { + "kind": "Conformance", + "name": "DataProtocol", + "printedName": "DataProtocol", + "children": [ + { + "kind": "TypeWitness", + "name": "Regions", + "printedName": "Regions", + "children": [ + { + "kind": "TypeNominal", + "name": "CollectionOfOne", + "printedName": "Swift.CollectionOfOne", + "children": [ + { + "kind": "TypeNominal", + "name": "Data", + "printedName": "Foundation.Data", + "usr": "s:10Foundation4DataV" + } + ], + "usr": "s:s15CollectionOfOneV" + } + ] + } + ], + "usr": "s:10Foundation12DataProtocolP", + "mangledName": "$s10Foundation12DataProtocolP" + }, + { + "kind": "Conformance", + "name": "Sequence", + "printedName": "Sequence", + "children": [ + { + "kind": "TypeWitness", + "name": "Element", + "printedName": "Element", + "children": [ + { + "kind": "TypeNominal", + "name": "UInt8", + "printedName": "Swift.UInt8", + "usr": "s:s5UInt8V" + } + ] + }, + { + "kind": "TypeWitness", + "name": "Iterator", + "printedName": "Iterator", + "children": [ + { + "kind": "TypeNominal", + "name": "Iterator", + "printedName": "Foundation.Data.Iterator", + "usr": "s:10Foundation4DataV8IteratorV" + } + ] + } + ], + "usr": "s:ST", + "mangledName": "$sST" + }, + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "ReferenceConvertible", + "printedName": "ReferenceConvertible", + "children": [ + { + "kind": "TypeWitness", + "name": "ReferenceType", + "printedName": "ReferenceType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSData", + "printedName": "Foundation.NSData", + "usr": "c:objc(cs)NSData" + } + ] + } + ], + "usr": "s:10Foundation20ReferenceConvertibleP", + "mangledName": "$s10Foundation20ReferenceConvertibleP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSData", + "printedName": "Foundation.NSData", + "usr": "c:objc(cs)NSData" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomReflectable", + "printedName": "CustomReflectable", + "usr": "s:s17CustomReflectableP", + "mangledName": "$ss17CustomReflectableP" + }, + { + "kind": "Conformance", + "name": "Decodable", + "printedName": "Decodable", + "usr": "s:Se", + "mangledName": "$sSe" + }, + { + "kind": "Conformance", + "name": "Encodable", + "printedName": "Encodable", + "usr": "s:SE", + "mangledName": "$sSE" + } + ] + }, + { + "kind": "TypeDecl", + "name": "Name", + "printedName": "Name", + "children": [ + { + "kind": "Var", + "name": "dittoAuthenticationStatusDidChange", + "printedName": "dittoAuthenticationStatusDidChange", + "children": [ + { + "kind": "TypeNominal", + "name": "Name", + "printedName": "Foundation.NSNotification.Name", + "usr": "c:@T@NSNotificationName" + } + ], + "declKind": "Var", + "usr": "s:So18NSNotificationNamea10DittoSwiftE34dittoAuthenticationStatusDidChangeABvpZ", + "mangledName": "$sSo18NSNotificationNamea10DittoSwiftE34dittoAuthenticationStatusDidChangeABvpZ", + "moduleName": "DittoSwift", + "static": true, + "declAttributes": [ + "HasInitialValue", + "HasStorage", + "RawDocComment" + ], + "isFromExtension": true, + "isLet": true, + "hasStorage": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Name", + "printedName": "Foundation.NSNotification.Name", + "usr": "c:@T@NSNotificationName" + } + ], + "declKind": "Accessor", + "usr": "s:So18NSNotificationNamea10DittoSwiftE34dittoAuthenticationStatusDidChangeABvgZ", + "mangledName": "$sSo18NSNotificationNamea10DittoSwiftE34dittoAuthenticationStatusDidChangeABvgZ", + "moduleName": "DittoSwift", + "static": true, + "implicit": true, + "isFromExtension": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Struct", + "usr": "c:@T@NSNotificationName", + "moduleName": "Foundation", + "declAttributes": [ + "SynthesizedProtocol", + "SynthesizedProtocol", + "SynthesizedProtocol", + "SynthesizedProtocol", + "SynthesizedProtocol", + "SynthesizedProtocol", + "Sendable" + ], + "isFromExtension": true, + "isExternal": true, + "conformances": [ + { + "kind": "Conformance", + "name": "Copyable", + "printedName": "Copyable", + "usr": "s:s8CopyableP", + "mangledName": "$ss8CopyableP" + }, + { + "kind": "Conformance", + "name": "Escapable", + "printedName": "Escapable", + "usr": "s:s9EscapableP", + "mangledName": "$ss9EscapableP" + }, + { + "kind": "Conformance", + "name": "_ObjectiveCBridgeable", + "printedName": "_ObjectiveCBridgeable", + "children": [ + { + "kind": "TypeWitness", + "name": "_ObjectiveCType", + "printedName": "_ObjectiveCType", + "children": [ + { + "kind": "TypeNominal", + "name": "NSString", + "printedName": "Foundation.NSString", + "usr": "c:objc(cs)NSString" + } + ] + } + ], + "usr": "s:s21_ObjectiveCBridgeableP", + "mangledName": "$ss21_ObjectiveCBridgeableP" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "_SwiftNewtypeWrapper", + "printedName": "_SwiftNewtypeWrapper", + "usr": "s:s20_SwiftNewtypeWrapperP", + "mangledName": "$ss20_SwiftNewtypeWrapperP" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, + { + "kind": "Conformance", + "name": "_HasCustomAnyHashableRepresentation", + "printedName": "_HasCustomAnyHashableRepresentation", + "usr": "s:s35_HasCustomAnyHashableRepresentationP", + "mangledName": "$ss35_HasCustomAnyHashableRepresentationP" + } + ] + } + ], + "json_format_version": 8 + }, + "ConstValues": [ + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Internal\/Util.swift", + "kind": "StringLiteral", + "offset": 5107, + "length": 34, + "value": "\"_ditto_internal_type_jkb12973t4b\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Internal\/Util.swift", + "kind": "StringLiteral", + "offset": 5171, + "length": 8, + "value": "\"_value\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Internal\/Util.swift", + "kind": "BooleanLiteral", + "offset": 5346, + "length": 4, + "value": "true" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoSync.swift", + "kind": "Array", + "offset": 376, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoCollection.swift", + "kind": "Dictionary", + "offset": 9116, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoConnectionType.swift", + "kind": "StringLiteral", + "offset": 282, + "length": 11, + "value": "\"Bluetooth\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoConnectionType.swift", + "kind": "StringLiteral", + "offset": 317, + "length": 13, + "value": "\"AccessPoint\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoConnectionType.swift", + "kind": "StringLiteral", + "offset": 350, + "length": 9, + "value": "\"P2PWiFi\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoConnectionType.swift", + "kind": "StringLiteral", + "offset": 381, + "length": 11, + "value": "\"WebSocket\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 362, + "length": 2, + "value": "42" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 369, + "length": 2, + "value": "42" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 1575, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 19691, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 19799, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "StringLiteral", + "offset": 20617, + "length": 8, + "value": "\"__type\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "StringLiteral", + "offset": 20653, + "length": 22, + "value": "\"date_epoch_timestamp\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "StringLiteral", + "offset": 20702, + "length": 9, + "value": "\"__value\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 20881, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 21005, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 21195, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 21311, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "Array", + "offset": 23077, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "Dictionary", + "offset": 23127, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "Array", + "offset": 24764, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 27247, + "length": 4, + "value": "true" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "Dictionary", + "offset": 32402, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 43017, + "length": 1, + "value": "0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 43037, + "length": 1, + "value": "1" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 43057, + "length": 1, + "value": "2" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 43077, + "length": 1, + "value": "3" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49252, + "length": 1, + "value": "0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49317, + "length": 1, + "value": "1" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49378, + "length": 1, + "value": "2" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49439, + "length": 1, + "value": "3" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49501, + "length": 1, + "value": "4" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49556, + "length": 1, + "value": "5" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49667, + "length": 2, + "value": "21" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49749, + "length": 2, + "value": "22" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49831, + "length": 2, + "value": "23" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49898, + "length": 2, + "value": "24" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 49977, + "length": 2, + "value": "32" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 50034, + "length": 2, + "value": "33" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 50088, + "length": 2, + "value": "34" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 50153, + "length": 2, + "value": "35" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 50212, + "length": 2, + "value": "36" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 50264, + "length": 2, + "value": "37" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 50359, + "length": 5, + "value": "55799" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 70193, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 70399, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "Dictionary", + "offset": 70933, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "Array", + "offset": 72476, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "Dictionary", + "offset": 72526, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 78069, + "length": 4, + "value": "0x80" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 78076, + "length": 4, + "value": "0x97" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 78123, + "length": 4, + "value": "0x1F" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 78150, + "length": 4, + "value": "0x98" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 78230, + "length": 4, + "value": "0x99" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 78311, + "length": 4, + "value": "0x9a" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 78392, + "length": 4, + "value": "0x9b" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 78473, + "length": 4, + "value": "0x9f" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 79037, + "length": 1, + "value": "1" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 79385, + "length": 1, + "value": "0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "Array", + "offset": 79522, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "Array", + "offset": 79600, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 79646, + "length": 1, + "value": "0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "StringLiteral", + "offset": 79843, + "length": 10, + "value": "\"\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "StringLiteral", + "offset": 79852, + "length": 11, + "value": "\"\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "IntegerLiteral", + "offset": 79911, + "length": 1, + "value": "0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/SwiftCBOR.swift", + "kind": "BooleanLiteral", + "offset": 100465, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "BooleanLiteral", + "offset": 371, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 452, + "length": 9, + "value": "\"enabled\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "BooleanLiteral", + "offset": 748, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "BooleanLiteral", + "offset": 855, + "length": 4, + "value": "true" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "BooleanLiteral", + "offset": 972, + "length": 4, + "value": "true" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 1371, + "length": 9, + "value": "\"enabled\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 1410, + "length": 14, + "value": "\"mdns_enabled\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 1459, + "length": 19, + "value": "\"multicast_enabled\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "BooleanLiteral", + "offset": 1622, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 1703, + "length": 9, + "value": "\"enabled\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 2586, + "length": 14, + "value": "\"bluetooth_le\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "FloatLiteral", + "offset": 3379, + "length": 3, + "value": "5.0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 3844, + "length": 13, + "value": "\"tcp_servers\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 3887, + "length": 16, + "value": "\"websocket_urls\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 3933, + "length": 16, + "value": "\"retry_interval\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "BooleanLiteral", + "offset": 5071, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 5167, + "length": 6, + "value": "\"[::]\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "IntegerLiteral", + "offset": 5248, + "length": 4, + "value": "4040" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 5625, + "length": 9, + "value": "\"enabled\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 5662, + "length": 14, + "value": "\"interface_ip\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "BooleanLiteral", + "offset": 5879, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 5975, + "length": 6, + "value": "\"[::]\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "IntegerLiteral", + "offset": 6054, + "length": 2, + "value": "80" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "BooleanLiteral", + "offset": 6538, + "length": 4, + "value": "true" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "BooleanLiteral", + "offset": 7077, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 8487, + "length": 9, + "value": "\"enabled\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 8524, + "length": 14, + "value": "\"interface_ip\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 8590, + "length": 21, + "value": "\"static_content_path\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 8641, + "length": 16, + "value": "\"websocket_sync\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 8684, + "length": 14, + "value": "\"tls_key_path\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 8733, + "length": 22, + "value": "\"tls_certificate_path\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 8790, + "length": 19, + "value": "\"identity_provider\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 8852, + "length": 31, + "value": "\"identity_provider_signing_key\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 8929, + "length": 34, + "value": "\"identity_provider_verifying_keys\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 8985, + "length": 26, + "value": "\"identity_provider_ca_key\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 9115, + "length": 22, + "value": "\"is_identity_provider\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 9159, + "length": 8, + "value": "\"ca_key\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "IntegerLiteral", + "offset": 12736, + "length": 1, + "value": "0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "IntegerLiteral", + "offset": 13611, + "length": 1, + "value": "0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 13688, + "length": 12, + "value": "\"sync_group\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 13728, + "length": 14, + "value": "\"routing_hint\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoTransportConfig.swift", + "kind": "StringLiteral", + "offset": 16094, + "length": 14, + "value": "\"peer_to_peer\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoLogLevel.swift", + "kind": "IntegerLiteral", + "offset": 246, + "length": 1, + "value": "1" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoLogLevel.swift", + "kind": "IntegerLiteral", + "offset": 292, + "length": 1, + "value": "2" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoLogLevel.swift", + "kind": "IntegerLiteral", + "offset": 332, + "length": 1, + "value": "3" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoLogLevel.swift", + "kind": "IntegerLiteral", + "offset": 374, + "length": 1, + "value": "4" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoLogLevel.swift", + "kind": "IntegerLiteral", + "offset": 420, + "length": 1, + "value": "5" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoSmallPeerInfoSyncScope.swift", + "kind": "IntegerLiteral", + "offset": 549, + "length": 13, + "value": "1" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoConnectionPriority.swift", + "kind": "IntegerLiteral", + "offset": 691, + "length": 1, + "value": "0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoConnectionPriority.swift", + "kind": "IntegerLiteral", + "offset": 826, + "length": 1, + "value": "1" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoConnectionPriority.swift", + "kind": "IntegerLiteral", + "offset": 1168, + "length": 1, + "value": "2" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 307, + "length": 1, + "value": "0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 323, + "length": 1, + "value": "1" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 351, + "length": 1, + "value": "2" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 380, + "length": 1, + "value": "3" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 405, + "length": 1, + "value": "4" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 435, + "length": 1, + "value": "5" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 471, + "length": 1, + "value": "6" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 510, + "length": 1, + "value": "7" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 549, + "length": 1, + "value": "8" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 574, + "length": 1, + "value": "9" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 601, + "length": 2, + "value": "10" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 628, + "length": 2, + "value": "11" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 665, + "length": 2, + "value": "12" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 2958, + "length": 1, + "value": "0" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 2975, + "length": 1, + "value": "1" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 2993, + "length": 1, + "value": "2" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoTransportCondition.swift", + "kind": "IntegerLiteral", + "offset": 3011, + "length": 1, + "value": "3" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoConnection.swift", + "kind": "StringLiteral", + "offset": 4676, + "length": 16, + "value": "\"connectionType\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Ditto.swift", + "kind": "BooleanLiteral", + "offset": 13143, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoExperimental.swift", + "kind": "BooleanLiteral", + "offset": 1129, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoTransactionInfo.swift", + "kind": "StringLiteral", + "offset": 970, + "length": 14, + "value": "\"is_read_only\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Internal\/DittoPresenceGraphFromCBORTransformer.swift", + "kind": "StringLiteral", + "offset": 219, + "length": 39, + "value": "\"DittoPresenceGraphFromCBORTransformer\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoPeer.swift", + "kind": "Dictionary", + "offset": 3865, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoPeer.swift", + "kind": "Dictionary", + "offset": 3920, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoPeer.swift", + "kind": "Dictionary", + "offset": 4876, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoPeer.swift", + "kind": "Dictionary", + "offset": 4923, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoPeer.swift", + "kind": "Dictionary", + "offset": 6097, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoPeer.swift", + "kind": "Dictionary", + "offset": 6144, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoPeer.swift", + "kind": "StringLiteral", + "offset": 7711, + "length": 17, + "value": "\"dittoSdkVersion\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoAuthenticator.swift", + "kind": "StringLiteral", + "offset": 448, + "length": 48, + "value": "\"DittoAuthenticationStatusDidChangeNotification\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoMutableDocumentPath.swift", + "kind": "BooleanLiteral", + "offset": 4530, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/Internal\/UpdateResultsWrapper.swift", + "kind": "Array", + "offset": 161, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoAddress.swift", + "kind": "StringLiteral", + "offset": 880, + "length": 8, + "value": "\"siteId\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Transport\/DittoAddress.swift", + "kind": "StringLiteral", + "offset": 911, + "length": 8, + "value": "\"pubkey\"" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoIdentity.swift", + "kind": "BooleanLiteral", + "offset": 3683, + "length": 4, + "value": "true" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/DittoIdentity.swift", + "kind": "BooleanLiteral", + "offset": 4562, + "length": 4, + "value": "true" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoStore.swift", + "kind": "Array", + "offset": 6162, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoStore.swift", + "kind": "BooleanLiteral", + "offset": 13558, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoStore.swift", + "kind": "BooleanLiteral", + "offset": 14864, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoStore.swift", + "kind": "Dictionary", + "offset": 17472, + "length": 3, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoStore.swift", + "kind": "Array", + "offset": 17957, + "length": 2, + "value": "[]" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoStore.swift", + "kind": "BooleanLiteral", + "offset": 26009, + "length": 5, + "value": "false" + }, + { + "filePath": "\/usr\/local\/var\/buildkite-agent\/builds\/atl-mac01\/dittolive-incorporated\/ditto\/cocoa\/DittoSwift\/Store\/DittoStore.swift", + "kind": "StringLiteral", + "offset": 27014, + "length": 55, + "value": "\"live.ditto.DittoSwift.DittoStore.delayUntilReadyQueue\"" + } + ] +} \ No newline at end of file diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/x86_64-apple-macos.private.swiftinterface b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/x86_64-apple-macos.private.swiftinterface new file mode 100644 index 0000000..56462eb --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/x86_64-apple-macos.private.swiftinterface @@ -0,0 +1,1943 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 6.0.3 effective-5.10 (swiftlang-6.0.3.1.10 clang-1600.0.30.1) +// swift-module-flags: -target x86_64-apple-macos11.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name DittoSwift +// swift-module-flags-ignorable: -no-verify-emitted-module-interface +import Combine +import DittoObjC.DittoFFI +import DittoObjC +@_exported import DittoSwift +import Foundation +import DittoObjC.Private +import Swift +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +@_hasMissingDesignatedInitializers public class DiskUsage { + public var exec: DittoSwift.DiskUsageItem { + get + } + public func observe(eventHandler: @escaping (DittoSwift.DiskUsageItem) -> Swift.Void) -> DittoSwift.DiskUsage.DiskUsageObserverHandle + @_hasMissingDesignatedInitializers public class DiskUsageObserverHandle { + public func stop() + @objc deinit + } + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoAttachmentFetcher { + weak public var ditto: DittoSwift.Ditto? { + get + } + public func stop() + @objc deinit +} +extension DittoSwift.DittoAttachmentFetcher : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoAttachmentFetcher : Swift.Equatable { + public static func == (left: DittoSwift.DittoAttachmentFetcher, right: DittoSwift.DittoAttachmentFetcher) -> Swift.Bool +} +public enum DittoUpdateResult { + case set(docID: DittoSwift.DittoDocumentID, path: Swift.String, value: Any?) + case removed(docID: DittoSwift.DittoDocumentID, path: Swift.String) + case incremented(docID: DittoSwift.DittoDocumentID, path: Swift.String, amount: Swift.Double) +} +@_hasMissingDesignatedInitializers public class DittoSync { + public var subscriptions: Swift.Set { + get + } + @discardableResult + public func registerSubscription(query: Swift.String, arguments: Swift.Dictionary? = nil) throws -> DittoSwift.DittoSyncSubscription + @objc deinit +} +public struct DittoCollectionsEvent { + public let isInitial: Swift.Bool + public let collections: [DittoSwift.DittoCollection] + public let oldCollections: [DittoSwift.DittoCollection] + public let insertions: [Swift.Int] + public let deletions: [Swift.Int] + public let updates: [Swift.Int] + public let moves: [(from: Swift.Int, to: Swift.Int)] +} +extension DittoSwift.DittoCollectionsEvent : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible { + public var description: Swift.String { + get + } + public var debugDescription: Swift.String { + get + } +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoAuthenticator { + public struct StatusPublisher : Combine.Publisher { + public typealias Output = DittoSwift.DittoAuthenticationStatus + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == DittoSwift.DittoAuthenticationStatus + } + public func statusPublisher() -> DittoSwift.DittoAuthenticator.StatusPublisher +} +public enum DittoAttachmentFetchEvent { + case completed(DittoSwift.DittoAttachment) + case progress(downloadedBytes: Swift.UInt64, totalBytes: Swift.UInt64) + case deleted +} +@_hasMissingDesignatedInitializers public class DittoTransportSnapshot { + final public let connectionType: Swift.String + final public let connecting: [Swift.Int64] + final public let connected: [Swift.Int64] + final public let disconnecting: [Swift.Int64] + final public let disconnected: [Swift.Int64] + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoDocument { + final public let id: DittoSwift.DittoDocumentID + public var value: [Swift.String : Any?] { + get + } + public subscript(key: Swift.String) -> DittoSwift.DittoDocumentPath { + get + } + @available(*, deprecated, message: "Codable APIs will be removed in the future") + public func typed(as type: T.Type) throws -> DittoSwift.DittoTypedDocument where T : Swift.Decodable, T : Swift.Encodable + @objc deinit +} +extension DittoSwift.DittoDocument : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible { + public var description: Swift.String { + get + } + public var debugDescription: Swift.String { + get + } +} +extension DittoSwift.DittoDocument : Swift.Identifiable { + public typealias ID = DittoSwift.DittoDocumentID +} +public typealias DittoCollectionName = Swift.String +extension Swift.String { + public static var history: Swift.String +} +@_hasMissingDesignatedInitializers public class DittoCollection { + public var name: Swift.String { + get + } + @discardableResult + public func upsert(_ content: [Swift.String : Any?], writeStrategy: DittoSwift.DittoWriteStrategy = .merge) throws -> DittoSwift.DittoDocumentID + @discardableResult + @available(*, deprecated, message: "Codable APIs will be removed in the future.") + public func upsert(_ content: T, writeStrategy: DittoSwift.DittoWriteStrategy = .merge) throws -> DittoSwift.DittoDocumentID where T : Swift.Encodable + public func findByID(_ id: DittoSwift.DittoDocumentID) -> DittoSwift.DittoPendingIDSpecificOperation + public func findByID(_ id: Any) -> DittoSwift.DittoPendingIDSpecificOperation + public func find(_ query: Swift.String) -> DittoSwift.DittoPendingCursorOperation + public func find(_ query: Swift.String, args queryArgs: Swift.Dictionary) -> DittoSwift.DittoPendingCursorOperation + public func findAll() -> DittoSwift.DittoPendingCursorOperation + @available(*, deprecated, message: "Replaced by `DittoStore.newAttachment()`.") + public func newAttachment(path: Swift.String, metadata: [Swift.String : Swift.String] = [:]) -> DittoSwift.DittoAttachment? + @available(*, deprecated, message: "Replaced by `DittoStore.fetchAttachment()`.") + public func fetchAttachment(token: DittoSwift.DittoAttachmentToken, deliverOn queue: Dispatch.DispatchQueue = .main, onFetchEvent: @escaping (DittoSwift.DittoAttachmentFetchEvent) -> Swift.Void) -> DittoSwift.DittoAttachmentFetcher? + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoPresence { + public var peerMetadata: [Swift.String : Any?] { + get + } + public func setPeerMetadata(_ peerMetadata: [Swift.String : Any?]) throws + public var peerMetadataJSONData: Foundation.Data { + get + } + public func setPeerMetadataJSONData(_ jsonData: Foundation.Data) throws + public var graph: DittoSwift.DittoPresenceGraph { + get + } + public func observe(didChangeHandler: @escaping (DittoSwift.DittoPresenceGraph) -> ()) -> DittoSwift.DittoObserver + public var connectionRequestHandler: DittoSwift.DittoConnectionRequestHandler? { + get + set + } + @objc deinit +} +public class DittoRegister { + public init(value: Any?) + @objc deinit +} +extension DittoSwift.DittoRegister { + public var value: Any? { + get + } + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } +} +public enum DittoConnectionType : Swift.String { + case bluetooth + case accessPoint + case p2pWiFi + case webSocket + public init?(rawValue: Swift.String) + public typealias RawValue = Swift.String + public var rawValue: Swift.String { + get + } +} +extension DittoSwift.DittoConnectionType : Swift.CaseIterable { + public typealias AllCases = [DittoSwift.DittoConnectionType] + nonisolated public static var allCases: [DittoSwift.DittoConnectionType] { + get + } +} +extension DittoSwift.DittoConnectionType : Swift.Codable { +} +@_hasMissingDesignatedInitializers public class DittoObserver { + public func stop() + @objc deinit +} +public enum DittoWriteTransactionResult { + case inserted(id: DittoSwift.DittoDocumentID, collection: Swift.String) + case updated(id: DittoSwift.DittoDocumentID, collection: Swift.String) + case evicted(id: DittoSwift.DittoDocumentID, collection: Swift.String) + case removed(id: DittoSwift.DittoDocumentID, collection: Swift.String) +} +@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers public class DittoMutableCounter : DittoSwift.DittoCounter { + public func increment(by amount: Swift.Double) + @objc deinit +} +public class DittoDiffer { + public init() + public func diff(_ items: [DittoSwift.DittoQueryResultItem]) -> DittoSwift.DittoDiff + @objc deinit +} +indirect public enum CBOR : Swift.Equatable, Swift.Hashable, Swift.ExpressibleByNilLiteral, Swift.ExpressibleByIntegerLiteral, Swift.ExpressibleByStringLiteral, Swift.ExpressibleByArrayLiteral, Swift.ExpressibleByDictionaryLiteral, Swift.ExpressibleByBooleanLiteral, Swift.ExpressibleByFloatLiteral { + case unsignedInt(Swift.UInt64) + case negativeInt(Swift.UInt64) + case byteString([Swift.UInt8]) + case utf8String(Swift.String) + case array([DittoSwift.CBOR]) + case map([DittoSwift.CBOR : DittoSwift.CBOR]) + case tagged(DittoSwift.CBOR.Tag, DittoSwift.CBOR) + case simple(Swift.UInt8) + case boolean(Swift.Bool) + case null + case undefined + case half(Swift.Float32) + case float(Swift.Float32) + case double(Swift.Float64) + case `break` + case date(Foundation.Date) + public func hash(into hasher: inout Swift.Hasher) + public subscript(position: DittoSwift.CBOR) -> DittoSwift.CBOR? { + get + set(x) + } + public init(nilLiteral: ()) + public init(integerLiteral value: Swift.Int) + public init(extendedGraphemeClusterLiteral value: Swift.String) + public init(unicodeScalarLiteral value: Swift.String) + public init(stringLiteral value: Swift.String) + public init(arrayLiteral elements: DittoSwift.CBOR...) + public init(dictionaryLiteral elements: (DittoSwift.CBOR, DittoSwift.CBOR)...) + public init(booleanLiteral value: Swift.Bool) + public init(floatLiteral value: Swift.Float32) + public static func == (lhs: DittoSwift.CBOR, rhs: DittoSwift.CBOR) -> Swift.Bool + public struct Tag : Swift.RawRepresentable, Swift.Equatable, Swift.Hashable { + public let rawValue: Swift.UInt64 + public init(rawValue: Swift.UInt64) + public var hashValue: Swift.Int { + get + } + public typealias RawValue = Swift.UInt64 + } + public typealias ArrayLiteralElement = DittoSwift.CBOR + public typealias BooleanLiteralType = Swift.Bool + public typealias ExtendedGraphemeClusterLiteralType = Swift.String + public typealias FloatLiteralType = Swift.Float32 + public typealias IntegerLiteralType = Swift.Int + public typealias Key = DittoSwift.CBOR + public typealias StringLiteralType = Swift.String + public typealias UnicodeScalarLiteralType = Swift.String + public typealias Value = DittoSwift.CBOR + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.CBOR.Tag { + public static let standardDateTimeString: DittoSwift.CBOR.Tag + public static let epochBasedDateTime: DittoSwift.CBOR.Tag + public static let positiveBignum: DittoSwift.CBOR.Tag + public static let negativeBignum: DittoSwift.CBOR.Tag + public static let decimalFraction: DittoSwift.CBOR.Tag + public static let bigfloat: DittoSwift.CBOR.Tag + public static let expectedConversionToBase64URLEncoding: DittoSwift.CBOR.Tag + public static let expectedConversionToBase64Encoding: DittoSwift.CBOR.Tag + public static let expectedConversionToBase16Encoding: DittoSwift.CBOR.Tag + public static let encodedCBORDataItem: DittoSwift.CBOR.Tag + public static let uri: DittoSwift.CBOR.Tag + public static let base64Url: DittoSwift.CBOR.Tag + public static let base64: DittoSwift.CBOR.Tag + public static let regularExpression: DittoSwift.CBOR.Tag + public static let mimeMessage: DittoSwift.CBOR.Tag + public static let uuid: DittoSwift.CBOR.Tag + public static let selfDescribeCBOR: DittoSwift.CBOR.Tag +} +public struct DittoBluetoothLEConfig : Swift.Codable, Swift.Equatable { + public var isEnabled: Swift.Bool + public static func == (a: DittoSwift.DittoBluetoothLEConfig, b: DittoSwift.DittoBluetoothLEConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoLANConfig : Swift.Codable, Swift.Equatable { + public var isEnabled: Swift.Bool + public var isMDNSEnabled: Swift.Bool + public var isMulticastEnabled: Swift.Bool + @available(*, deprecated, message: "Please use `isMDNSEnabled` instead.") + public var ismDNSEnabled: Swift.Bool { + get + set + } + public static func == (a: DittoSwift.DittoLANConfig, b: DittoSwift.DittoLANConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoAWDLConfig : Swift.Codable, Swift.Equatable { + public var isEnabled: Swift.Bool + public static func == (a: DittoSwift.DittoAWDLConfig, b: DittoSwift.DittoAWDLConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoPeerToPeer : Swift.Codable, Swift.Equatable { + public var bluetoothLE: DittoSwift.DittoBluetoothLEConfig + public var lan: DittoSwift.DittoLANConfig + public var awdl: DittoSwift.DittoAWDLConfig + @available(*, deprecated, message: "Please use `bluetoothLE` instead.") + public var bluetoothLe: DittoSwift.DittoBluetoothLEConfig { + get + set + } + public static func == (a: DittoSwift.DittoPeerToPeer, b: DittoSwift.DittoPeerToPeer) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoConnect : Swift.Equatable { + public var tcpServers: Swift.Set + public var webSocketURLs: Swift.Set + public var retryInterval: Swift.Double + @available(*, deprecated, message: "Please use `webSocketURLs` instead.") + public var websocketURLs: Swift.Set { + get + set + } + public static func == (a: DittoSwift.DittoConnect, b: DittoSwift.DittoConnect) -> Swift.Bool +} +extension DittoSwift.DittoConnect : Swift.Codable { + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoTCPListenConfig : Swift.Codable, Swift.Equatable { + public var isEnabled: Swift.Bool + public var interfaceIP: Swift.String + public var port: Swift.UInt16 + @available(*, deprecated, message: "Please use `interfaceIP` instead.") + public var interfaceIp: Swift.String { + get + set + } + public static func == (a: DittoSwift.DittoTCPListenConfig, b: DittoSwift.DittoTCPListenConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoHTTPListenConfig : Swift.Equatable { + public var isEnabled: Swift.Bool + public var interfaceIP: Swift.String + public var port: Swift.UInt16 + public var staticContentPath: Swift.String? + public var webSocketSync: Swift.Bool + public var tlsKeyPath: Swift.String? + public var tlsCertificatePath: Swift.String? + public var isIdentityProvider: Swift.Bool + public var identityProviderSigningKey: Swift.String? + public var identityProviderVerifyingKeys: Swift.Array? + public var caKey: Swift.String? + @available(*, deprecated, message: "Please use `interfaceIP` instead.") + public var interfaceIp: Swift.String { + get + set + } + @available(*, deprecated, message: "Please use `webSocketSync` instead.") + public var websocketSync: Swift.Bool { + get + set + } + public static func == (a: DittoSwift.DittoHTTPListenConfig, b: DittoSwift.DittoHTTPListenConfig) -> Swift.Bool +} +extension DittoSwift.DittoHTTPListenConfig : Swift.Codable { + public init(from decoder: any Swift.Decoder) throws + public func encode(to encoder: any Swift.Encoder) throws +} +public struct DittoListen : Swift.Codable, Swift.Equatable { + public var tcp: DittoSwift.DittoTCPListenConfig + public var http: DittoSwift.DittoHTTPListenConfig + public static func == (a: DittoSwift.DittoListen, b: DittoSwift.DittoListen) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoGlobalConfig : Swift.Codable, Swift.Equatable { + public var syncGroup: Swift.UInt32 + public var routingHint: Swift.UInt32 + public static func == (a: DittoSwift.DittoGlobalConfig, b: DittoSwift.DittoGlobalConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoTransportConfig : Swift.Codable, Swift.Equatable { + public var peerToPeer: DittoSwift.DittoPeerToPeer + public var connect: DittoSwift.DittoConnect + public var listen: DittoSwift.DittoListen + public var global: DittoSwift.DittoGlobalConfig + public mutating func enableAllPeerToPeer() + public mutating func setAllPeerToPeer(enabled: Swift.Bool) + public init() + public static func == (a: DittoSwift.DittoTransportConfig, b: DittoSwift.DittoTransportConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public enum LMDBError : Swift.Equatable { + case keyExists + case notFound + case pageNotFound + case corrupted + case panic + case versionMismatch + case invalid + case mapFull + case dbsFull + case readersFull + case tlsFull + case txnFull + case cursorFull + case pageFull + case mapResized + case incompatible + case badReaderSlot + case badTransaction + case badValueSize + case badDBI + case problem + case invalidParameter + case outOfDiskSpace + case outOfMemory + case ioError + case accessViolation + case other(returnCode: Swift.Int32) + public static func == (a: DittoSwift.LMDBError, b: DittoSwift.LMDBError) -> Swift.Bool +} +@_hasMissingDesignatedInitializers public class DittoLiveQuery { + public var query: Swift.String { + get + } + public var collectionName: DittoSwift.DittoCollectionName { + get + } + public func stop() + @objc deinit +} +public typealias DittoSignalNext = () -> Swift.Void +@_hasMissingDesignatedInitializers public class DittoWriteTransactionPendingIDSpecificOperation { + @discardableResult + public func remove() -> Swift.Bool + @discardableResult + public func evict() -> Swift.Bool + public func exec() -> DittoSwift.DittoDocument? + @discardableResult + public func update(_ closure: @escaping (DittoSwift.DittoMutableDocument?) -> Swift.Void) -> [DittoSwift.DittoUpdateResult] + @available(*, deprecated, message: "Codable APIs will be removed in the future.") + public func update(using newValue: T) throws where T : Swift.Decodable, T : Swift.Encodable + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoMutableRegister { + public var value: Any? { + get + set + } + @objc deinit +} +extension DittoSwift.DittoMutableRegister { + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } +} +@_hasMissingDesignatedInitializers public class DittoPeerV2Parser { + public class func parseJson(json: Swift.String) -> [DittoSwift.DittoRemotePeerV2]? + @objc deinit +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DiskUsage { + public struct DiskUsagePublisher : Combine.Publisher { + public typealias Output = DittoSwift.DiskUsageItem + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == DittoSwift.DiskUsageItem + } + public func diskUsagePublisher() -> DittoSwift.DiskUsage.DiskUsagePublisher +} +@_hasMissingDesignatedInitializers public class DittoCounter { + public var value: Swift.Double { + get + } + convenience public init() + @objc deinit +} +extension DittoSwift.DittoCounter : Swift.Equatable { + public static func == (lhs: DittoSwift.DittoCounter, rhs: DittoSwift.DittoCounter) -> Swift.Bool +} +public enum DittoTransactionCompletionAction { + case commit + case rollback + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoTransactionCompletionAction : Swift.Equatable { + public static func == (a: DittoSwift.DittoTransactionCompletionAction, b: DittoSwift.DittoTransactionCompletionAction) -> Swift.Bool +} +public enum DittoLogLevel : Swift.Int { + case error + case warning + case info + case debug + case verbose + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +public enum DittoSmallPeerInfoSyncScope : Swift.UInt, Swift.CaseIterable { + case bigPeerOnly + case localPeerOnly + public init?(rawValue: Swift.UInt) + public typealias AllCases = [DittoSwift.DittoSmallPeerInfoSyncScope] + public typealias RawValue = Swift.UInt + nonisolated public static var allCases: [DittoSwift.DittoSmallPeerInfoSyncScope] { + get + } + public var rawValue: Swift.UInt { + get + } +} +extension DittoSwift.DittoSmallPeerInfoSyncScope : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} +public enum DittoConnectionPriority : Swift.Int { + case dontConnect + case normal + case high + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +public enum DittoTransportCondition : Swift.UInt32, Swift.CustomStringConvertible { + case Unknown + case Ok + case GenericFailure + case AppInBackground + case MdnsFailure + case TcpListenFailure + case NoBleCentralPermission + case NoBlePeripheralPermission + case CannotEstablishConnection + case BleDisabled + case NoBleHardware + case WifiDisabled + case TemporarilyUnavailable + public var description: Swift.String { + get + } + public init?(rawValue: Swift.UInt32) + public typealias RawValue = Swift.UInt32 + public var rawValue: Swift.UInt32 { + get + } +} +public enum DittoConditionSource : Swift.UInt32, Swift.CustomStringConvertible { + case Bluetooth + case Tcp + case Awdl + case Mdns + public var description: Swift.String { + get + } + public init?(rawValue: Swift.UInt32) + public typealias RawValue = Swift.UInt32 + public var rawValue: Swift.UInt32 { + get + } +} +public typealias DittoStoreObservationHandler = (_ result: DittoSwift.DittoQueryResult) -> Swift.Void +public typealias DittoStoreObservationHandlerWithSignalNext = (_ result: DittoSwift.DittoQueryResult, _ signalNext: @escaping DittoSwift.DittoSignalNext) -> Swift.Void +@_hasMissingDesignatedInitializers public class DittoStoreObserver { + weak public var ditto: DittoSwift.Ditto? { + get + } + final public let queryString: Swift.String + final public let queryArguments: Swift.Dictionary? + public var isCancelled: Swift.Bool { + get + } + public func cancel() + @objc deinit +} +extension DittoSwift.DittoStoreObserver : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoStoreObserver : Swift.Equatable { + public static func == (left: DittoSwift.DittoStoreObserver, right: DittoSwift.DittoStoreObserver) -> Swift.Bool +} +public struct DittoDocumentPath { + public subscript(key: Swift.String) -> DittoSwift.DittoDocumentPath { + get + } + public subscript(index: Swift.Int) -> DittoSwift.DittoDocumentPath { + get + } +} +extension DittoSwift.DittoDocumentPath { + public var value: Any? { + get + } + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } + public var attachmentToken: DittoSwift.DittoAttachmentToken? { + get + } + public var counter: DittoSwift.DittoCounter? { + get + } + public var register: DittoSwift.DittoRegister? { + get + } +} +public struct DittoDiff { + public let insertions: Foundation.IndexSet + public let deletions: Foundation.IndexSet + public let updates: Foundation.IndexSet + public let moves: [(from: Swift.Int, to: Swift.Int)] +} +extension DittoSwift.DittoDiff : Swift.Decodable { + public init(from decoder: any Swift.Decoder) throws +} +extension DittoSwift.DittoDiff : Swift.Equatable { + public static func == (lhs: DittoSwift.DittoDiff, rhs: DittoSwift.DittoDiff) -> Swift.Bool +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoCollection { + @available(*, deprecated, message: "Replaced by `DittoStore.FetchAttachmentPublisher`.") + public struct FetchAttachmentPublisher : Combine.Publisher { + public struct Progress { + public var percentage: Swift.Float + public var downloadedBytes: Swift.UInt64 + public var totalBytes: Swift.UInt64 + } + public typealias Output = DittoSwift.DittoAttachmentFetchEvent + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == DittoSwift.DittoAttachmentFetchEvent + public func progress() -> Combine.AnyPublisher + public func completed() -> Combine.AnyPublisher + } + @available(*, deprecated, message: "Replaced by `DittoStore.fetchAttachmentPublisher`.") + public func fetchAttachmentPublisher(attachmentToken: DittoSwift.DittoAttachmentToken) -> DittoSwift.DittoCollection.FetchAttachmentPublisher +} +@_hasMissingDesignatedInitializers public class DittoRemotePeerV2 : Swift.Identifiable, Swift.Equatable, Swift.Hashable { + public var id: Swift.UInt32 { + get + } + public var address: DittoSwift.DittoAddress { + get + } + public var networkID: Swift.UInt32 { + get + } + public var deviceName: Swift.String { + get + } + public var os: Swift.String { + get + } + @available(*, deprecated, message: "Query overlap groups have been phased out, this property always returns 0.") + public var queryOverlapGroup: Swift.UInt8 { + get + } + public static func == (lhs: DittoSwift.DittoRemotePeerV2, rhs: DittoSwift.DittoRemotePeerV2) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public typealias ID = Swift.UInt32 + @objc deinit + public var hashValue: Swift.Int { + get + } +} +public struct DiskUsageItem { + public let type: DittoSwift.DittoFileSystemType + public let path: Swift.String + public let sizeInBytes: Swift.Int + public let childItems: [DittoSwift.DiskUsageItem] + public init(type: DittoSwift.DittoFileSystemType, path: Swift.String, sizeInBytes: Swift.Int, children: [DittoSwift.DiskUsageItem]) +} +extension DittoSwift.DiskUsageItem : Swift.Equatable { + public static func == (a: DittoSwift.DiskUsageItem, b: DittoSwift.DiskUsageItem) -> Swift.Bool +} +extension DittoSwift.DiskUsageItem : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DiskUsageItem : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} +public enum DittoWriteStrategy { + case merge + case insertIfAbsent + case insertDefaultIfAbsent + case updateDifferentValues + public static func == (a: DittoSwift.DittoWriteStrategy, b: DittoSwift.DittoWriteStrategy) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum DittoLiveQueryEvent { + case initial + case update(DittoSwift.DittoLiveQueryUpdate) + public func hash(documents: [DittoSwift.DittoDocument]) -> Swift.UInt64 + public func hashMnemonic(documents: [DittoSwift.DittoDocument]) -> Swift.String +} +public struct DittoLiveQueryUpdate { + public let oldDocuments: [DittoSwift.DittoDocument] + public let insertions: [Swift.Int] + public let deletions: [Swift.Int] + public let updates: [Swift.Int] + public let moves: [(from: Swift.Int, to: Swift.Int)] +} +extension DittoSwift.DittoLiveQueryEvent : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible { + public var description: Swift.String { + get + } + public var debugDescription: Swift.String { + get + } +} +public struct DittoConnection { + public var id: Swift.String + public var type: DittoSwift.DittoConnectionType + @available(*, deprecated, message: "Use `peerKeyString1` instead.") + public var peer1: Foundation.Data { + get + set + } + @available(*, deprecated, message: "Use `peerKeyString2` instead.") + public var peer2: Foundation.Data { + get + set + } + public var peerKeyString1: Swift.String + public var peerKeyString2: Swift.String + public var approximateDistanceInMeters: Swift.Double? + @available(*, deprecated, message: "Use the variant taking peer key strings instead.") + public init(id: Swift.String, type: DittoSwift.DittoConnectionType, peer1: Foundation.Data, peer2: Foundation.Data, approximateDistanceInMeters: Swift.Double? = nil) + public init(id: Swift.String, type: DittoSwift.DittoConnectionType, peerKeyString1: Swift.String, peerKeyString2: Swift.String, approximateDistanceInMeters: Swift.Double? = nil) +} +extension DittoSwift.DittoConnection : Swift.Identifiable { + public typealias ID = Swift.String +} +extension DittoSwift.DittoConnection : Swift.Equatable { + public static func == (a: DittoSwift.DittoConnection, b: DittoSwift.DittoConnection) -> Swift.Bool +} +extension DittoSwift.DittoConnection : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoConnection : Swift.Codable { + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +@_hasMissingDesignatedInitializers public class Ditto { + public class var version: Swift.String { + get + } + public var delegate: (any DittoSwift.DittoDelegate)? { + get + set + } + public var deviceName: Swift.String { + get + set + } + public var siteID: Swift.UInt64 { + get + } + public var persistenceDirectory: Foundation.URL { + get + } + public var appID: Swift.String { + get + } + public var activated: Swift.Bool { + get + } + public var isSyncActive: Swift.Bool { + get + } + public var isEncrypted: Swift.Bool { + get + } + public var auth: DittoSwift.DittoAuthenticator? { + get + } + final public let diskUsage: DittoSwift.DiskUsage + final public let store: DittoSwift.DittoStore + final public let sync: DittoSwift.DittoSync + final public let presence: DittoSwift.DittoPresence + final public let smallPeerInfo: DittoSwift.DittoSmallPeerInfo + final public let experimental: DittoSwift.DittoExperimental + public var delegateEventQueue: Dispatch.DispatchQueue { + get + set + } + public var transportConfig: DittoSwift.DittoTransportConfig { + get + set + } + public func updateTransportConfig(block: (inout DittoSwift.DittoTransportConfig) -> Swift.Void) + public var isHistoryTrackingEnabled: Swift.Bool { + get + } + convenience public init(identity: DittoSwift.DittoIdentity = .offlinePlayground(), persistenceDirectory directory: Foundation.URL? = nil) + convenience public init(identity: DittoSwift.DittoIdentity = .offlinePlayground(), historyTrackingEnabled: Swift.Bool, persistenceDirectory: Foundation.URL? = nil) + public func setOfflineOnlyLicenseToken(_ licenseToken: Swift.String) throws + public func startSync() throws + public func stopSync() + public func transportDiagnostics() throws -> DittoSwift.DittoTransportDiagnostics + public var sdkVersion: Swift.String { + get + } + public func runGarbageCollection() + public func disableSyncWithV3() throws + @available(*, deprecated, message: "Use `self.presence.observe()` instead.") + public func observePeers(callback: @escaping (Swift.Array) -> ()) -> DittoSwift.DittoObserver + @available(*, deprecated, message: "Use `self.presence.observe()` instead.") + public func observePeersV2(callback: @escaping (Swift.String) -> ()) -> DittoSwift.DittoObserver + @objc deinit +} +public struct DittoDocumentID : Swift.Hashable { + public init(value: Any?) + public subscript(key: Swift.String) -> DittoSwift.DittoDocumentIDPath { + get + } + public subscript(index: Swift.Int) -> DittoSwift.DittoDocumentIDPath { + get + } + public func toString() -> Swift.String + public static func == (lhs: DittoSwift.DittoDocumentID, rhs: DittoSwift.DittoDocumentID) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoDocumentID { + public var value: Any? { + get + } + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } +} +extension DittoSwift.DittoDocumentID : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible { + public var description: Swift.String { + get + } + public var debugDescription: Swift.String { + get + } +} +extension DittoSwift.DittoDocumentID : Swift.ExpressibleByStringLiteral { + public init(stringLiteral value: Swift.StringLiteralType) + public typealias ExtendedGraphemeClusterLiteralType = Swift.StringLiteralType + public typealias StringLiteralType = Swift.StringLiteralType + public typealias UnicodeScalarLiteralType = Swift.StringLiteralType +} +extension DittoSwift.DittoDocumentID : Swift.ExpressibleByBooleanLiteral { + public init(booleanLiteral value: Swift.BooleanLiteralType) + public typealias BooleanLiteralType = Swift.BooleanLiteralType +} +extension DittoSwift.DittoDocumentID : Swift.ExpressibleByIntegerLiteral { + public init(integerLiteral value: Swift.IntegerLiteralType) + public typealias IntegerLiteralType = Swift.IntegerLiteralType +} +extension DittoSwift.DittoDocumentID : Swift.ExpressibleByArrayLiteral { + public typealias ArrayLiteralElement = Any? + public init(arrayLiteral elements: Any?...) +} +extension DittoSwift.DittoDocumentID : Swift.ExpressibleByDictionaryLiteral { + public typealias Key = Swift.String + public typealias Value = Any? + public init(dictionaryLiteral elements: (DittoSwift.DittoDocumentID.Key, DittoSwift.DittoDocumentID.Value)...) +} +public struct DittoSingleDocumentLiveQueryEvent { + public let isInitial: Swift.Bool + public let oldDocument: DittoSwift.DittoDocument? + public func hash(document: DittoSwift.DittoDocument?) -> Swift.UInt64 + public func hashMnemonic(document: DittoSwift.DittoDocument?) -> Swift.String +} +@_hasMissingDesignatedInitializers public class DittoExperimental { + public class func open(identity: DittoSwift.DittoIdentity = .offlinePlayground(), historyTrackingEnabled: Swift.Bool = false, persistenceDirectory: Foundation.URL? = nil, passphrase: Swift.String? = nil) throws -> DittoSwift.Ditto + public class func jsonByTranscoding(cbor: Foundation.Data) throws -> Foundation.Data + public class func triggerTestPanic() + @objc deinit +} +public protocol DittoAuthenticationDelegate : AnyObject { + func authenticationRequired(authenticator: DittoSwift.DittoAuthenticator) + func authenticationExpiringSoon(authenticator: DittoSwift.DittoAuthenticator, secondsRemaining: Swift.Int64) + func authenticationStatusDidChange(authenticator: DittoSwift.DittoAuthenticator) +} +extension DittoSwift.DittoAuthenticationDelegate { + public func authenticationStatusDidChange(authenticator: DittoSwift.DittoAuthenticator) +} +@_hasMissingDesignatedInitializers public class DittoSyncSubscription { + weak public var ditto: DittoSwift.Ditto? { + get + } + final public let queryString: Swift.String + final public let queryArguments: [Swift.String : Any?]? + public var isCancelled: Swift.Bool { + get + } + public func cancel() + @objc deinit +} +extension DittoSwift.DittoSyncSubscription : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoSyncSubscription : Swift.Equatable { + public static func == (left: DittoSwift.DittoSyncSubscription, right: DittoSwift.DittoSyncSubscription) -> Swift.Bool +} +public struct DittoDocumentIDPath { + public subscript(key: Swift.String) -> DittoSwift.DittoDocumentIDPath { + get + } + public subscript(index: Swift.Int) -> DittoSwift.DittoDocumentIDPath { + get + } +} +extension DittoSwift.DittoDocumentIDPath { + public var value: Any? { + get + } + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } +} +public typealias DittoAuthenticationRequest = DittoObjC.DITAuthenticationRequest +public typealias DittoAuthenticationSuccess = DittoObjC.DITAuthenticationSuccess +public protocol DittoDelegate : AnyObject { + func dittoTransportConditionDidChange(ditto: DittoSwift.Ditto, condition: DittoSwift.DittoTransportCondition, subsystem: DittoSwift.DittoConditionSource) + func dittoIdentityProviderAuthenticationRequest(ditto: DittoSwift.Ditto, request: DittoSwift.DittoAuthenticationRequest) +} +extension DittoSwift.DittoDelegate { + public func dittoTransportConditionDidChange(ditto: DittoSwift.Ditto, condition: DittoSwift.DittoTransportCondition, subsystem: DittoSwift.DittoConditionSource) + public func dittoIdentityProviderAuthenticationRequest(ditto: DittoSwift.Ditto, request: DittoSwift.DittoAuthenticationRequest) + public func dittoIdentityProviderRefreshRequest(ditto: DittoSwift.Ditto, request: Foundation.Data) +} +@available(*, deprecated, message: "Replaced by `DittoPeer`.") +public struct DittoRemotePeer : Swift.Codable { + public let networkId: Swift.String + public let deviceName: Swift.String + public let connections: [Swift.String] + public let rssi: Swift.Float? + public var approximateDistanceInMeters: Swift.Float? + public init(networkId: Swift.String, deviceName: Swift.String, connections: [Swift.String], rssi: Swift.Float? = nil, approximateDistanceInMeters: Swift.Float? = nil) + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +@available(*, deprecated, message: "Replaced by `DittoPeer`.") +extension DittoSwift.DittoRemotePeer : Swift.Identifiable { + public var id: Swift.String { + get + } + @available(*, deprecated, message: "Replaced by `DittoPeer`.") + public typealias ID = Swift.String +} +@_hasMissingDesignatedInitializers public class DittoAttachment : Swift.Hashable { + public var id: Swift.String { + get + } + public var len: Swift.Int { + get + } + public var metadata: [Swift.String : Swift.String] { + get + } + public static func == (lhs: DittoSwift.DittoAttachment, rhs: DittoSwift.DittoAttachment) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + @available(*, deprecated, message: "Replaced by `DittoAttachment.data()`.") + public func getData() throws -> Foundation.Data + public func data() throws -> Foundation.Data + public func copy(toPath path: Swift.String) throws + @objc deinit + public var hashValue: Swift.Int { + get + } +} +@_hasMissingDesignatedInitializers public class DittoAttachmentToken { + public var id: Swift.String { + get + } + public var len: Swift.Int { + get + } + public var metadata: [Swift.String : Swift.String] { + get + } + @objc deinit +} +extension DittoSwift.DittoAttachmentToken : Swift.Equatable { + public static func == (lhs: DittoSwift.DittoAttachmentToken, rhs: DittoSwift.DittoAttachmentToken) -> Swift.Bool +} +extension DittoSwift.DittoAttachmentToken : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoPendingCursorOperation { + public typealias Snapshot = (documents: [DittoSwift.DittoDocument], event: DittoSwift.DittoLiveQueryEvent) + public struct LiveQueryPublisher : Combine.Publisher { + public typealias Output = DittoSwift.DittoPendingCursorOperation.Snapshot + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == (documents: [DittoSwift.DittoDocument], event: DittoSwift.DittoLiveQueryEvent) + } + public func liveQueryPublisher() -> DittoSwift.DittoPendingCursorOperation.LiveQueryPublisher +} +public struct DittoTransactionInfo { +} +extension DittoSwift.DittoTransactionInfo : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoTransactionInfo : Swift.Equatable { + public static func == (a: DittoSwift.DittoTransactionInfo, b: DittoSwift.DittoTransactionInfo) -> Swift.Bool +} +extension DittoSwift.DittoTransactionInfo : Swift.Codable { + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +@_hasMissingDesignatedInitializers public class DittoTransportDiagnostics { + final public let transports: [DittoSwift.DittoTransportSnapshot] + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoSmallPeerInfo { + public var isEnabled: Swift.Bool { + get + set + } + public var syncScope: DittoSwift.DittoSmallPeerInfoSyncScope { + get + set + } + public var metadata: [Swift.String : Any] { + get + } + public func setMetadata(_ metadata: [Swift.String : Any]) throws + public var metadataJSONString: Swift.String { + get + } + public func setMetadataJSONString(_ jsonString: Swift.String) throws + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoPendingIDSpecificOperation { + public func subscribe() -> DittoSwift.DittoSubscription + @discardableResult + public func remove() -> Swift.Bool + @discardableResult + public func evict() -> Swift.Bool + public func exec() -> DittoSwift.DittoDocument? + public func observeLocal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping (DittoSwift.DittoDocument?, DittoSwift.DittoSingleDocumentLiveQueryEvent) -> Swift.Void) -> DittoSwift.DittoLiveQuery + public func observeLocalWithNextSignal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping (DittoSwift.DittoDocument?, DittoSwift.DittoSingleDocumentLiveQueryEvent, @escaping DittoSwift.DittoSignalNext) -> Swift.Void) -> DittoSwift.DittoLiveQuery + @discardableResult + public func update(_ closure: @escaping (DittoSwift.DittoMutableDocument?) -> Swift.Void) -> [DittoSwift.DittoUpdateResult] + @available(*, deprecated, message: "Codable APIs will be removed in the future.") + public func update(using newValue: T) throws where T : Swift.Decodable, T : Swift.Encodable + @objc deinit +} +public enum DittoObjCInterop { + public static func initDittoWith(ditDitto: DittoObjC.DITDitto) -> DittoSwift.Ditto + public static func ditDittoFor(ditto: DittoSwift.Ditto) -> DittoObjC.DITDitto +} +@_hasMissingDesignatedInitializers public class DittoWriteTransactionPendingCursorOperation { + public func limit(_ limit: Swift.Int32) -> Self + public func sort(_ query: Swift.String, direction: DittoSwift.DittoSortDirection) -> Self + public func offset(_ offset: Swift.UInt32) -> Self + public func exec() -> [DittoSwift.DittoDocument] + @discardableResult + public func remove() -> [DittoSwift.DittoDocumentID] + @discardableResult + public func evict() -> [DittoSwift.DittoDocumentID] + @discardableResult + public func update(_ closure: @escaping ([DittoSwift.DittoMutableDocument]) -> Swift.Void) -> [DittoSwift.DittoDocumentID : [DittoSwift.DittoUpdateResult]] + @objc deinit +} +public struct DittoPeer { + public var address: DittoSwift.DittoAddress + @available(*, deprecated, message: "Use `peerKeyString` instead.") + public var peerKey: Foundation.Data { + get + set + } + public var peerKeyString: Swift.String + public var connections: [DittoSwift.DittoConnection] + public var deviceName: Swift.String + public var isConnectedToDittoCloud: Swift.Bool + @available(*, deprecated, message: "Query overlap groups have been phased out, this property always returns 0.") + public var queryOverlapGroup: Swift.UInt8 { + get + set + } + public var os: Swift.String? + public var dittoSDKVersion: Swift.String? + public var isCompatible: Swift.Bool? + public var peerMetadata: [Swift.String : Any?] { + get + } + public var identityServiceMetadata: [Swift.String : Any?] { + get + } + @available(*, deprecated, message: "Use `peerKeyString` variant instead.") + public init(address: DittoSwift.DittoAddress, peerKey: Foundation.Data, connections: [DittoSwift.DittoConnection], deviceName: Swift.String, isConnectedToDittoCloud: Swift.Bool, queryOverlapGroup: Swift.UInt8, os: Swift.String? = nil, dittoSDKVersion: Swift.String? = nil, isCompatible: Swift.Bool? = nil, peerMetadata: [Swift.String : Swift.AnyHashable?] = [:], identityServiceMetadata: [Swift.String : Swift.AnyHashable?] = [:]) + @available(*, deprecated, message: "Use the version without `queryOverlapGroup` instead.") + public init(address: DittoSwift.DittoAddress, peerKeyString: Swift.String, connections: [DittoSwift.DittoConnection], deviceName: Swift.String, isConnectedToDittoCloud: Swift.Bool, queryOverlapGroup: Swift.UInt8, os: Swift.String? = nil, dittoSDKVersion: Swift.String? = nil, isCompatible: Swift.Bool? = nil, peerMetadata: [Swift.String : Any?] = [:], identityServiceMetadata: [Swift.String : Any?] = [:]) + public init(address: DittoSwift.DittoAddress, peerKeyString: Swift.String, connections: [DittoSwift.DittoConnection], deviceName: Swift.String, isConnectedToDittoCloud: Swift.Bool, os: Swift.String? = nil, dittoSDKVersion: Swift.String? = nil, isCompatible: Swift.Bool? = nil, peerMetadata: [Swift.String : Any?] = [:], identityServiceMetadata: [Swift.String : Any?] = [:]) +} +extension DittoSwift.DittoPeer : Swift.Equatable { + public static func == (a: DittoSwift.DittoPeer, b: DittoSwift.DittoPeer) -> Swift.Bool +} +extension DittoSwift.DittoPeer : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoPeer : Swift.Codable { + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +@_hasMissingDesignatedInitializers public class DittoQueryResult { + final public let items: [DittoSwift.DittoQueryResultItem] + public func mutatedDocumentIDs() -> [DittoSwift.DittoDocumentID] + @objc deinit +} +extension Foundation.NSNotification.Name { + public static let dittoAuthenticationStatusDidChange: Foundation.NSNotification.Name +} +@_hasMissingDesignatedInitializers public class DittoAuthenticator { + public var status: DittoSwift.DittoAuthenticationStatus { + get + } + public func login(token: Swift.String, provider: Swift.String, completion: @escaping (Swift.String?, DittoSwift.DittoSwiftError?) -> Swift.Void) + @available(*, deprecated, message: "Use `login` that provides access to the clientInfo JSON string in the completion closure instead.") + public func loginWithToken(_ token: Swift.String, provider: Swift.String, completion: @escaping (DittoSwift.DittoSwiftError?) -> Swift.Void) + public func loginWithCredentials(username: Swift.String, password: Swift.String, provider: Swift.String, completion: @escaping (DittoSwift.DittoSwiftError?) -> Swift.Void) + public func logout(cleanup: ((DittoSwift.Ditto) -> Swift.Void)? = nil) + public func observeStatus(_ block: @escaping (DittoSwift.DittoAuthenticationStatus) -> Swift.Void) -> DittoSwift.DittoObserver + @objc deinit +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.Ditto { + @available(*, deprecated, message: "Replaced by `DittoPresence.GraphPublisher`.") + public struct RemotePeersPublisher : Combine.Publisher { + public typealias Output = [DittoSwift.DittoRemotePeer] + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == [DittoSwift.DittoRemotePeer] + } + @available(*, deprecated, message: "Replaced by `self.presence.graphPublisher()`.") + public func remotePeersPublisher() -> DittoSwift.Ditto.RemotePeersPublisher +} +public enum DittoSwiftError : Swift.Error { + public enum ActivationErrorReason { + case licenseTokenExpired(message: Swift.String) + case licenseTokenUnsupportedFutureVersion(message: Swift.String) + case licenseTokenVerificationFailed(message: Swift.String) + case notActivatedError(message: Swift.String) + } + public enum AuthenticationErrorReason { + case failedToAuthenticate + public static func == (a: DittoSwift.DittoSwiftError.AuthenticationErrorReason, b: DittoSwift.DittoSwiftError.AuthenticationErrorReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } + } + public enum EncryptionErrorReason { + case extraneousPassphraseGiven + case passphraseInvalid + case passphraseNotGiven + public static func == (a: DittoSwift.DittoSwiftError.EncryptionErrorReason, b: DittoSwift.DittoSwiftError.EncryptionErrorReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } + } + public enum MigrationErrorReason { + case disableSyncWithV3Failed + public static func == (a: DittoSwift.DittoSwiftError.MigrationErrorReason, b: DittoSwift.DittoSwiftError.MigrationErrorReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } + } + public enum StoreErrorReason { + case attachmentDataRetrievalError(error: any Swift.Error) + case attachmentFileCopyError(error: any Swift.Error) + case attachmentFileNotFound(message: Swift.String) + case attachmentFilePermissionDenied(message: Swift.String) + case attachmentNotFound(message: Swift.String) + case attachmentTokenInvalid(message: Swift.String) + case failedToCreateAttachment(message: Swift.String) + case failedToFetchAttachment(message: Swift.String) + case backendError(message: Swift.String) + case crdtError(message: Swift.String) + case documentContentEncodingFailed(error: (any Swift.Error)?) + case documentNotFound + case failedToDecodeData(error: (any Swift.Error)?, data: [Swift.UInt8]) + case failedToDecodeDocument(error: any Swift.Error) + case failedToGetDocumentData(path: Swift.String) + case failedToGetDocumentIDData(path: Swift.String) + case invalidCRDTType(message: Swift.String) + case invalidDocumentStructure(cbor: DittoSwift.CBOR) + case invalidValueForCRDT(message: Swift.String) + case nonStringKeyInDocument(key: DittoSwift.CBOR) + case queryArgumentsInvalid + case queryError(message: Swift.String) + case queryInvalid(message: Swift.String) + case queryNotSupported(message: Swift.String) + case transactionReadOnly(message: Swift.String) + } + public enum TransportErrorReason { + case diagnosticsUnavailable + case failedToDecodeTransportDiagnostics + public static func == (a: DittoSwift.DittoSwiftError.TransportErrorReason, b: DittoSwift.DittoSwiftError.TransportErrorReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } + } + public enum ValidationErrorReason { + case depthLimitExceeded(message: Swift.String) + case notADictionary(message: Swift.String) + case notJSONCompatible(message: Swift.String) + case invalidJSON(message: Swift.String) + case invalidCBOR(message: Swift.String) + case sizeLimitExceeded(message: Swift.String) + } + public enum IOErrorReason { + case alreadyExists(message: Swift.String) + case notFound(message: Swift.String) + case permissionDenied(message: Swift.String) + case operationFailed(message: Swift.String) + } + case activationError(reason: DittoSwift.DittoSwiftError.ActivationErrorReason) + case authenticationError(reason: DittoSwift.DittoSwiftError.AuthenticationErrorReason) + case encryptionError(reason: DittoSwift.DittoSwiftError.EncryptionErrorReason) + case migrationError(reason: DittoSwift.DittoSwiftError.MigrationErrorReason) + case storeError(reason: DittoSwift.DittoSwiftError.StoreErrorReason) + case transportError(reason: DittoSwift.DittoSwiftError.TransportErrorReason) + case validationError(reason: DittoSwift.DittoSwiftError.ValidationErrorReason) + case ioError(reason: DittoSwift.DittoSwiftError.IOErrorReason) + case unsupportedError(message: Swift.String) + case unknownError(message: Swift.String) +} +extension DittoSwift.DittoSwiftError : Foundation.LocalizedError { + public var errorDescription: Swift.String? { + get + } +} +@_hasMissingDesignatedInitializers public class DittoWriteTransaction { + public func scoped(toCollectionNamed collectionName: DittoSwift.DittoCollectionName) -> DittoSwift.DittoScopedWriteTransaction + public subscript(collectionName: DittoSwift.DittoCollectionName) -> DittoSwift.DittoScopedWriteTransaction { + get + } + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoLogger { + public static var enabled: Swift.Bool { + get + set + } + public static var minimumLogLevel: DittoSwift.DittoLogLevel { + get + set + } + public static var emojiLogLevelHeadingsEnabled: Swift.Bool { + get + set + } + public static func setLogFile(_ logFile: Swift.String?) + public static func setLogFileURL(_ logFile: Foundation.URL?) + public static func setCustomLogCallback(_ logCb: ((DittoSwift.DittoLogLevel, Swift.String) -> ())?) + @discardableResult + public static func export(to fileURL: Foundation.URL) async throws -> Swift.UInt64 + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoSubscription { + public var query: Swift.String { + get + } + public var collectionName: DittoSwift.DittoCollectionName { + get + } + public func cancel() + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoScopedWriteTransaction { + public var collectionName: DittoSwift.DittoCollectionName { + get + } + @discardableResult + public func upsert(_ content: [Swift.String : Any?], writeStrategy: DittoSwift.DittoWriteStrategy = .merge) throws -> DittoSwift.DittoDocumentID + @discardableResult + @available(*, deprecated, message: "Codable APIs will be removed in the future.") + public func upsert(_ content: T, writeStrategy: DittoSwift.DittoWriteStrategy = .merge) throws -> DittoSwift.DittoDocumentID where T : Swift.Decodable, T : Swift.Encodable + public func findByID(_ id: DittoSwift.DittoDocumentID) -> DittoSwift.DittoWriteTransactionPendingIDSpecificOperation + public func findByID(_ id: Any) -> DittoSwift.DittoWriteTransactionPendingIDSpecificOperation + public func find(_ query: Swift.String) -> DittoSwift.DittoWriteTransactionPendingCursorOperation + public func find(_ query: Swift.String, args queryArgs: Swift.Dictionary) -> DittoSwift.DittoWriteTransactionPendingCursorOperation + public func findAll() -> DittoSwift.DittoWriteTransactionPendingCursorOperation + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoMutableDocumentPath : Swift.ExpressibleByStringLiteral, Swift.ExpressibleByIntegerLiteral, Swift.ExpressibleByBooleanLiteral, Swift.ExpressibleByFloatLiteral, Swift.ExpressibleByDictionaryLiteral, Swift.ExpressibleByArrayLiteral, Swift.ExpressibleByNilLiteral { + public subscript(key: Swift.String) -> DittoSwift.DittoMutableDocumentPath { + get + set + } + public subscript(index: Swift.Int) -> DittoSwift.DittoMutableDocumentPath { + get + set + } + public func set(_ value: Any?, isDefault: Swift.Bool = false) + public func remove() + required public init(stringLiteral value: Swift.StringLiteralType) + required public init(extendedGraphemeClusterLiteral value: Swift.StringLiteralType) + required public init(unicodeScalarLiteral value: Swift.StringLiteralType) + required public init(integerLiteral value: Swift.IntegerLiteralType) + required public init(booleanLiteral value: Swift.BooleanLiteralType) + required public init(floatLiteral value: Swift.FloatLiteralType) + required public init(dictionaryLiteral elements: (Swift.String, Any)...) + required public init(arrayLiteral elements: Any...) + required public init(nilLiteral: ()) + public typealias ArrayLiteralElement = Any + public typealias BooleanLiteralType = Swift.BooleanLiteralType + public typealias ExtendedGraphemeClusterLiteralType = Swift.StringLiteralType + public typealias FloatLiteralType = Swift.FloatLiteralType + public typealias IntegerLiteralType = Swift.IntegerLiteralType + public typealias Key = Swift.String + public typealias StringLiteralType = Swift.StringLiteralType + public typealias UnicodeScalarLiteralType = Swift.StringLiteralType + public typealias Value = Any + @objc deinit +} +extension DittoSwift.DittoMutableDocumentPath { + public var value: Any? { + get + } + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } + public var attachmentToken: DittoSwift.DittoAttachmentToken? { + get + } + public var counter: DittoSwift.DittoMutableCounter? { + get + } + public var register: DittoSwift.DittoMutableRegister? { + get + } +} +public struct DittoAuthenticationStatus : Swift.Equatable { + public var isAuthenticated: Swift.Bool + public var userID: Swift.String? + public static func == (a: DittoSwift.DittoAuthenticationStatus, b: DittoSwift.DittoAuthenticationStatus) -> Swift.Bool +} +public struct DittoPresenceGraph { + public var localPeer: DittoSwift.DittoPeer + public var remotePeers: [DittoSwift.DittoPeer] + public init(localPeer: DittoSwift.DittoPeer, remotePeers: [DittoSwift.DittoPeer]) + public func allConnectionsByID() -> Swift.Dictionary +} +extension DittoSwift.DittoPresenceGraph : Swift.Equatable { + public static func == (a: DittoSwift.DittoPresenceGraph, b: DittoSwift.DittoPresenceGraph) -> Swift.Bool +} +extension DittoSwift.DittoPresenceGraph : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoPresenceGraph : Swift.Codable { + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +extension Swift.Int32 : Swift.Error { +} +@_hasMissingDesignatedInitializers @available(*, deprecated, message: "Codable APIs will be removed in the future") +public class DittoTypedDocument where T : Swift.Decodable { + final public let id: DittoSwift.DittoDocumentID + final public let value: T + @objc deinit +} +public enum DittoSortDirection { + case ascending + case descending + public static func == (a: DittoSwift.DittoSortDirection, b: DittoSwift.DittoSortDirection) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_hasMissingDesignatedInitializers public class DittoQueryResultItem { + public var value: Swift.Dictionary { + get + } + public var isMaterialized: Swift.Bool { + get + } + public func materialize() + public func dematerialize() + public func cborData() -> Foundation.Data + public func jsonData() -> Foundation.Data + public func jsonString() -> Swift.String + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoTransaction { + public var info: DittoSwift.DittoTransactionInfo { + get + } + final public let store: DittoSwift.DittoStore + @objc deinit +} +extension DittoSwift.DittoTransaction : DittoSwift.DittoQueryExecuting { + @discardableResult + public func execute(query: Swift.String, arguments: Swift.Dictionary) async throws -> DittoSwift.DittoQueryResult +} +@_hasMissingDesignatedInitializers public class DittoPendingCollectionsOperation { + public func limit(_ limit: Swift.Int32) -> Self + public func sort(_ query: Swift.String, direction: DittoSwift.DittoSortDirection) -> Self + public func offset(_ offset: Swift.UInt32) -> Self + public func subscribe() -> DittoSwift.DittoSubscription + public func exec() -> [DittoSwift.DittoCollection] + public func observeLocal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping (DittoSwift.DittoCollectionsEvent) -> Swift.Void) -> DittoSwift.DittoLiveQuery + public func observeLocalWithNextSignal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping (DittoSwift.DittoCollectionsEvent, @escaping DittoSwift.DittoSignalNext) -> Swift.Void) -> DittoSwift.DittoLiveQuery + @objc deinit +} +public typealias DittoConnectionRequestHandler = (_ connectionRequest: DittoSwift.DittoConnectionRequest) async -> DittoSwift.DittoConnectionRequestAuthorization +@_hasMissingDesignatedInitializers public class DittoConnectionRequest { + public var peerKeyString: Swift.String { + get + } + public var peerMetadata: [Swift.String : Any?] { + get + } + public var peerMetadataJSONData: Foundation.Data { + get + } + public var identityServiceMetadata: [Swift.String : Any?] { + get + } + public var identityServiceMetadataJSONData: Foundation.Data { + get + } + public var connectionType: DittoSwift.DittoConnectionType { + get + } + @objc deinit +} +extension DittoSwift.DittoConnectionRequest : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoPresence { + public struct GraphPublisher : Combine.Publisher { + public typealias Output = DittoSwift.DittoPresenceGraph + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == DittoSwift.DittoPresenceGraph + } + public func graphPublisher() -> DittoSwift.DittoPresence.GraphPublisher +} +public struct DittoAddress { +} +extension DittoSwift.DittoAddress : Swift.Equatable { + public static func == (a: DittoSwift.DittoAddress, b: DittoSwift.DittoAddress) -> Swift.Bool +} +extension DittoSwift.DittoAddress : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoAddress : Swift.Codable { + public init(from decoder: any Swift.Decoder) throws + public func encode(to encoder: any Swift.Encoder) throws +} +@_hasMissingDesignatedInitializers public class DittoPendingCursorOperation { + public func limit(_ limit: Swift.Int32) -> Self + public func sort(_ query: Swift.String, direction: DittoSwift.DittoSortDirection) -> Self + public func offset(_ offset: Swift.UInt32) -> Self + public func subscribe() -> DittoSwift.DittoSubscription + @discardableResult + public func remove() -> [DittoSwift.DittoDocumentID] + @discardableResult + public func evict() -> [DittoSwift.DittoDocumentID] + public func exec() -> [DittoSwift.DittoDocument] + public func observeLocal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping ([DittoSwift.DittoDocument], DittoSwift.DittoLiveQueryEvent) -> Swift.Void) -> DittoSwift.DittoLiveQuery + public func observeLocalWithNextSignal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping ([DittoSwift.DittoDocument], DittoSwift.DittoLiveQueryEvent, @escaping DittoSwift.DittoSignalNext) -> Swift.Void) -> DittoSwift.DittoLiveQuery + @discardableResult + public func update(_ closure: @escaping ([DittoSwift.DittoMutableDocument]) -> Swift.Void) -> [DittoSwift.DittoDocumentID : [DittoSwift.DittoUpdateResult]] + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoMutableDocument { + public var id: DittoSwift.DittoDocumentID { + get + } + public var value: [Swift.String : Any?] { + get + } + @available(*, deprecated, message: "Codable APIs will be removed in the future") + public func typed(_ type: T.Type) throws -> DittoSwift.DittoTypedDocument where T : Swift.Decodable, T : Swift.Encodable + public subscript(key: Swift.String) -> DittoSwift.DittoMutableDocumentPath { + get + set + } + @objc deinit +} +public enum DittoConnectionRequestAuthorization { + case allow + case deny + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoConnectionRequestAuthorization : Swift.Equatable { + public static func == (a: DittoSwift.DittoConnectionRequestAuthorization, b: DittoSwift.DittoConnectionRequestAuthorization) -> Swift.Bool +} +public enum DittoIdentity { + case offlinePlayground(appID: Swift.String? = nil, siteID: Swift.UInt64? = nil) + case onlineWithAuthentication(appID: Swift.String, authenticationDelegate: any DittoSwift.DittoAuthenticationDelegate, enableDittoCloudSync: Swift.Bool = true, customAuthURL: Foundation.URL? = nil) + case onlinePlayground(appID: Swift.String, token: Swift.String, enableDittoCloudSync: Swift.Bool = true, customAuthURL: Foundation.URL? = nil) + case sharedKey(appID: Swift.String, sharedKey: Swift.String, siteID: Swift.UInt64? = nil) + case manual(certificateConfig: Swift.String) +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoStore { + public struct FetchAttachmentPublisher : Combine.Publisher { + public struct Progress { + public var percentage: Swift.Float + public var downloadedBytes: Swift.UInt64 + public var totalBytes: Swift.UInt64 + } + public typealias Output = DittoSwift.DittoAttachmentFetchEvent + public typealias Failure = DittoSwift.DittoSwiftError + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == DittoSwift.DittoSwiftError, S.Input == DittoSwift.DittoAttachmentFetchEvent + public func progress() -> Combine.AnyPublisher + public func completed() -> Combine.AnyPublisher + } + public func fetchAttachmentPublisher(attachmentToken: DittoSwift.DittoAttachmentToken) -> DittoSwift.DittoStore.FetchAttachmentPublisher + public func fetchAttachmentPublisher(attachmentToken: [Swift.String : Any]) -> DittoSwift.DittoStore.FetchAttachmentPublisher +} +public protocol DittoQueryExecuting { + @discardableResult + func execute(query: Swift.String, arguments: Swift.Dictionary) async throws -> DittoSwift.DittoQueryResult +} +extension DittoSwift.DittoQueryExecuting { + @discardableResult + public func execute(query: Swift.String) async throws -> DittoSwift.DittoQueryResult +} +@_hasMissingDesignatedInitializers public class DittoStore { + public subscript(collectionName: DittoSwift.DittoCollectionName) -> DittoSwift.DittoCollection { + get + } + public func collection(_ name: DittoSwift.DittoCollectionName) -> DittoSwift.DittoCollection + public func collectionNames() -> [DittoSwift.DittoCollectionName] + public func collections() -> DittoSwift.DittoPendingCollectionsOperation + public func queriesHash(queries: [DittoSwift.DittoLiveQuery]) -> Swift.UInt + public func queriesHashMnemonic(queries: [DittoSwift.DittoLiveQuery]) -> Swift.String + @discardableResult + public func write(_ block: @escaping (DittoSwift.DittoWriteTransaction) -> Swift.Void) -> [DittoSwift.DittoWriteTransactionResult] + public var observers: Swift.Set { + get + } + @discardableResult + public func registerObserver(query: Swift.String, arguments: Swift.Dictionary? = nil, deliverOn queue: Dispatch.DispatchQueue = .main, handler: @escaping DittoSwift.DittoStoreObservationHandler) throws -> DittoSwift.DittoStoreObserver + @discardableResult + public func registerObserver(query: Swift.String, arguments: Swift.Dictionary? = nil, deliverOn queue: Dispatch.DispatchQueue = .main, handlerWithSignalNext: @escaping DittoSwift.DittoStoreObservationHandlerWithSignalNext) throws -> DittoSwift.DittoStoreObserver + @discardableResult + public func transaction(hint: Swift.String? = nil, isReadOnly: Swift.Bool = false, with scope: ((_ transaction: DittoSwift.DittoTransaction) async throws -> DittoSwift.DittoTransactionCompletionAction)) async throws -> DittoSwift.DittoTransactionCompletionAction + public func transaction(hint: Swift.String? = nil, isReadOnly: Swift.Bool = false, with scope: ((_ transaction: DittoSwift.DittoTransaction) async throws -> T)) async throws -> T + public func newAttachment(path: Swift.String, metadata: [Swift.String : Swift.String] = [:]) async throws -> DittoSwift.DittoAttachment + public var attachmentFetchers: Swift.Set { + get + } + @discardableResult + public func fetchAttachment(token: DittoSwift.DittoAttachmentToken, deliverOn deliveryQueue: Dispatch.DispatchQueue = .main, onFetchEvent: @escaping (DittoSwift.DittoAttachmentFetchEvent) -> Swift.Void) throws -> DittoSwift.DittoAttachmentFetcher + @discardableResult + public func fetchAttachment(token: [Swift.String : Any], deliverOn queue: Dispatch.DispatchQueue = .main, onFetchEvent: @escaping (DittoSwift.DittoAttachmentFetchEvent) -> Swift.Void) throws -> DittoSwift.DittoAttachmentFetcher + @objc deinit +} +extension DittoSwift.DittoStore : DittoSwift.DittoQueryExecuting { + @discardableResult + public func execute(query: Swift.String, arguments: Swift.Dictionary) async throws -> DittoSwift.DittoQueryResult +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoPendingIDSpecificOperation { + public typealias Snapshot = (document: DittoSwift.DittoDocument?, event: DittoSwift.DittoSingleDocumentLiveQueryEvent) + public struct SingleDocumentLiveQueryPublisher : Combine.Publisher { + public typealias Output = DittoSwift.DittoPendingIDSpecificOperation.Snapshot + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == (document: DittoSwift.DittoDocument?, event: DittoSwift.DittoSingleDocumentLiveQueryEvent) + } + public func singleDocumentLiveQueryPublisher() -> DittoSwift.DittoPendingIDSpecificOperation.SingleDocumentLiveQueryPublisher +} +public enum DittoFileSystemType { + case directory + case file + case symlink + public static func == (a: DittoSwift.DittoFileSystemType, b: DittoSwift.DittoFileSystemType) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoFileSystemType : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} +extension DittoSwift.DittoConnectionType : Swift.Equatable {} +extension DittoSwift.DittoConnectionType : Swift.Hashable {} +extension DittoSwift.DittoConnectionType : Swift.RawRepresentable {} +extension DittoSwift.DittoTransactionCompletionAction : Swift.Hashable {} +extension DittoSwift.DittoLogLevel : Swift.Equatable {} +extension DittoSwift.DittoLogLevel : Swift.Hashable {} +extension DittoSwift.DittoLogLevel : Swift.RawRepresentable {} +extension DittoSwift.DittoSmallPeerInfoSyncScope : Swift.Equatable {} +extension DittoSwift.DittoSmallPeerInfoSyncScope : Swift.Hashable {} +extension DittoSwift.DittoSmallPeerInfoSyncScope : Swift.RawRepresentable {} +extension DittoSwift.DittoConnectionPriority : Swift.Equatable {} +extension DittoSwift.DittoConnectionPriority : Swift.Hashable {} +extension DittoSwift.DittoConnectionPriority : Swift.RawRepresentable {} +extension DittoSwift.DittoTransportCondition : Swift.Equatable {} +extension DittoSwift.DittoTransportCondition : Swift.Hashable {} +extension DittoSwift.DittoTransportCondition : Swift.RawRepresentable {} +extension DittoSwift.DittoConditionSource : Swift.Equatable {} +extension DittoSwift.DittoConditionSource : Swift.Hashable {} +extension DittoSwift.DittoConditionSource : Swift.RawRepresentable {} +extension DittoSwift.DittoWriteStrategy : Swift.Equatable {} +extension DittoSwift.DittoWriteStrategy : Swift.Hashable {} +extension DittoSwift.DittoSwiftError.AuthenticationErrorReason : Swift.Equatable {} +extension DittoSwift.DittoSwiftError.AuthenticationErrorReason : Swift.Hashable {} +extension DittoSwift.DittoSwiftError.EncryptionErrorReason : Swift.Equatable {} +extension DittoSwift.DittoSwiftError.EncryptionErrorReason : Swift.Hashable {} +extension DittoSwift.DittoSwiftError.MigrationErrorReason : Swift.Equatable {} +extension DittoSwift.DittoSwiftError.MigrationErrorReason : Swift.Hashable {} +extension DittoSwift.DittoSwiftError.TransportErrorReason : Swift.Equatable {} +extension DittoSwift.DittoSwiftError.TransportErrorReason : Swift.Hashable {} +extension DittoSwift.DittoSortDirection : Swift.Equatable {} +extension DittoSwift.DittoSortDirection : Swift.Hashable {} +extension DittoSwift.DittoConnectionRequestAuthorization : Swift.Hashable {} +extension DittoSwift.DittoFileSystemType : Swift.Equatable {} +extension DittoSwift.DittoFileSystemType : Swift.Hashable {} diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/x86_64-apple-macos.swiftdoc b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/x86_64-apple-macos.swiftdoc new file mode 100644 index 0000000..184d33b Binary files /dev/null and b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/x86_64-apple-macos.swiftdoc differ diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/x86_64-apple-macos.swiftinterface b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/x86_64-apple-macos.swiftinterface new file mode 100644 index 0000000..56462eb --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/DittoSwift.swiftmodule/x86_64-apple-macos.swiftinterface @@ -0,0 +1,1943 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 6.0.3 effective-5.10 (swiftlang-6.0.3.1.10 clang-1600.0.30.1) +// swift-module-flags: -target x86_64-apple-macos11.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name DittoSwift +// swift-module-flags-ignorable: -no-verify-emitted-module-interface +import Combine +import DittoObjC.DittoFFI +import DittoObjC +@_exported import DittoSwift +import Foundation +import DittoObjC.Private +import Swift +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +@_hasMissingDesignatedInitializers public class DiskUsage { + public var exec: DittoSwift.DiskUsageItem { + get + } + public func observe(eventHandler: @escaping (DittoSwift.DiskUsageItem) -> Swift.Void) -> DittoSwift.DiskUsage.DiskUsageObserverHandle + @_hasMissingDesignatedInitializers public class DiskUsageObserverHandle { + public func stop() + @objc deinit + } + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoAttachmentFetcher { + weak public var ditto: DittoSwift.Ditto? { + get + } + public func stop() + @objc deinit +} +extension DittoSwift.DittoAttachmentFetcher : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoAttachmentFetcher : Swift.Equatable { + public static func == (left: DittoSwift.DittoAttachmentFetcher, right: DittoSwift.DittoAttachmentFetcher) -> Swift.Bool +} +public enum DittoUpdateResult { + case set(docID: DittoSwift.DittoDocumentID, path: Swift.String, value: Any?) + case removed(docID: DittoSwift.DittoDocumentID, path: Swift.String) + case incremented(docID: DittoSwift.DittoDocumentID, path: Swift.String, amount: Swift.Double) +} +@_hasMissingDesignatedInitializers public class DittoSync { + public var subscriptions: Swift.Set { + get + } + @discardableResult + public func registerSubscription(query: Swift.String, arguments: Swift.Dictionary? = nil) throws -> DittoSwift.DittoSyncSubscription + @objc deinit +} +public struct DittoCollectionsEvent { + public let isInitial: Swift.Bool + public let collections: [DittoSwift.DittoCollection] + public let oldCollections: [DittoSwift.DittoCollection] + public let insertions: [Swift.Int] + public let deletions: [Swift.Int] + public let updates: [Swift.Int] + public let moves: [(from: Swift.Int, to: Swift.Int)] +} +extension DittoSwift.DittoCollectionsEvent : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible { + public var description: Swift.String { + get + } + public var debugDescription: Swift.String { + get + } +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoAuthenticator { + public struct StatusPublisher : Combine.Publisher { + public typealias Output = DittoSwift.DittoAuthenticationStatus + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == DittoSwift.DittoAuthenticationStatus + } + public func statusPublisher() -> DittoSwift.DittoAuthenticator.StatusPublisher +} +public enum DittoAttachmentFetchEvent { + case completed(DittoSwift.DittoAttachment) + case progress(downloadedBytes: Swift.UInt64, totalBytes: Swift.UInt64) + case deleted +} +@_hasMissingDesignatedInitializers public class DittoTransportSnapshot { + final public let connectionType: Swift.String + final public let connecting: [Swift.Int64] + final public let connected: [Swift.Int64] + final public let disconnecting: [Swift.Int64] + final public let disconnected: [Swift.Int64] + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoDocument { + final public let id: DittoSwift.DittoDocumentID + public var value: [Swift.String : Any?] { + get + } + public subscript(key: Swift.String) -> DittoSwift.DittoDocumentPath { + get + } + @available(*, deprecated, message: "Codable APIs will be removed in the future") + public func typed(as type: T.Type) throws -> DittoSwift.DittoTypedDocument where T : Swift.Decodable, T : Swift.Encodable + @objc deinit +} +extension DittoSwift.DittoDocument : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible { + public var description: Swift.String { + get + } + public var debugDescription: Swift.String { + get + } +} +extension DittoSwift.DittoDocument : Swift.Identifiable { + public typealias ID = DittoSwift.DittoDocumentID +} +public typealias DittoCollectionName = Swift.String +extension Swift.String { + public static var history: Swift.String +} +@_hasMissingDesignatedInitializers public class DittoCollection { + public var name: Swift.String { + get + } + @discardableResult + public func upsert(_ content: [Swift.String : Any?], writeStrategy: DittoSwift.DittoWriteStrategy = .merge) throws -> DittoSwift.DittoDocumentID + @discardableResult + @available(*, deprecated, message: "Codable APIs will be removed in the future.") + public func upsert(_ content: T, writeStrategy: DittoSwift.DittoWriteStrategy = .merge) throws -> DittoSwift.DittoDocumentID where T : Swift.Encodable + public func findByID(_ id: DittoSwift.DittoDocumentID) -> DittoSwift.DittoPendingIDSpecificOperation + public func findByID(_ id: Any) -> DittoSwift.DittoPendingIDSpecificOperation + public func find(_ query: Swift.String) -> DittoSwift.DittoPendingCursorOperation + public func find(_ query: Swift.String, args queryArgs: Swift.Dictionary) -> DittoSwift.DittoPendingCursorOperation + public func findAll() -> DittoSwift.DittoPendingCursorOperation + @available(*, deprecated, message: "Replaced by `DittoStore.newAttachment()`.") + public func newAttachment(path: Swift.String, metadata: [Swift.String : Swift.String] = [:]) -> DittoSwift.DittoAttachment? + @available(*, deprecated, message: "Replaced by `DittoStore.fetchAttachment()`.") + public func fetchAttachment(token: DittoSwift.DittoAttachmentToken, deliverOn queue: Dispatch.DispatchQueue = .main, onFetchEvent: @escaping (DittoSwift.DittoAttachmentFetchEvent) -> Swift.Void) -> DittoSwift.DittoAttachmentFetcher? + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoPresence { + public var peerMetadata: [Swift.String : Any?] { + get + } + public func setPeerMetadata(_ peerMetadata: [Swift.String : Any?]) throws + public var peerMetadataJSONData: Foundation.Data { + get + } + public func setPeerMetadataJSONData(_ jsonData: Foundation.Data) throws + public var graph: DittoSwift.DittoPresenceGraph { + get + } + public func observe(didChangeHandler: @escaping (DittoSwift.DittoPresenceGraph) -> ()) -> DittoSwift.DittoObserver + public var connectionRequestHandler: DittoSwift.DittoConnectionRequestHandler? { + get + set + } + @objc deinit +} +public class DittoRegister { + public init(value: Any?) + @objc deinit +} +extension DittoSwift.DittoRegister { + public var value: Any? { + get + } + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } +} +public enum DittoConnectionType : Swift.String { + case bluetooth + case accessPoint + case p2pWiFi + case webSocket + public init?(rawValue: Swift.String) + public typealias RawValue = Swift.String + public var rawValue: Swift.String { + get + } +} +extension DittoSwift.DittoConnectionType : Swift.CaseIterable { + public typealias AllCases = [DittoSwift.DittoConnectionType] + nonisolated public static var allCases: [DittoSwift.DittoConnectionType] { + get + } +} +extension DittoSwift.DittoConnectionType : Swift.Codable { +} +@_hasMissingDesignatedInitializers public class DittoObserver { + public func stop() + @objc deinit +} +public enum DittoWriteTransactionResult { + case inserted(id: DittoSwift.DittoDocumentID, collection: Swift.String) + case updated(id: DittoSwift.DittoDocumentID, collection: Swift.String) + case evicted(id: DittoSwift.DittoDocumentID, collection: Swift.String) + case removed(id: DittoSwift.DittoDocumentID, collection: Swift.String) +} +@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers public class DittoMutableCounter : DittoSwift.DittoCounter { + public func increment(by amount: Swift.Double) + @objc deinit +} +public class DittoDiffer { + public init() + public func diff(_ items: [DittoSwift.DittoQueryResultItem]) -> DittoSwift.DittoDiff + @objc deinit +} +indirect public enum CBOR : Swift.Equatable, Swift.Hashable, Swift.ExpressibleByNilLiteral, Swift.ExpressibleByIntegerLiteral, Swift.ExpressibleByStringLiteral, Swift.ExpressibleByArrayLiteral, Swift.ExpressibleByDictionaryLiteral, Swift.ExpressibleByBooleanLiteral, Swift.ExpressibleByFloatLiteral { + case unsignedInt(Swift.UInt64) + case negativeInt(Swift.UInt64) + case byteString([Swift.UInt8]) + case utf8String(Swift.String) + case array([DittoSwift.CBOR]) + case map([DittoSwift.CBOR : DittoSwift.CBOR]) + case tagged(DittoSwift.CBOR.Tag, DittoSwift.CBOR) + case simple(Swift.UInt8) + case boolean(Swift.Bool) + case null + case undefined + case half(Swift.Float32) + case float(Swift.Float32) + case double(Swift.Float64) + case `break` + case date(Foundation.Date) + public func hash(into hasher: inout Swift.Hasher) + public subscript(position: DittoSwift.CBOR) -> DittoSwift.CBOR? { + get + set(x) + } + public init(nilLiteral: ()) + public init(integerLiteral value: Swift.Int) + public init(extendedGraphemeClusterLiteral value: Swift.String) + public init(unicodeScalarLiteral value: Swift.String) + public init(stringLiteral value: Swift.String) + public init(arrayLiteral elements: DittoSwift.CBOR...) + public init(dictionaryLiteral elements: (DittoSwift.CBOR, DittoSwift.CBOR)...) + public init(booleanLiteral value: Swift.Bool) + public init(floatLiteral value: Swift.Float32) + public static func == (lhs: DittoSwift.CBOR, rhs: DittoSwift.CBOR) -> Swift.Bool + public struct Tag : Swift.RawRepresentable, Swift.Equatable, Swift.Hashable { + public let rawValue: Swift.UInt64 + public init(rawValue: Swift.UInt64) + public var hashValue: Swift.Int { + get + } + public typealias RawValue = Swift.UInt64 + } + public typealias ArrayLiteralElement = DittoSwift.CBOR + public typealias BooleanLiteralType = Swift.Bool + public typealias ExtendedGraphemeClusterLiteralType = Swift.String + public typealias FloatLiteralType = Swift.Float32 + public typealias IntegerLiteralType = Swift.Int + public typealias Key = DittoSwift.CBOR + public typealias StringLiteralType = Swift.String + public typealias UnicodeScalarLiteralType = Swift.String + public typealias Value = DittoSwift.CBOR + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.CBOR.Tag { + public static let standardDateTimeString: DittoSwift.CBOR.Tag + public static let epochBasedDateTime: DittoSwift.CBOR.Tag + public static let positiveBignum: DittoSwift.CBOR.Tag + public static let negativeBignum: DittoSwift.CBOR.Tag + public static let decimalFraction: DittoSwift.CBOR.Tag + public static let bigfloat: DittoSwift.CBOR.Tag + public static let expectedConversionToBase64URLEncoding: DittoSwift.CBOR.Tag + public static let expectedConversionToBase64Encoding: DittoSwift.CBOR.Tag + public static let expectedConversionToBase16Encoding: DittoSwift.CBOR.Tag + public static let encodedCBORDataItem: DittoSwift.CBOR.Tag + public static let uri: DittoSwift.CBOR.Tag + public static let base64Url: DittoSwift.CBOR.Tag + public static let base64: DittoSwift.CBOR.Tag + public static let regularExpression: DittoSwift.CBOR.Tag + public static let mimeMessage: DittoSwift.CBOR.Tag + public static let uuid: DittoSwift.CBOR.Tag + public static let selfDescribeCBOR: DittoSwift.CBOR.Tag +} +public struct DittoBluetoothLEConfig : Swift.Codable, Swift.Equatable { + public var isEnabled: Swift.Bool + public static func == (a: DittoSwift.DittoBluetoothLEConfig, b: DittoSwift.DittoBluetoothLEConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoLANConfig : Swift.Codable, Swift.Equatable { + public var isEnabled: Swift.Bool + public var isMDNSEnabled: Swift.Bool + public var isMulticastEnabled: Swift.Bool + @available(*, deprecated, message: "Please use `isMDNSEnabled` instead.") + public var ismDNSEnabled: Swift.Bool { + get + set + } + public static func == (a: DittoSwift.DittoLANConfig, b: DittoSwift.DittoLANConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoAWDLConfig : Swift.Codable, Swift.Equatable { + public var isEnabled: Swift.Bool + public static func == (a: DittoSwift.DittoAWDLConfig, b: DittoSwift.DittoAWDLConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoPeerToPeer : Swift.Codable, Swift.Equatable { + public var bluetoothLE: DittoSwift.DittoBluetoothLEConfig + public var lan: DittoSwift.DittoLANConfig + public var awdl: DittoSwift.DittoAWDLConfig + @available(*, deprecated, message: "Please use `bluetoothLE` instead.") + public var bluetoothLe: DittoSwift.DittoBluetoothLEConfig { + get + set + } + public static func == (a: DittoSwift.DittoPeerToPeer, b: DittoSwift.DittoPeerToPeer) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoConnect : Swift.Equatable { + public var tcpServers: Swift.Set + public var webSocketURLs: Swift.Set + public var retryInterval: Swift.Double + @available(*, deprecated, message: "Please use `webSocketURLs` instead.") + public var websocketURLs: Swift.Set { + get + set + } + public static func == (a: DittoSwift.DittoConnect, b: DittoSwift.DittoConnect) -> Swift.Bool +} +extension DittoSwift.DittoConnect : Swift.Codable { + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoTCPListenConfig : Swift.Codable, Swift.Equatable { + public var isEnabled: Swift.Bool + public var interfaceIP: Swift.String + public var port: Swift.UInt16 + @available(*, deprecated, message: "Please use `interfaceIP` instead.") + public var interfaceIp: Swift.String { + get + set + } + public static func == (a: DittoSwift.DittoTCPListenConfig, b: DittoSwift.DittoTCPListenConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoHTTPListenConfig : Swift.Equatable { + public var isEnabled: Swift.Bool + public var interfaceIP: Swift.String + public var port: Swift.UInt16 + public var staticContentPath: Swift.String? + public var webSocketSync: Swift.Bool + public var tlsKeyPath: Swift.String? + public var tlsCertificatePath: Swift.String? + public var isIdentityProvider: Swift.Bool + public var identityProviderSigningKey: Swift.String? + public var identityProviderVerifyingKeys: Swift.Array? + public var caKey: Swift.String? + @available(*, deprecated, message: "Please use `interfaceIP` instead.") + public var interfaceIp: Swift.String { + get + set + } + @available(*, deprecated, message: "Please use `webSocketSync` instead.") + public var websocketSync: Swift.Bool { + get + set + } + public static func == (a: DittoSwift.DittoHTTPListenConfig, b: DittoSwift.DittoHTTPListenConfig) -> Swift.Bool +} +extension DittoSwift.DittoHTTPListenConfig : Swift.Codable { + public init(from decoder: any Swift.Decoder) throws + public func encode(to encoder: any Swift.Encoder) throws +} +public struct DittoListen : Swift.Codable, Swift.Equatable { + public var tcp: DittoSwift.DittoTCPListenConfig + public var http: DittoSwift.DittoHTTPListenConfig + public static func == (a: DittoSwift.DittoListen, b: DittoSwift.DittoListen) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoGlobalConfig : Swift.Codable, Swift.Equatable { + public var syncGroup: Swift.UInt32 + public var routingHint: Swift.UInt32 + public static func == (a: DittoSwift.DittoGlobalConfig, b: DittoSwift.DittoGlobalConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public struct DittoTransportConfig : Swift.Codable, Swift.Equatable { + public var peerToPeer: DittoSwift.DittoPeerToPeer + public var connect: DittoSwift.DittoConnect + public var listen: DittoSwift.DittoListen + public var global: DittoSwift.DittoGlobalConfig + public mutating func enableAllPeerToPeer() + public mutating func setAllPeerToPeer(enabled: Swift.Bool) + public init() + public static func == (a: DittoSwift.DittoTransportConfig, b: DittoSwift.DittoTransportConfig) -> Swift.Bool + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +public enum LMDBError : Swift.Equatable { + case keyExists + case notFound + case pageNotFound + case corrupted + case panic + case versionMismatch + case invalid + case mapFull + case dbsFull + case readersFull + case tlsFull + case txnFull + case cursorFull + case pageFull + case mapResized + case incompatible + case badReaderSlot + case badTransaction + case badValueSize + case badDBI + case problem + case invalidParameter + case outOfDiskSpace + case outOfMemory + case ioError + case accessViolation + case other(returnCode: Swift.Int32) + public static func == (a: DittoSwift.LMDBError, b: DittoSwift.LMDBError) -> Swift.Bool +} +@_hasMissingDesignatedInitializers public class DittoLiveQuery { + public var query: Swift.String { + get + } + public var collectionName: DittoSwift.DittoCollectionName { + get + } + public func stop() + @objc deinit +} +public typealias DittoSignalNext = () -> Swift.Void +@_hasMissingDesignatedInitializers public class DittoWriteTransactionPendingIDSpecificOperation { + @discardableResult + public func remove() -> Swift.Bool + @discardableResult + public func evict() -> Swift.Bool + public func exec() -> DittoSwift.DittoDocument? + @discardableResult + public func update(_ closure: @escaping (DittoSwift.DittoMutableDocument?) -> Swift.Void) -> [DittoSwift.DittoUpdateResult] + @available(*, deprecated, message: "Codable APIs will be removed in the future.") + public func update(using newValue: T) throws where T : Swift.Decodable, T : Swift.Encodable + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoMutableRegister { + public var value: Any? { + get + set + } + @objc deinit +} +extension DittoSwift.DittoMutableRegister { + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } +} +@_hasMissingDesignatedInitializers public class DittoPeerV2Parser { + public class func parseJson(json: Swift.String) -> [DittoSwift.DittoRemotePeerV2]? + @objc deinit +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DiskUsage { + public struct DiskUsagePublisher : Combine.Publisher { + public typealias Output = DittoSwift.DiskUsageItem + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == DittoSwift.DiskUsageItem + } + public func diskUsagePublisher() -> DittoSwift.DiskUsage.DiskUsagePublisher +} +@_hasMissingDesignatedInitializers public class DittoCounter { + public var value: Swift.Double { + get + } + convenience public init() + @objc deinit +} +extension DittoSwift.DittoCounter : Swift.Equatable { + public static func == (lhs: DittoSwift.DittoCounter, rhs: DittoSwift.DittoCounter) -> Swift.Bool +} +public enum DittoTransactionCompletionAction { + case commit + case rollback + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoTransactionCompletionAction : Swift.Equatable { + public static func == (a: DittoSwift.DittoTransactionCompletionAction, b: DittoSwift.DittoTransactionCompletionAction) -> Swift.Bool +} +public enum DittoLogLevel : Swift.Int { + case error + case warning + case info + case debug + case verbose + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +public enum DittoSmallPeerInfoSyncScope : Swift.UInt, Swift.CaseIterable { + case bigPeerOnly + case localPeerOnly + public init?(rawValue: Swift.UInt) + public typealias AllCases = [DittoSwift.DittoSmallPeerInfoSyncScope] + public typealias RawValue = Swift.UInt + nonisolated public static var allCases: [DittoSwift.DittoSmallPeerInfoSyncScope] { + get + } + public var rawValue: Swift.UInt { + get + } +} +extension DittoSwift.DittoSmallPeerInfoSyncScope : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} +public enum DittoConnectionPriority : Swift.Int { + case dontConnect + case normal + case high + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +public enum DittoTransportCondition : Swift.UInt32, Swift.CustomStringConvertible { + case Unknown + case Ok + case GenericFailure + case AppInBackground + case MdnsFailure + case TcpListenFailure + case NoBleCentralPermission + case NoBlePeripheralPermission + case CannotEstablishConnection + case BleDisabled + case NoBleHardware + case WifiDisabled + case TemporarilyUnavailable + public var description: Swift.String { + get + } + public init?(rawValue: Swift.UInt32) + public typealias RawValue = Swift.UInt32 + public var rawValue: Swift.UInt32 { + get + } +} +public enum DittoConditionSource : Swift.UInt32, Swift.CustomStringConvertible { + case Bluetooth + case Tcp + case Awdl + case Mdns + public var description: Swift.String { + get + } + public init?(rawValue: Swift.UInt32) + public typealias RawValue = Swift.UInt32 + public var rawValue: Swift.UInt32 { + get + } +} +public typealias DittoStoreObservationHandler = (_ result: DittoSwift.DittoQueryResult) -> Swift.Void +public typealias DittoStoreObservationHandlerWithSignalNext = (_ result: DittoSwift.DittoQueryResult, _ signalNext: @escaping DittoSwift.DittoSignalNext) -> Swift.Void +@_hasMissingDesignatedInitializers public class DittoStoreObserver { + weak public var ditto: DittoSwift.Ditto? { + get + } + final public let queryString: Swift.String + final public let queryArguments: Swift.Dictionary? + public var isCancelled: Swift.Bool { + get + } + public func cancel() + @objc deinit +} +extension DittoSwift.DittoStoreObserver : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoStoreObserver : Swift.Equatable { + public static func == (left: DittoSwift.DittoStoreObserver, right: DittoSwift.DittoStoreObserver) -> Swift.Bool +} +public struct DittoDocumentPath { + public subscript(key: Swift.String) -> DittoSwift.DittoDocumentPath { + get + } + public subscript(index: Swift.Int) -> DittoSwift.DittoDocumentPath { + get + } +} +extension DittoSwift.DittoDocumentPath { + public var value: Any? { + get + } + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } + public var attachmentToken: DittoSwift.DittoAttachmentToken? { + get + } + public var counter: DittoSwift.DittoCounter? { + get + } + public var register: DittoSwift.DittoRegister? { + get + } +} +public struct DittoDiff { + public let insertions: Foundation.IndexSet + public let deletions: Foundation.IndexSet + public let updates: Foundation.IndexSet + public let moves: [(from: Swift.Int, to: Swift.Int)] +} +extension DittoSwift.DittoDiff : Swift.Decodable { + public init(from decoder: any Swift.Decoder) throws +} +extension DittoSwift.DittoDiff : Swift.Equatable { + public static func == (lhs: DittoSwift.DittoDiff, rhs: DittoSwift.DittoDiff) -> Swift.Bool +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoCollection { + @available(*, deprecated, message: "Replaced by `DittoStore.FetchAttachmentPublisher`.") + public struct FetchAttachmentPublisher : Combine.Publisher { + public struct Progress { + public var percentage: Swift.Float + public var downloadedBytes: Swift.UInt64 + public var totalBytes: Swift.UInt64 + } + public typealias Output = DittoSwift.DittoAttachmentFetchEvent + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == DittoSwift.DittoAttachmentFetchEvent + public func progress() -> Combine.AnyPublisher + public func completed() -> Combine.AnyPublisher + } + @available(*, deprecated, message: "Replaced by `DittoStore.fetchAttachmentPublisher`.") + public func fetchAttachmentPublisher(attachmentToken: DittoSwift.DittoAttachmentToken) -> DittoSwift.DittoCollection.FetchAttachmentPublisher +} +@_hasMissingDesignatedInitializers public class DittoRemotePeerV2 : Swift.Identifiable, Swift.Equatable, Swift.Hashable { + public var id: Swift.UInt32 { + get + } + public var address: DittoSwift.DittoAddress { + get + } + public var networkID: Swift.UInt32 { + get + } + public var deviceName: Swift.String { + get + } + public var os: Swift.String { + get + } + @available(*, deprecated, message: "Query overlap groups have been phased out, this property always returns 0.") + public var queryOverlapGroup: Swift.UInt8 { + get + } + public static func == (lhs: DittoSwift.DittoRemotePeerV2, rhs: DittoSwift.DittoRemotePeerV2) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public typealias ID = Swift.UInt32 + @objc deinit + public var hashValue: Swift.Int { + get + } +} +public struct DiskUsageItem { + public let type: DittoSwift.DittoFileSystemType + public let path: Swift.String + public let sizeInBytes: Swift.Int + public let childItems: [DittoSwift.DiskUsageItem] + public init(type: DittoSwift.DittoFileSystemType, path: Swift.String, sizeInBytes: Swift.Int, children: [DittoSwift.DiskUsageItem]) +} +extension DittoSwift.DiskUsageItem : Swift.Equatable { + public static func == (a: DittoSwift.DiskUsageItem, b: DittoSwift.DiskUsageItem) -> Swift.Bool +} +extension DittoSwift.DiskUsageItem : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DiskUsageItem : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} +public enum DittoWriteStrategy { + case merge + case insertIfAbsent + case insertDefaultIfAbsent + case updateDifferentValues + public static func == (a: DittoSwift.DittoWriteStrategy, b: DittoSwift.DittoWriteStrategy) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public enum DittoLiveQueryEvent { + case initial + case update(DittoSwift.DittoLiveQueryUpdate) + public func hash(documents: [DittoSwift.DittoDocument]) -> Swift.UInt64 + public func hashMnemonic(documents: [DittoSwift.DittoDocument]) -> Swift.String +} +public struct DittoLiveQueryUpdate { + public let oldDocuments: [DittoSwift.DittoDocument] + public let insertions: [Swift.Int] + public let deletions: [Swift.Int] + public let updates: [Swift.Int] + public let moves: [(from: Swift.Int, to: Swift.Int)] +} +extension DittoSwift.DittoLiveQueryEvent : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible { + public var description: Swift.String { + get + } + public var debugDescription: Swift.String { + get + } +} +public struct DittoConnection { + public var id: Swift.String + public var type: DittoSwift.DittoConnectionType + @available(*, deprecated, message: "Use `peerKeyString1` instead.") + public var peer1: Foundation.Data { + get + set + } + @available(*, deprecated, message: "Use `peerKeyString2` instead.") + public var peer2: Foundation.Data { + get + set + } + public var peerKeyString1: Swift.String + public var peerKeyString2: Swift.String + public var approximateDistanceInMeters: Swift.Double? + @available(*, deprecated, message: "Use the variant taking peer key strings instead.") + public init(id: Swift.String, type: DittoSwift.DittoConnectionType, peer1: Foundation.Data, peer2: Foundation.Data, approximateDistanceInMeters: Swift.Double? = nil) + public init(id: Swift.String, type: DittoSwift.DittoConnectionType, peerKeyString1: Swift.String, peerKeyString2: Swift.String, approximateDistanceInMeters: Swift.Double? = nil) +} +extension DittoSwift.DittoConnection : Swift.Identifiable { + public typealias ID = Swift.String +} +extension DittoSwift.DittoConnection : Swift.Equatable { + public static func == (a: DittoSwift.DittoConnection, b: DittoSwift.DittoConnection) -> Swift.Bool +} +extension DittoSwift.DittoConnection : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoConnection : Swift.Codable { + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +@_hasMissingDesignatedInitializers public class Ditto { + public class var version: Swift.String { + get + } + public var delegate: (any DittoSwift.DittoDelegate)? { + get + set + } + public var deviceName: Swift.String { + get + set + } + public var siteID: Swift.UInt64 { + get + } + public var persistenceDirectory: Foundation.URL { + get + } + public var appID: Swift.String { + get + } + public var activated: Swift.Bool { + get + } + public var isSyncActive: Swift.Bool { + get + } + public var isEncrypted: Swift.Bool { + get + } + public var auth: DittoSwift.DittoAuthenticator? { + get + } + final public let diskUsage: DittoSwift.DiskUsage + final public let store: DittoSwift.DittoStore + final public let sync: DittoSwift.DittoSync + final public let presence: DittoSwift.DittoPresence + final public let smallPeerInfo: DittoSwift.DittoSmallPeerInfo + final public let experimental: DittoSwift.DittoExperimental + public var delegateEventQueue: Dispatch.DispatchQueue { + get + set + } + public var transportConfig: DittoSwift.DittoTransportConfig { + get + set + } + public func updateTransportConfig(block: (inout DittoSwift.DittoTransportConfig) -> Swift.Void) + public var isHistoryTrackingEnabled: Swift.Bool { + get + } + convenience public init(identity: DittoSwift.DittoIdentity = .offlinePlayground(), persistenceDirectory directory: Foundation.URL? = nil) + convenience public init(identity: DittoSwift.DittoIdentity = .offlinePlayground(), historyTrackingEnabled: Swift.Bool, persistenceDirectory: Foundation.URL? = nil) + public func setOfflineOnlyLicenseToken(_ licenseToken: Swift.String) throws + public func startSync() throws + public func stopSync() + public func transportDiagnostics() throws -> DittoSwift.DittoTransportDiagnostics + public var sdkVersion: Swift.String { + get + } + public func runGarbageCollection() + public func disableSyncWithV3() throws + @available(*, deprecated, message: "Use `self.presence.observe()` instead.") + public func observePeers(callback: @escaping (Swift.Array) -> ()) -> DittoSwift.DittoObserver + @available(*, deprecated, message: "Use `self.presence.observe()` instead.") + public func observePeersV2(callback: @escaping (Swift.String) -> ()) -> DittoSwift.DittoObserver + @objc deinit +} +public struct DittoDocumentID : Swift.Hashable { + public init(value: Any?) + public subscript(key: Swift.String) -> DittoSwift.DittoDocumentIDPath { + get + } + public subscript(index: Swift.Int) -> DittoSwift.DittoDocumentIDPath { + get + } + public func toString() -> Swift.String + public static func == (lhs: DittoSwift.DittoDocumentID, rhs: DittoSwift.DittoDocumentID) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoDocumentID { + public var value: Any? { + get + } + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } +} +extension DittoSwift.DittoDocumentID : Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible { + public var description: Swift.String { + get + } + public var debugDescription: Swift.String { + get + } +} +extension DittoSwift.DittoDocumentID : Swift.ExpressibleByStringLiteral { + public init(stringLiteral value: Swift.StringLiteralType) + public typealias ExtendedGraphemeClusterLiteralType = Swift.StringLiteralType + public typealias StringLiteralType = Swift.StringLiteralType + public typealias UnicodeScalarLiteralType = Swift.StringLiteralType +} +extension DittoSwift.DittoDocumentID : Swift.ExpressibleByBooleanLiteral { + public init(booleanLiteral value: Swift.BooleanLiteralType) + public typealias BooleanLiteralType = Swift.BooleanLiteralType +} +extension DittoSwift.DittoDocumentID : Swift.ExpressibleByIntegerLiteral { + public init(integerLiteral value: Swift.IntegerLiteralType) + public typealias IntegerLiteralType = Swift.IntegerLiteralType +} +extension DittoSwift.DittoDocumentID : Swift.ExpressibleByArrayLiteral { + public typealias ArrayLiteralElement = Any? + public init(arrayLiteral elements: Any?...) +} +extension DittoSwift.DittoDocumentID : Swift.ExpressibleByDictionaryLiteral { + public typealias Key = Swift.String + public typealias Value = Any? + public init(dictionaryLiteral elements: (DittoSwift.DittoDocumentID.Key, DittoSwift.DittoDocumentID.Value)...) +} +public struct DittoSingleDocumentLiveQueryEvent { + public let isInitial: Swift.Bool + public let oldDocument: DittoSwift.DittoDocument? + public func hash(document: DittoSwift.DittoDocument?) -> Swift.UInt64 + public func hashMnemonic(document: DittoSwift.DittoDocument?) -> Swift.String +} +@_hasMissingDesignatedInitializers public class DittoExperimental { + public class func open(identity: DittoSwift.DittoIdentity = .offlinePlayground(), historyTrackingEnabled: Swift.Bool = false, persistenceDirectory: Foundation.URL? = nil, passphrase: Swift.String? = nil) throws -> DittoSwift.Ditto + public class func jsonByTranscoding(cbor: Foundation.Data) throws -> Foundation.Data + public class func triggerTestPanic() + @objc deinit +} +public protocol DittoAuthenticationDelegate : AnyObject { + func authenticationRequired(authenticator: DittoSwift.DittoAuthenticator) + func authenticationExpiringSoon(authenticator: DittoSwift.DittoAuthenticator, secondsRemaining: Swift.Int64) + func authenticationStatusDidChange(authenticator: DittoSwift.DittoAuthenticator) +} +extension DittoSwift.DittoAuthenticationDelegate { + public func authenticationStatusDidChange(authenticator: DittoSwift.DittoAuthenticator) +} +@_hasMissingDesignatedInitializers public class DittoSyncSubscription { + weak public var ditto: DittoSwift.Ditto? { + get + } + final public let queryString: Swift.String + final public let queryArguments: [Swift.String : Any?]? + public var isCancelled: Swift.Bool { + get + } + public func cancel() + @objc deinit +} +extension DittoSwift.DittoSyncSubscription : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoSyncSubscription : Swift.Equatable { + public static func == (left: DittoSwift.DittoSyncSubscription, right: DittoSwift.DittoSyncSubscription) -> Swift.Bool +} +public struct DittoDocumentIDPath { + public subscript(key: Swift.String) -> DittoSwift.DittoDocumentIDPath { + get + } + public subscript(index: Swift.Int) -> DittoSwift.DittoDocumentIDPath { + get + } +} +extension DittoSwift.DittoDocumentIDPath { + public var value: Any? { + get + } + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } +} +public typealias DittoAuthenticationRequest = DittoObjC.DITAuthenticationRequest +public typealias DittoAuthenticationSuccess = DittoObjC.DITAuthenticationSuccess +public protocol DittoDelegate : AnyObject { + func dittoTransportConditionDidChange(ditto: DittoSwift.Ditto, condition: DittoSwift.DittoTransportCondition, subsystem: DittoSwift.DittoConditionSource) + func dittoIdentityProviderAuthenticationRequest(ditto: DittoSwift.Ditto, request: DittoSwift.DittoAuthenticationRequest) +} +extension DittoSwift.DittoDelegate { + public func dittoTransportConditionDidChange(ditto: DittoSwift.Ditto, condition: DittoSwift.DittoTransportCondition, subsystem: DittoSwift.DittoConditionSource) + public func dittoIdentityProviderAuthenticationRequest(ditto: DittoSwift.Ditto, request: DittoSwift.DittoAuthenticationRequest) + public func dittoIdentityProviderRefreshRequest(ditto: DittoSwift.Ditto, request: Foundation.Data) +} +@available(*, deprecated, message: "Replaced by `DittoPeer`.") +public struct DittoRemotePeer : Swift.Codable { + public let networkId: Swift.String + public let deviceName: Swift.String + public let connections: [Swift.String] + public let rssi: Swift.Float? + public var approximateDistanceInMeters: Swift.Float? + public init(networkId: Swift.String, deviceName: Swift.String, connections: [Swift.String], rssi: Swift.Float? = nil, approximateDistanceInMeters: Swift.Float? = nil) + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +@available(*, deprecated, message: "Replaced by `DittoPeer`.") +extension DittoSwift.DittoRemotePeer : Swift.Identifiable { + public var id: Swift.String { + get + } + @available(*, deprecated, message: "Replaced by `DittoPeer`.") + public typealias ID = Swift.String +} +@_hasMissingDesignatedInitializers public class DittoAttachment : Swift.Hashable { + public var id: Swift.String { + get + } + public var len: Swift.Int { + get + } + public var metadata: [Swift.String : Swift.String] { + get + } + public static func == (lhs: DittoSwift.DittoAttachment, rhs: DittoSwift.DittoAttachment) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + @available(*, deprecated, message: "Replaced by `DittoAttachment.data()`.") + public func getData() throws -> Foundation.Data + public func data() throws -> Foundation.Data + public func copy(toPath path: Swift.String) throws + @objc deinit + public var hashValue: Swift.Int { + get + } +} +@_hasMissingDesignatedInitializers public class DittoAttachmentToken { + public var id: Swift.String { + get + } + public var len: Swift.Int { + get + } + public var metadata: [Swift.String : Swift.String] { + get + } + @objc deinit +} +extension DittoSwift.DittoAttachmentToken : Swift.Equatable { + public static func == (lhs: DittoSwift.DittoAttachmentToken, rhs: DittoSwift.DittoAttachmentToken) -> Swift.Bool +} +extension DittoSwift.DittoAttachmentToken : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoPendingCursorOperation { + public typealias Snapshot = (documents: [DittoSwift.DittoDocument], event: DittoSwift.DittoLiveQueryEvent) + public struct LiveQueryPublisher : Combine.Publisher { + public typealias Output = DittoSwift.DittoPendingCursorOperation.Snapshot + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == (documents: [DittoSwift.DittoDocument], event: DittoSwift.DittoLiveQueryEvent) + } + public func liveQueryPublisher() -> DittoSwift.DittoPendingCursorOperation.LiveQueryPublisher +} +public struct DittoTransactionInfo { +} +extension DittoSwift.DittoTransactionInfo : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoTransactionInfo : Swift.Equatable { + public static func == (a: DittoSwift.DittoTransactionInfo, b: DittoSwift.DittoTransactionInfo) -> Swift.Bool +} +extension DittoSwift.DittoTransactionInfo : Swift.Codable { + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +@_hasMissingDesignatedInitializers public class DittoTransportDiagnostics { + final public let transports: [DittoSwift.DittoTransportSnapshot] + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoSmallPeerInfo { + public var isEnabled: Swift.Bool { + get + set + } + public var syncScope: DittoSwift.DittoSmallPeerInfoSyncScope { + get + set + } + public var metadata: [Swift.String : Any] { + get + } + public func setMetadata(_ metadata: [Swift.String : Any]) throws + public var metadataJSONString: Swift.String { + get + } + public func setMetadataJSONString(_ jsonString: Swift.String) throws + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoPendingIDSpecificOperation { + public func subscribe() -> DittoSwift.DittoSubscription + @discardableResult + public func remove() -> Swift.Bool + @discardableResult + public func evict() -> Swift.Bool + public func exec() -> DittoSwift.DittoDocument? + public func observeLocal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping (DittoSwift.DittoDocument?, DittoSwift.DittoSingleDocumentLiveQueryEvent) -> Swift.Void) -> DittoSwift.DittoLiveQuery + public func observeLocalWithNextSignal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping (DittoSwift.DittoDocument?, DittoSwift.DittoSingleDocumentLiveQueryEvent, @escaping DittoSwift.DittoSignalNext) -> Swift.Void) -> DittoSwift.DittoLiveQuery + @discardableResult + public func update(_ closure: @escaping (DittoSwift.DittoMutableDocument?) -> Swift.Void) -> [DittoSwift.DittoUpdateResult] + @available(*, deprecated, message: "Codable APIs will be removed in the future.") + public func update(using newValue: T) throws where T : Swift.Decodable, T : Swift.Encodable + @objc deinit +} +public enum DittoObjCInterop { + public static func initDittoWith(ditDitto: DittoObjC.DITDitto) -> DittoSwift.Ditto + public static func ditDittoFor(ditto: DittoSwift.Ditto) -> DittoObjC.DITDitto +} +@_hasMissingDesignatedInitializers public class DittoWriteTransactionPendingCursorOperation { + public func limit(_ limit: Swift.Int32) -> Self + public func sort(_ query: Swift.String, direction: DittoSwift.DittoSortDirection) -> Self + public func offset(_ offset: Swift.UInt32) -> Self + public func exec() -> [DittoSwift.DittoDocument] + @discardableResult + public func remove() -> [DittoSwift.DittoDocumentID] + @discardableResult + public func evict() -> [DittoSwift.DittoDocumentID] + @discardableResult + public func update(_ closure: @escaping ([DittoSwift.DittoMutableDocument]) -> Swift.Void) -> [DittoSwift.DittoDocumentID : [DittoSwift.DittoUpdateResult]] + @objc deinit +} +public struct DittoPeer { + public var address: DittoSwift.DittoAddress + @available(*, deprecated, message: "Use `peerKeyString` instead.") + public var peerKey: Foundation.Data { + get + set + } + public var peerKeyString: Swift.String + public var connections: [DittoSwift.DittoConnection] + public var deviceName: Swift.String + public var isConnectedToDittoCloud: Swift.Bool + @available(*, deprecated, message: "Query overlap groups have been phased out, this property always returns 0.") + public var queryOverlapGroup: Swift.UInt8 { + get + set + } + public var os: Swift.String? + public var dittoSDKVersion: Swift.String? + public var isCompatible: Swift.Bool? + public var peerMetadata: [Swift.String : Any?] { + get + } + public var identityServiceMetadata: [Swift.String : Any?] { + get + } + @available(*, deprecated, message: "Use `peerKeyString` variant instead.") + public init(address: DittoSwift.DittoAddress, peerKey: Foundation.Data, connections: [DittoSwift.DittoConnection], deviceName: Swift.String, isConnectedToDittoCloud: Swift.Bool, queryOverlapGroup: Swift.UInt8, os: Swift.String? = nil, dittoSDKVersion: Swift.String? = nil, isCompatible: Swift.Bool? = nil, peerMetadata: [Swift.String : Swift.AnyHashable?] = [:], identityServiceMetadata: [Swift.String : Swift.AnyHashable?] = [:]) + @available(*, deprecated, message: "Use the version without `queryOverlapGroup` instead.") + public init(address: DittoSwift.DittoAddress, peerKeyString: Swift.String, connections: [DittoSwift.DittoConnection], deviceName: Swift.String, isConnectedToDittoCloud: Swift.Bool, queryOverlapGroup: Swift.UInt8, os: Swift.String? = nil, dittoSDKVersion: Swift.String? = nil, isCompatible: Swift.Bool? = nil, peerMetadata: [Swift.String : Any?] = [:], identityServiceMetadata: [Swift.String : Any?] = [:]) + public init(address: DittoSwift.DittoAddress, peerKeyString: Swift.String, connections: [DittoSwift.DittoConnection], deviceName: Swift.String, isConnectedToDittoCloud: Swift.Bool, os: Swift.String? = nil, dittoSDKVersion: Swift.String? = nil, isCompatible: Swift.Bool? = nil, peerMetadata: [Swift.String : Any?] = [:], identityServiceMetadata: [Swift.String : Any?] = [:]) +} +extension DittoSwift.DittoPeer : Swift.Equatable { + public static func == (a: DittoSwift.DittoPeer, b: DittoSwift.DittoPeer) -> Swift.Bool +} +extension DittoSwift.DittoPeer : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoPeer : Swift.Codable { + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +@_hasMissingDesignatedInitializers public class DittoQueryResult { + final public let items: [DittoSwift.DittoQueryResultItem] + public func mutatedDocumentIDs() -> [DittoSwift.DittoDocumentID] + @objc deinit +} +extension Foundation.NSNotification.Name { + public static let dittoAuthenticationStatusDidChange: Foundation.NSNotification.Name +} +@_hasMissingDesignatedInitializers public class DittoAuthenticator { + public var status: DittoSwift.DittoAuthenticationStatus { + get + } + public func login(token: Swift.String, provider: Swift.String, completion: @escaping (Swift.String?, DittoSwift.DittoSwiftError?) -> Swift.Void) + @available(*, deprecated, message: "Use `login` that provides access to the clientInfo JSON string in the completion closure instead.") + public func loginWithToken(_ token: Swift.String, provider: Swift.String, completion: @escaping (DittoSwift.DittoSwiftError?) -> Swift.Void) + public func loginWithCredentials(username: Swift.String, password: Swift.String, provider: Swift.String, completion: @escaping (DittoSwift.DittoSwiftError?) -> Swift.Void) + public func logout(cleanup: ((DittoSwift.Ditto) -> Swift.Void)? = nil) + public func observeStatus(_ block: @escaping (DittoSwift.DittoAuthenticationStatus) -> Swift.Void) -> DittoSwift.DittoObserver + @objc deinit +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.Ditto { + @available(*, deprecated, message: "Replaced by `DittoPresence.GraphPublisher`.") + public struct RemotePeersPublisher : Combine.Publisher { + public typealias Output = [DittoSwift.DittoRemotePeer] + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == [DittoSwift.DittoRemotePeer] + } + @available(*, deprecated, message: "Replaced by `self.presence.graphPublisher()`.") + public func remotePeersPublisher() -> DittoSwift.Ditto.RemotePeersPublisher +} +public enum DittoSwiftError : Swift.Error { + public enum ActivationErrorReason { + case licenseTokenExpired(message: Swift.String) + case licenseTokenUnsupportedFutureVersion(message: Swift.String) + case licenseTokenVerificationFailed(message: Swift.String) + case notActivatedError(message: Swift.String) + } + public enum AuthenticationErrorReason { + case failedToAuthenticate + public static func == (a: DittoSwift.DittoSwiftError.AuthenticationErrorReason, b: DittoSwift.DittoSwiftError.AuthenticationErrorReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } + } + public enum EncryptionErrorReason { + case extraneousPassphraseGiven + case passphraseInvalid + case passphraseNotGiven + public static func == (a: DittoSwift.DittoSwiftError.EncryptionErrorReason, b: DittoSwift.DittoSwiftError.EncryptionErrorReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } + } + public enum MigrationErrorReason { + case disableSyncWithV3Failed + public static func == (a: DittoSwift.DittoSwiftError.MigrationErrorReason, b: DittoSwift.DittoSwiftError.MigrationErrorReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } + } + public enum StoreErrorReason { + case attachmentDataRetrievalError(error: any Swift.Error) + case attachmentFileCopyError(error: any Swift.Error) + case attachmentFileNotFound(message: Swift.String) + case attachmentFilePermissionDenied(message: Swift.String) + case attachmentNotFound(message: Swift.String) + case attachmentTokenInvalid(message: Swift.String) + case failedToCreateAttachment(message: Swift.String) + case failedToFetchAttachment(message: Swift.String) + case backendError(message: Swift.String) + case crdtError(message: Swift.String) + case documentContentEncodingFailed(error: (any Swift.Error)?) + case documentNotFound + case failedToDecodeData(error: (any Swift.Error)?, data: [Swift.UInt8]) + case failedToDecodeDocument(error: any Swift.Error) + case failedToGetDocumentData(path: Swift.String) + case failedToGetDocumentIDData(path: Swift.String) + case invalidCRDTType(message: Swift.String) + case invalidDocumentStructure(cbor: DittoSwift.CBOR) + case invalidValueForCRDT(message: Swift.String) + case nonStringKeyInDocument(key: DittoSwift.CBOR) + case queryArgumentsInvalid + case queryError(message: Swift.String) + case queryInvalid(message: Swift.String) + case queryNotSupported(message: Swift.String) + case transactionReadOnly(message: Swift.String) + } + public enum TransportErrorReason { + case diagnosticsUnavailable + case failedToDecodeTransportDiagnostics + public static func == (a: DittoSwift.DittoSwiftError.TransportErrorReason, b: DittoSwift.DittoSwiftError.TransportErrorReason) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } + } + public enum ValidationErrorReason { + case depthLimitExceeded(message: Swift.String) + case notADictionary(message: Swift.String) + case notJSONCompatible(message: Swift.String) + case invalidJSON(message: Swift.String) + case invalidCBOR(message: Swift.String) + case sizeLimitExceeded(message: Swift.String) + } + public enum IOErrorReason { + case alreadyExists(message: Swift.String) + case notFound(message: Swift.String) + case permissionDenied(message: Swift.String) + case operationFailed(message: Swift.String) + } + case activationError(reason: DittoSwift.DittoSwiftError.ActivationErrorReason) + case authenticationError(reason: DittoSwift.DittoSwiftError.AuthenticationErrorReason) + case encryptionError(reason: DittoSwift.DittoSwiftError.EncryptionErrorReason) + case migrationError(reason: DittoSwift.DittoSwiftError.MigrationErrorReason) + case storeError(reason: DittoSwift.DittoSwiftError.StoreErrorReason) + case transportError(reason: DittoSwift.DittoSwiftError.TransportErrorReason) + case validationError(reason: DittoSwift.DittoSwiftError.ValidationErrorReason) + case ioError(reason: DittoSwift.DittoSwiftError.IOErrorReason) + case unsupportedError(message: Swift.String) + case unknownError(message: Swift.String) +} +extension DittoSwift.DittoSwiftError : Foundation.LocalizedError { + public var errorDescription: Swift.String? { + get + } +} +@_hasMissingDesignatedInitializers public class DittoWriteTransaction { + public func scoped(toCollectionNamed collectionName: DittoSwift.DittoCollectionName) -> DittoSwift.DittoScopedWriteTransaction + public subscript(collectionName: DittoSwift.DittoCollectionName) -> DittoSwift.DittoScopedWriteTransaction { + get + } + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoLogger { + public static var enabled: Swift.Bool { + get + set + } + public static var minimumLogLevel: DittoSwift.DittoLogLevel { + get + set + } + public static var emojiLogLevelHeadingsEnabled: Swift.Bool { + get + set + } + public static func setLogFile(_ logFile: Swift.String?) + public static func setLogFileURL(_ logFile: Foundation.URL?) + public static func setCustomLogCallback(_ logCb: ((DittoSwift.DittoLogLevel, Swift.String) -> ())?) + @discardableResult + public static func export(to fileURL: Foundation.URL) async throws -> Swift.UInt64 + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoSubscription { + public var query: Swift.String { + get + } + public var collectionName: DittoSwift.DittoCollectionName { + get + } + public func cancel() + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoScopedWriteTransaction { + public var collectionName: DittoSwift.DittoCollectionName { + get + } + @discardableResult + public func upsert(_ content: [Swift.String : Any?], writeStrategy: DittoSwift.DittoWriteStrategy = .merge) throws -> DittoSwift.DittoDocumentID + @discardableResult + @available(*, deprecated, message: "Codable APIs will be removed in the future.") + public func upsert(_ content: T, writeStrategy: DittoSwift.DittoWriteStrategy = .merge) throws -> DittoSwift.DittoDocumentID where T : Swift.Decodable, T : Swift.Encodable + public func findByID(_ id: DittoSwift.DittoDocumentID) -> DittoSwift.DittoWriteTransactionPendingIDSpecificOperation + public func findByID(_ id: Any) -> DittoSwift.DittoWriteTransactionPendingIDSpecificOperation + public func find(_ query: Swift.String) -> DittoSwift.DittoWriteTransactionPendingCursorOperation + public func find(_ query: Swift.String, args queryArgs: Swift.Dictionary) -> DittoSwift.DittoWriteTransactionPendingCursorOperation + public func findAll() -> DittoSwift.DittoWriteTransactionPendingCursorOperation + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoMutableDocumentPath : Swift.ExpressibleByStringLiteral, Swift.ExpressibleByIntegerLiteral, Swift.ExpressibleByBooleanLiteral, Swift.ExpressibleByFloatLiteral, Swift.ExpressibleByDictionaryLiteral, Swift.ExpressibleByArrayLiteral, Swift.ExpressibleByNilLiteral { + public subscript(key: Swift.String) -> DittoSwift.DittoMutableDocumentPath { + get + set + } + public subscript(index: Swift.Int) -> DittoSwift.DittoMutableDocumentPath { + get + set + } + public func set(_ value: Any?, isDefault: Swift.Bool = false) + public func remove() + required public init(stringLiteral value: Swift.StringLiteralType) + required public init(extendedGraphemeClusterLiteral value: Swift.StringLiteralType) + required public init(unicodeScalarLiteral value: Swift.StringLiteralType) + required public init(integerLiteral value: Swift.IntegerLiteralType) + required public init(booleanLiteral value: Swift.BooleanLiteralType) + required public init(floatLiteral value: Swift.FloatLiteralType) + required public init(dictionaryLiteral elements: (Swift.String, Any)...) + required public init(arrayLiteral elements: Any...) + required public init(nilLiteral: ()) + public typealias ArrayLiteralElement = Any + public typealias BooleanLiteralType = Swift.BooleanLiteralType + public typealias ExtendedGraphemeClusterLiteralType = Swift.StringLiteralType + public typealias FloatLiteralType = Swift.FloatLiteralType + public typealias IntegerLiteralType = Swift.IntegerLiteralType + public typealias Key = Swift.String + public typealias StringLiteralType = Swift.StringLiteralType + public typealias UnicodeScalarLiteralType = Swift.StringLiteralType + public typealias Value = Any + @objc deinit +} +extension DittoSwift.DittoMutableDocumentPath { + public var value: Any? { + get + } + public var string: Swift.String? { + get + } + public var stringValue: Swift.String { + get + } + public var bool: Swift.Bool? { + get + } + public var boolValue: Swift.Bool { + get + } + public var int: Swift.Int? { + get + } + public var intValue: Swift.Int { + get + } + public var uint: Swift.UInt? { + get + } + public var uintValue: Swift.UInt { + get + } + public var float: Swift.Float? { + get + } + public var floatValue: Swift.Float { + get + } + public var double: Swift.Double? { + get + } + public var doubleValue: Swift.Double { + get + } + public var array: [Any?]? { + get + } + public var arrayValue: [Any?] { + get + } + public var dictionary: [Swift.String : Any?]? { + get + } + public var dictionaryValue: [Swift.String : Any?] { + get + } + public var attachmentToken: DittoSwift.DittoAttachmentToken? { + get + } + public var counter: DittoSwift.DittoMutableCounter? { + get + } + public var register: DittoSwift.DittoMutableRegister? { + get + } +} +public struct DittoAuthenticationStatus : Swift.Equatable { + public var isAuthenticated: Swift.Bool + public var userID: Swift.String? + public static func == (a: DittoSwift.DittoAuthenticationStatus, b: DittoSwift.DittoAuthenticationStatus) -> Swift.Bool +} +public struct DittoPresenceGraph { + public var localPeer: DittoSwift.DittoPeer + public var remotePeers: [DittoSwift.DittoPeer] + public init(localPeer: DittoSwift.DittoPeer, remotePeers: [DittoSwift.DittoPeer]) + public func allConnectionsByID() -> Swift.Dictionary +} +extension DittoSwift.DittoPresenceGraph : Swift.Equatable { + public static func == (a: DittoSwift.DittoPresenceGraph, b: DittoSwift.DittoPresenceGraph) -> Swift.Bool +} +extension DittoSwift.DittoPresenceGraph : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoPresenceGraph : Swift.Codable { + public func encode(to encoder: any Swift.Encoder) throws + public init(from decoder: any Swift.Decoder) throws +} +extension Swift.Int32 : Swift.Error { +} +@_hasMissingDesignatedInitializers @available(*, deprecated, message: "Codable APIs will be removed in the future") +public class DittoTypedDocument where T : Swift.Decodable { + final public let id: DittoSwift.DittoDocumentID + final public let value: T + @objc deinit +} +public enum DittoSortDirection { + case ascending + case descending + public static func == (a: DittoSwift.DittoSortDirection, b: DittoSwift.DittoSortDirection) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +@_hasMissingDesignatedInitializers public class DittoQueryResultItem { + public var value: Swift.Dictionary { + get + } + public var isMaterialized: Swift.Bool { + get + } + public func materialize() + public func dematerialize() + public func cborData() -> Foundation.Data + public func jsonData() -> Foundation.Data + public func jsonString() -> Swift.String + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoTransaction { + public var info: DittoSwift.DittoTransactionInfo { + get + } + final public let store: DittoSwift.DittoStore + @objc deinit +} +extension DittoSwift.DittoTransaction : DittoSwift.DittoQueryExecuting { + @discardableResult + public func execute(query: Swift.String, arguments: Swift.Dictionary) async throws -> DittoSwift.DittoQueryResult +} +@_hasMissingDesignatedInitializers public class DittoPendingCollectionsOperation { + public func limit(_ limit: Swift.Int32) -> Self + public func sort(_ query: Swift.String, direction: DittoSwift.DittoSortDirection) -> Self + public func offset(_ offset: Swift.UInt32) -> Self + public func subscribe() -> DittoSwift.DittoSubscription + public func exec() -> [DittoSwift.DittoCollection] + public func observeLocal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping (DittoSwift.DittoCollectionsEvent) -> Swift.Void) -> DittoSwift.DittoLiveQuery + public func observeLocalWithNextSignal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping (DittoSwift.DittoCollectionsEvent, @escaping DittoSwift.DittoSignalNext) -> Swift.Void) -> DittoSwift.DittoLiveQuery + @objc deinit +} +public typealias DittoConnectionRequestHandler = (_ connectionRequest: DittoSwift.DittoConnectionRequest) async -> DittoSwift.DittoConnectionRequestAuthorization +@_hasMissingDesignatedInitializers public class DittoConnectionRequest { + public var peerKeyString: Swift.String { + get + } + public var peerMetadata: [Swift.String : Any?] { + get + } + public var peerMetadataJSONData: Foundation.Data { + get + } + public var identityServiceMetadata: [Swift.String : Any?] { + get + } + public var identityServiceMetadataJSONData: Foundation.Data { + get + } + public var connectionType: DittoSwift.DittoConnectionType { + get + } + @objc deinit +} +extension DittoSwift.DittoConnectionRequest : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoPresence { + public struct GraphPublisher : Combine.Publisher { + public typealias Output = DittoSwift.DittoPresenceGraph + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == DittoSwift.DittoPresenceGraph + } + public func graphPublisher() -> DittoSwift.DittoPresence.GraphPublisher +} +public struct DittoAddress { +} +extension DittoSwift.DittoAddress : Swift.Equatable { + public static func == (a: DittoSwift.DittoAddress, b: DittoSwift.DittoAddress) -> Swift.Bool +} +extension DittoSwift.DittoAddress : Swift.Hashable { + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoAddress : Swift.Codable { + public init(from decoder: any Swift.Decoder) throws + public func encode(to encoder: any Swift.Encoder) throws +} +@_hasMissingDesignatedInitializers public class DittoPendingCursorOperation { + public func limit(_ limit: Swift.Int32) -> Self + public func sort(_ query: Swift.String, direction: DittoSwift.DittoSortDirection) -> Self + public func offset(_ offset: Swift.UInt32) -> Self + public func subscribe() -> DittoSwift.DittoSubscription + @discardableResult + public func remove() -> [DittoSwift.DittoDocumentID] + @discardableResult + public func evict() -> [DittoSwift.DittoDocumentID] + public func exec() -> [DittoSwift.DittoDocument] + public func observeLocal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping ([DittoSwift.DittoDocument], DittoSwift.DittoLiveQueryEvent) -> Swift.Void) -> DittoSwift.DittoLiveQuery + public func observeLocalWithNextSignal(deliverOn queue: Dispatch.DispatchQueue = .main, eventHandler: @escaping ([DittoSwift.DittoDocument], DittoSwift.DittoLiveQueryEvent, @escaping DittoSwift.DittoSignalNext) -> Swift.Void) -> DittoSwift.DittoLiveQuery + @discardableResult + public func update(_ closure: @escaping ([DittoSwift.DittoMutableDocument]) -> Swift.Void) -> [DittoSwift.DittoDocumentID : [DittoSwift.DittoUpdateResult]] + @objc deinit +} +@_hasMissingDesignatedInitializers public class DittoMutableDocument { + public var id: DittoSwift.DittoDocumentID { + get + } + public var value: [Swift.String : Any?] { + get + } + @available(*, deprecated, message: "Codable APIs will be removed in the future") + public func typed(_ type: T.Type) throws -> DittoSwift.DittoTypedDocument where T : Swift.Decodable, T : Swift.Encodable + public subscript(key: Swift.String) -> DittoSwift.DittoMutableDocumentPath { + get + set + } + @objc deinit +} +public enum DittoConnectionRequestAuthorization { + case allow + case deny + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoConnectionRequestAuthorization : Swift.Equatable { + public static func == (a: DittoSwift.DittoConnectionRequestAuthorization, b: DittoSwift.DittoConnectionRequestAuthorization) -> Swift.Bool +} +public enum DittoIdentity { + case offlinePlayground(appID: Swift.String? = nil, siteID: Swift.UInt64? = nil) + case onlineWithAuthentication(appID: Swift.String, authenticationDelegate: any DittoSwift.DittoAuthenticationDelegate, enableDittoCloudSync: Swift.Bool = true, customAuthURL: Foundation.URL? = nil) + case onlinePlayground(appID: Swift.String, token: Swift.String, enableDittoCloudSync: Swift.Bool = true, customAuthURL: Foundation.URL? = nil) + case sharedKey(appID: Swift.String, sharedKey: Swift.String, siteID: Swift.UInt64? = nil) + case manual(certificateConfig: Swift.String) +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoStore { + public struct FetchAttachmentPublisher : Combine.Publisher { + public struct Progress { + public var percentage: Swift.Float + public var downloadedBytes: Swift.UInt64 + public var totalBytes: Swift.UInt64 + } + public typealias Output = DittoSwift.DittoAttachmentFetchEvent + public typealias Failure = DittoSwift.DittoSwiftError + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == DittoSwift.DittoSwiftError, S.Input == DittoSwift.DittoAttachmentFetchEvent + public func progress() -> Combine.AnyPublisher + public func completed() -> Combine.AnyPublisher + } + public func fetchAttachmentPublisher(attachmentToken: DittoSwift.DittoAttachmentToken) -> DittoSwift.DittoStore.FetchAttachmentPublisher + public func fetchAttachmentPublisher(attachmentToken: [Swift.String : Any]) -> DittoSwift.DittoStore.FetchAttachmentPublisher +} +public protocol DittoQueryExecuting { + @discardableResult + func execute(query: Swift.String, arguments: Swift.Dictionary) async throws -> DittoSwift.DittoQueryResult +} +extension DittoSwift.DittoQueryExecuting { + @discardableResult + public func execute(query: Swift.String) async throws -> DittoSwift.DittoQueryResult +} +@_hasMissingDesignatedInitializers public class DittoStore { + public subscript(collectionName: DittoSwift.DittoCollectionName) -> DittoSwift.DittoCollection { + get + } + public func collection(_ name: DittoSwift.DittoCollectionName) -> DittoSwift.DittoCollection + public func collectionNames() -> [DittoSwift.DittoCollectionName] + public func collections() -> DittoSwift.DittoPendingCollectionsOperation + public func queriesHash(queries: [DittoSwift.DittoLiveQuery]) -> Swift.UInt + public func queriesHashMnemonic(queries: [DittoSwift.DittoLiveQuery]) -> Swift.String + @discardableResult + public func write(_ block: @escaping (DittoSwift.DittoWriteTransaction) -> Swift.Void) -> [DittoSwift.DittoWriteTransactionResult] + public var observers: Swift.Set { + get + } + @discardableResult + public func registerObserver(query: Swift.String, arguments: Swift.Dictionary? = nil, deliverOn queue: Dispatch.DispatchQueue = .main, handler: @escaping DittoSwift.DittoStoreObservationHandler) throws -> DittoSwift.DittoStoreObserver + @discardableResult + public func registerObserver(query: Swift.String, arguments: Swift.Dictionary? = nil, deliverOn queue: Dispatch.DispatchQueue = .main, handlerWithSignalNext: @escaping DittoSwift.DittoStoreObservationHandlerWithSignalNext) throws -> DittoSwift.DittoStoreObserver + @discardableResult + public func transaction(hint: Swift.String? = nil, isReadOnly: Swift.Bool = false, with scope: ((_ transaction: DittoSwift.DittoTransaction) async throws -> DittoSwift.DittoTransactionCompletionAction)) async throws -> DittoSwift.DittoTransactionCompletionAction + public func transaction(hint: Swift.String? = nil, isReadOnly: Swift.Bool = false, with scope: ((_ transaction: DittoSwift.DittoTransaction) async throws -> T)) async throws -> T + public func newAttachment(path: Swift.String, metadata: [Swift.String : Swift.String] = [:]) async throws -> DittoSwift.DittoAttachment + public var attachmentFetchers: Swift.Set { + get + } + @discardableResult + public func fetchAttachment(token: DittoSwift.DittoAttachmentToken, deliverOn deliveryQueue: Dispatch.DispatchQueue = .main, onFetchEvent: @escaping (DittoSwift.DittoAttachmentFetchEvent) -> Swift.Void) throws -> DittoSwift.DittoAttachmentFetcher + @discardableResult + public func fetchAttachment(token: [Swift.String : Any], deliverOn queue: Dispatch.DispatchQueue = .main, onFetchEvent: @escaping (DittoSwift.DittoAttachmentFetchEvent) -> Swift.Void) throws -> DittoSwift.DittoAttachmentFetcher + @objc deinit +} +extension DittoSwift.DittoStore : DittoSwift.DittoQueryExecuting { + @discardableResult + public func execute(query: Swift.String, arguments: Swift.Dictionary) async throws -> DittoSwift.DittoQueryResult +} +@available(iOS 13, macOS 10.15, macCatalyst 13, tvOS 13, watchOS 6, *) +extension DittoSwift.DittoPendingIDSpecificOperation { + public typealias Snapshot = (document: DittoSwift.DittoDocument?, event: DittoSwift.DittoSingleDocumentLiveQueryEvent) + public struct SingleDocumentLiveQueryPublisher : Combine.Publisher { + public typealias Output = DittoSwift.DittoPendingIDSpecificOperation.Snapshot + public typealias Failure = Swift.Never + public func receive(subscriber: S) where S : Combine.Subscriber, S.Failure == Swift.Never, S.Input == (document: DittoSwift.DittoDocument?, event: DittoSwift.DittoSingleDocumentLiveQueryEvent) + } + public func singleDocumentLiveQueryPublisher() -> DittoSwift.DittoPendingIDSpecificOperation.SingleDocumentLiveQueryPublisher +} +public enum DittoFileSystemType { + case directory + case file + case symlink + public static func == (a: DittoSwift.DittoFileSystemType, b: DittoSwift.DittoFileSystemType) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +extension DittoSwift.DittoFileSystemType : Swift.CustomStringConvertible { + public var description: Swift.String { + get + } +} +extension DittoSwift.DittoConnectionType : Swift.Equatable {} +extension DittoSwift.DittoConnectionType : Swift.Hashable {} +extension DittoSwift.DittoConnectionType : Swift.RawRepresentable {} +extension DittoSwift.DittoTransactionCompletionAction : Swift.Hashable {} +extension DittoSwift.DittoLogLevel : Swift.Equatable {} +extension DittoSwift.DittoLogLevel : Swift.Hashable {} +extension DittoSwift.DittoLogLevel : Swift.RawRepresentable {} +extension DittoSwift.DittoSmallPeerInfoSyncScope : Swift.Equatable {} +extension DittoSwift.DittoSmallPeerInfoSyncScope : Swift.Hashable {} +extension DittoSwift.DittoSmallPeerInfoSyncScope : Swift.RawRepresentable {} +extension DittoSwift.DittoConnectionPriority : Swift.Equatable {} +extension DittoSwift.DittoConnectionPriority : Swift.Hashable {} +extension DittoSwift.DittoConnectionPriority : Swift.RawRepresentable {} +extension DittoSwift.DittoTransportCondition : Swift.Equatable {} +extension DittoSwift.DittoTransportCondition : Swift.Hashable {} +extension DittoSwift.DittoTransportCondition : Swift.RawRepresentable {} +extension DittoSwift.DittoConditionSource : Swift.Equatable {} +extension DittoSwift.DittoConditionSource : Swift.Hashable {} +extension DittoSwift.DittoConditionSource : Swift.RawRepresentable {} +extension DittoSwift.DittoWriteStrategy : Swift.Equatable {} +extension DittoSwift.DittoWriteStrategy : Swift.Hashable {} +extension DittoSwift.DittoSwiftError.AuthenticationErrorReason : Swift.Equatable {} +extension DittoSwift.DittoSwiftError.AuthenticationErrorReason : Swift.Hashable {} +extension DittoSwift.DittoSwiftError.EncryptionErrorReason : Swift.Equatable {} +extension DittoSwift.DittoSwiftError.EncryptionErrorReason : Swift.Hashable {} +extension DittoSwift.DittoSwiftError.MigrationErrorReason : Swift.Equatable {} +extension DittoSwift.DittoSwiftError.MigrationErrorReason : Swift.Hashable {} +extension DittoSwift.DittoSwiftError.TransportErrorReason : Swift.Equatable {} +extension DittoSwift.DittoSwiftError.TransportErrorReason : Swift.Hashable {} +extension DittoSwift.DittoSortDirection : Swift.Equatable {} +extension DittoSwift.DittoSortDirection : Swift.Hashable {} +extension DittoSwift.DittoConnectionRequestAuthorization : Swift.Hashable {} +extension DittoSwift.DittoFileSystemType : Swift.Equatable {} +extension DittoSwift.DittoFileSystemType : Swift.Hashable {} diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/module.modulemap b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/module.modulemap new file mode 100644 index 0000000..76e1ae5 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Modules/module.modulemap @@ -0,0 +1,11 @@ +framework module DittoSwift { + umbrella header "DittoSwift.h" + export * + + module * { export * } +} + +module DittoSwift.Swift { + header "DittoSwift-Swift.h" + requires objc +} diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Resources/Info.plist b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Resources/Info.plist new file mode 100644 index 0000000..30bfd0f --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/Resources/Info.plist @@ -0,0 +1,48 @@ + + + + + BuildMachineOSBuild + 24E263 + CFBundleDevelopmentRegion + en + CFBundleExecutable + DittoSwift + CFBundleIdentifier + live.ditto.DittoSwift + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + DittoSwift + CFBundlePackageType + FMWK + CFBundleShortVersionString + 4.11.1 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 44401 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 24C94 + DTPlatformName + macosx + DTPlatformVersion + 15.2 + DTSDKBuild + 24C94 + DTSDKName + macosx15.2 + DTXcode + 1620 + DTXcodeBuild + 16C5032a + DittoVersionString + 4.11.1 + LSMinimumSystemVersion + 11.0 + + diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/_CodeSignature/CodeResources b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/_CodeSignature/CodeResources new file mode 100644 index 0000000..38a5893 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/A/_CodeSignature/CodeResources @@ -0,0 +1,205 @@ + + + + + files + + Resources/Info.plist + + wqmNs2oOZ3TIkY5N7rkTGA5egHE= + + + files2 + + Headers/DittoSwift-Swift.h + + hash2 + + D4GU1uUZ/MbxsG8Wve5W/x2NJpMWPrcKyvU3OntN3JE= + + + Headers/DittoSwift.h + + hash2 + + sUDYgiieEPjihwiR/kH81Aqamew+pjIvROqIo3c+8Jg= + + + Modules/DittoSwift.swiftmodule/arm64-apple-macos.abi.json + + hash2 + + e3ESo+kXT/s+ADFXpbfQri7Rm5M7+C/pluUKxpCbJL8= + + + Modules/DittoSwift.swiftmodule/arm64-apple-macos.private.swiftinterface + + hash2 + + pkPq7/ttHX4UNojSm4jjkGbv+vCEd1fa4IDbjjtut+c= + + + Modules/DittoSwift.swiftmodule/arm64-apple-macos.swiftdoc + + hash2 + + jxn8Vfp7pmZBSceNVmNonkc5nR/jQIVhN/u10jxJuIc= + + + Modules/DittoSwift.swiftmodule/arm64-apple-macos.swiftinterface + + hash2 + + pkPq7/ttHX4UNojSm4jjkGbv+vCEd1fa4IDbjjtut+c= + + + Modules/DittoSwift.swiftmodule/x86_64-apple-macos.abi.json + + hash2 + + e3ESo+kXT/s+ADFXpbfQri7Rm5M7+C/pluUKxpCbJL8= + + + Modules/DittoSwift.swiftmodule/x86_64-apple-macos.private.swiftinterface + + hash2 + + 8nN4bkDx6NqibTycv9zUCrMkju9/d87tPyABabe/kwg= + + + Modules/DittoSwift.swiftmodule/x86_64-apple-macos.swiftdoc + + hash2 + + V5iMcfnCIWGRordWDCx7EtjpivR32FgyuEameWOyAJ4= + + + Modules/DittoSwift.swiftmodule/x86_64-apple-macos.swiftinterface + + hash2 + + 8nN4bkDx6NqibTycv9zUCrMkju9/d87tPyABabe/kwg= + + + Modules/module.modulemap + + hash2 + + XMlBrj2UTvryY34QOjcLAxXCSpemq66PdIzS8UloiiI= + + + Resources/Info.plist + + hash2 + + yiotJhbvplzLy5Gfs3NQneq6rLEzIQk5ZrwesiECC30= + + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/Current b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/Current new file mode 120000 index 0000000..8c7e5a6 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Frameworks/DittoSwift.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/swift/CoTExampleApp.app/Contents/Info.plist b/swift/CoTExampleApp.app/Contents/Info.plist new file mode 100644 index 0000000..3cb7abd --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/Info.plist @@ -0,0 +1,36 @@ + + + + + CFBundleExecutable + CoTExampleApp + CFBundleIdentifier + live.ditto.cot.example + CFBundleName + CoT Example + CFBundleDisplayName + CoT Example + CFBundleVersion + 1.0 + CFBundleShortVersionString + 1.0 + CFBundlePackageType + APPL + CFBundleSignature + ???? + LSMinimumSystemVersion + 14.0 + NSHighResolutionCapable + + NSHumanReadableCopyright + Copyright ยฉ 2025 Ditto. All rights reserved. + LSApplicationCategoryType + public.app-category.developer-tools + NSBluetoothAlwaysUsageDescription + This app uses Bluetooth to discover and sync with nearby devices running Ditto. + NSLocationWhenInUseUsageDescription + This app uses your location to display CoT events on the map. + NSLocationAlwaysAndWhenInUseUsageDescription + This app uses your location to display and share CoT events with other users. + + diff --git a/swift/CoTExampleApp.app/Contents/MacOS/CoTExampleApp b/swift/CoTExampleApp.app/Contents/MacOS/CoTExampleApp new file mode 100755 index 0000000..d1e7788 Binary files /dev/null and b/swift/CoTExampleApp.app/Contents/MacOS/CoTExampleApp differ diff --git a/swift/CoTExampleApp.app/Contents/_CodeSignature/CodeResources b/swift/CoTExampleApp.app/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..04ebfe1 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/_CodeSignature/CodeResources @@ -0,0 +1,155 @@ + + + + + files + + Resources/.env + + jq8ansSrhyvbPHpv5aL+t6E2iSc= + + + files2 + + Frameworks/DittoObjC.framework + + cdhash + + Wb79cjFVW/hyxDLSaLAuAxmrdTk= + + requirement + cdhash H"59befd7231555bf872c432d268b02e0319ab7539" or cdhash H"d98be348e08943e3da4ad8c7e37fc20f5e3fe223" + + Frameworks/DittoSwift.framework + + cdhash + + qAy0GEW4USWNDrRAaXT7XcHp5ik= + + requirement + cdhash H"a80cb41845b851258d0eb4406974fb5dc1e9e629" or cdhash H"8ea54f8b34f705ee8d1511b9aac7e4236bb25aa9" + + Resources/.env + + hash2 + + L13i3W7iwpKsAQVoYfz+FD70ZwA3Fz91PZKPdjvJkEI= + + + entitlements.plist + + cdhash + + IbJR1inE5FX2jbqmsXCIhKKbFu0= + + requirement + cdhash H"d18dbc042acb387c4e954c73ebed713fca991ca2" or cdhash H"21b251d629c4e455f68dbaa6b1708884a29b16ed" + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/swift/CoTExampleApp.app/Contents/entitlements.plist b/swift/CoTExampleApp.app/Contents/entitlements.plist new file mode 100644 index 0000000..d84f9a8 --- /dev/null +++ b/swift/CoTExampleApp.app/Contents/entitlements.plist @@ -0,0 +1,14 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.network.client + + com.apple.security.network.server + + com.apple.security.files.user-selected.read-write + + + diff --git a/swift/Examples/SwiftUI/CoTExampleApp.swift b/swift/Examples/SwiftUI/CoTExampleApp.swift new file mode 100644 index 0000000..2deb92e --- /dev/null +++ b/swift/Examples/SwiftUI/CoTExampleApp.swift @@ -0,0 +1,890 @@ +import SwiftUI +import DittoSwift +import DittoCoT +import DittoCoTCore +import CoreLocation +#if os(macOS) +import AppKit +#endif + +/// Example SwiftUI app demonstrating Ditto CoT integration +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +@main +struct CoTExampleApp: App { + @StateObject private var appEnvironment = AppEnvironment() + + var body: some Scene { + WindowGroup { + ContentView() + .environmentObject(appEnvironment) + .cotBinding(appEnvironment.cotBinding) + } + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +class AppEnvironment: NSObject, ObservableObject { + let ditto: Ditto + let dittoCoT: DittoCoT + let observable: CoTObservable + let trackObservable: TrackObservable + let cotBinding: CoTBinding + @Published var userCallsign: String = "USER-1" + @Published var isTracking: Bool = false + + // Track state + private var trackTimer: Timer? + private var currentTrackPosition = CLLocationCoordinate2D(latitude: 37.7749, longitude: -122.4194) + private var currentSpeed: Double = 10.0 // knots + private var currentCourse: Double = 45.0 // degrees + + // Location manager for getting actual device location + private let locationManager = CLLocationManager() + @Published var currentLocation: CLLocation? + @Published var locationAuthorizationStatus: CLAuthorizationStatus = .notDetermined + + override init() { + // Load environment variables + let environment = EnvironmentLoader.loadEnvironment() + + // Initialize Ditto with SharedKey identity using environment variables + let ditto: Ditto + do { + let appId = try EnvironmentLoader.requireEnvironmentVariable("DITTO_APP_ID", from: environment) + let sharedKey = try EnvironmentLoader.requireEnvironmentVariable("DITTO_SHARED_KEY", from: environment) + let licenseToken = try EnvironmentLoader.requireEnvironmentVariable("DITTO_LICENSE_TOKEN", from: environment) + + // Create unique persistence directory for example app with timestamp to avoid conflicts + let documentsPath = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first! + let timestamp = Int(Date().timeIntervalSince1970) + let exampleAppPersistenceDir = documentsPath.appendingPathComponent("DittoCoTExample_\(timestamp)") + + do { + print("๐Ÿ”ง Initializing Ditto with App ID: \(appId)") + print("๐Ÿ”ง Using persistence directory: \(exampleAppPersistenceDir.path)") + + ditto = Ditto( + identity: .sharedKey( + appID: appId, + sharedKey: sharedKey, + siteID: UInt64.random(in: 1...UInt64.max) // Generate random site ID for this instance + ), + persistenceDirectory: exampleAppPersistenceDir + ) + print("โœ… Ditto instance created successfully") + + // Activate Ditto with license token + print("๐Ÿ”ง Setting license token...") + try ditto.setOfflineOnlyLicenseToken(licenseToken) + print("โœ… License token set successfully") + } catch { + print("โŒ Failed to initialize Ditto: \(error)") + print("โŒ Error details: \(error.localizedDescription)") + throw error + } + + print("Ditto initialized with App ID: \(appId)") + print("Ditto activated with license token") + } catch { + // Environment variables not configured - exit with helpful message + print("โŒ Environment variables not configured: \(error)") + print("Please configure your .env file with valid Ditto credentials:") + print("1. Copy .env.example to .env") + print("2. Get credentials from https://portal.ditto.live") + print("3. Fill in DITTO_APP_ID, DITTO_SHARED_KEY, and DITTO_LICENSE_TOKEN") + + fatalError("Ditto credentials required. Please configure .env file.") + } + + self.ditto = ditto + + // Initialize CoT integration + self.dittoCoT = DittoCoT(ditto: ditto) + self.observable = CoTObservable(dittoCoT: dittoCoT) + self.trackObservable = TrackObservable(ditto: ditto) + self.cotBinding = CoTBinding(observable: observable) + + super.init() + + // Start Ditto sync + do { + try ditto.startSync() + print("Ditto sync started successfully") + + // Start observing CoT events + observable.startObserving() + print("CoT event observation started") + + // Start observing track events + trackObservable.startObserving() + print("Track observation started") + + // Perform initial refresh + observable.refreshAll() + trackObservable.refreshTracks() + print("Initial data refresh completed") + + // Setup location manager + setupLocationManager() + + // Don't send debug track automatically - wait for user to interact with map or start tracking + } catch { + print("Failed to start Ditto sync: \(error)") + } + } + + // MARK: - Tracking Methods + + func startTracking() { + guard !isTracking else { return } + + // Check if we have location permission and actual location data + #if os(macOS) + guard locationAuthorizationStatus == .authorizedAlways else { + print("โš ๏ธ Cannot start tracking - location permission not granted") + print("โš ๏ธ Please allow location access first by visiting the Map tab") + return + } + #else + guard locationAuthorizationStatus == .authorizedWhenInUse || locationAuthorizationStatus == .authorizedAlways else { + print("โš ๏ธ Cannot start tracking - location permission not granted") + print("โš ๏ธ Please allow location access first by visiting the Map tab") + return + } + #endif + + guard currentLocation != nil else { + print("โš ๏ธ Cannot start tracking - no current location available") + print("โš ๏ธ Please allow location access and wait for GPS fix by visiting the Map tab") + return + } + + print("๐ŸŽฏ Starting track updates every 10 seconds with actual device location...") + isTracking = true + + // Send initial track + sendTrackUpdate() + + // Schedule updates every 10 seconds + trackTimer = Timer.scheduledTimer(withTimeInterval: 10.0, repeats: true) { _ in + self.sendTrackUpdate() + } + } + + func stopTracking() { + print("๐Ÿ›‘ Stopping track updates") + isTracking = false + trackTimer?.invalidate() + trackTimer = nil + } + + private func sendTrackUpdate() { + Task { + do { + // Only use actual device location - no fallback to simulated + guard let currentLoc = currentLocation else { + print("โš ๏ธ No current location available - skipping track update") + print("โš ๏ธ Please ensure location services are enabled and GPS has a fix") + return + } + + let trackPosition = currentLoc.coordinate + print("๐Ÿ“ Using actual device location: \(trackPosition.latitude), \(trackPosition.longitude)") + + // Use consistent UID for this track + let trackUID = "usv-track-\(userCallsign)" + + print("๐Ÿ“ Sending track update for \(trackUID)") + print(" Position: \(trackPosition.latitude), \(trackPosition.longitude)") + print(" Speed: \(currentSpeed) knots, Course: \(currentCourse)ยฐ") + + let event = try CoTEventBuilder() + .uid(trackUID) + .type("a-f-S-X-M") // Friendly surface vessel + .how("m-g") + .point(CoTPoint( + lat: trackPosition.latitude, + lon: trackPosition.longitude, + hae: currentLocation?.altitude ?? 0.0 + )) + .detail(CoTDetail([ + "contact": ["callsign": "USV-\(userCallsign)"], + "track": [ + "speed": currentSpeed, + "course": currentCourse + ] + ])) + .build() + + // This will update the existing document if it exists + _ = try await observable.insert(event) + print("โœ… Track update sent successfully") + } catch { + print("โŒ Failed to send track update: \(error)") + } + } + } + + private func updateTrackPosition() { + // Convert course to radians + let courseRadians = currentCourse * .pi / 180.0 + + // Calculate distance traveled in 10 seconds (in nautical miles) + let distanceNM = (currentSpeed * 10.0) / 3600.0 + + // Convert to degrees (approximately) + let latChange = (distanceNM / 60.0) * cos(courseRadians) + let lonChange = (distanceNM / 60.0) * sin(courseRadians) / cos(currentTrackPosition.latitude * .pi / 180.0) + + // Update position + currentTrackPosition.latitude += latChange + currentTrackPosition.longitude += lonChange + + // Add some variation to speed and course + currentSpeed += Double.random(in: -1...1) + currentSpeed = max(5, min(15, currentSpeed)) // Keep between 5-15 knots + + currentCourse += Double.random(in: -5...5) + if currentCourse < 0 { currentCourse += 360 } + if currentCourse >= 360 { currentCourse -= 360 } + } + + // Setup location manager to get device location + private func setupLocationManager() { + locationManager.delegate = self + locationManager.desiredAccuracy = kCLLocationAccuracyBest + + // Initialize authorization status + locationAuthorizationStatus = locationManager.authorizationStatus + + // Request location permissions + switch locationAuthorizationStatus { + case .notDetermined: + locationManager.requestWhenInUseAuthorization() + case .authorizedWhenInUse, .authorizedAlways: + locationManager.startUpdatingLocation() + default: + print("โš ๏ธ Location access not authorized - using simulated location") + } + } + + // Debug method to send test track on startup + private func sendDebugTrackOnStartup() { + print("๐Ÿš€ SENDING DEBUG TRACK ON STARTUP") + Task { + do { + let event = try CoTEventBuilder() + .uid("debug-startup-track") + .type("a-f-S-X-M") // Surface vessel + .how("m-g") + .point(CoTPoint( + lat: 37.7749, + lon: -122.4194, + hae: 0.0 + )) + .detail(CoTDetail([ + "contact": ["callsign": "DEBUG-TRACK"] + ])) + .build() + + print("๐Ÿš€ Inserting debug track event: \(event.uid)") + _ = try await observable.insert(event) + print("๐Ÿš€ Debug track sent successfully!") + } catch { + print("โŒ Failed to send debug track: \(error)") + } + } + } +} + +// MARK: - CLLocationManagerDelegate +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +extension AppEnvironment: CLLocationManagerDelegate { + func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { + if let location = locations.last { + DispatchQueue.main.async { + self.currentLocation = location + print("๐Ÿ“ Updated device location: \(location.coordinate.latitude), \(location.coordinate.longitude)") + + // Update current track position for first time setup + if self.currentTrackPosition.latitude == 37.7749 && self.currentTrackPosition.longitude == -122.4194 { + self.currentTrackPosition = location.coordinate + print("๐Ÿ“ Set initial track position to device location") + } + } + } + } + + func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) { + DispatchQueue.main.async { + self.locationAuthorizationStatus = status + switch status { + case .authorizedWhenInUse, .authorizedAlways: + self.locationManager.startUpdatingLocation() + print("๐Ÿ“ Location access authorized - starting location updates") + case .denied, .restricted: + print("โš ๏ธ Location access denied - will use simulated location") + case .notDetermined: + print("๐Ÿ“ Location authorization not determined") + @unknown default: + print("๐Ÿ“ Unknown location authorization status") + } + } + } + + func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) { + print("โŒ Location manager error: \(error)") + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct ContentView: View { + @EnvironmentObject private var appEnvironment: AppEnvironment + @Environment(\.cotBinding) private var cotBinding + @State private var selectedTab = 0 + + var body: some View { + TabView(selection: $selectedTab) { + // Events tab + CoTEventListView(observable: appEnvironment.observable) + .tabItem { + Image(systemName: "list.bullet") + Text("Events") + } + .badge(cotBinding?.eventCount ?? 0) + .tag(0) + + // Map tab + CoTMapView(observable: appEnvironment.observable, trackObservable: appEnvironment.trackObservable) + .tabItem { + Image(systemName: "map") + Text("Map") + } + .tag(1) + + // Chat tab + CoTChatView(observable: appEnvironment.observable, callsign: $appEnvironment.userCallsign) + .tabItem { + Image(systemName: "message") + Text("Chat") + } + .badge(cotBinding?.chatMessageCount ?? 0) + .tag(2) + + // Tracks tab + CoTTrackView(trackObservable: appEnvironment.trackObservable) + .tabItem { + Image(systemName: "location.circle") + Text("Tracks") + } + .badge(appEnvironment.trackObservable.trackCount) + .tag(3) + + // Dashboard tab + DashboardView() + .tabItem { + Image(systemName: "chart.bar") + Text("Dashboard") + } + .tag(4) + + // Debug/Presence tab + PresenceDebugView(observable: appEnvironment.observable) + .navigationTitle("Debug") + .tabItem { + Image(systemName: "network") + Text("Presence") + } + .badge(appEnvironment.observable.connectedPeers.count) + .tag(5) + } + .overlay(alignment: .top) { + // Emergency alert banner + if let cotBinding = cotBinding, cotBinding.emergencyCount > 0 { + EmergencyBanner(count: cotBinding.emergencyCount) + .transition(.move(edge: .top)) + .animation(.easeInOut, value: cotBinding.emergencyCount) + } + } + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct DashboardView: View { + @Environment(\.cotBinding) private var cotBinding + @EnvironmentObject private var appEnvironment: AppEnvironment + + var body: some View { + ScrollView { + LazyVStack(spacing: 16) { + // Status cards + HStack(spacing: 16) { + StatusCard( + title: "Events", + value: "\(cotBinding?.eventCount ?? 0)", + icon: "list.bullet", + color: .blue + ) + + StatusCard( + title: "Messages", + value: "\(cotBinding?.chatMessageCount ?? 0)", + icon: "message", + color: .green + ) + } + + HStack(spacing: 16) { + StatusCard( + title: "Emergencies", + value: "\(cotBinding?.emergencyCount ?? 0)", + icon: "exclamationmark.triangle", + color: .red + ) + + StatusCard( + title: "Active Users", + value: "\(cotBinding?.activeCallsigns.count ?? 0)", + icon: "person.2", + color: .orange + ) + } + + // Connection status + ConnectionStatusCard( + health: cotBinding?.connectionHealth ?? .unknown, + lastUpdate: cotBinding?.lastEventTime + ) + + // Tracking status + if appEnvironment.isTracking { + TrackingStatusCard() + } + + // Callsign input + CallsignCard(callsign: $appEnvironment.userCallsign) + + // Active callsigns list + if let cotBinding = cotBinding, !cotBinding.activeCallsigns.isEmpty { + ActiveCallsignsCard(callsigns: Array(cotBinding.activeCallsigns)) + } + + // Presence graph + PresenceGraphView(observable: appEnvironment.observable) + + // Quick actions + QuickActionsCard(appEnvironment: appEnvironment) + } + .padding() + } + .navigationTitle("Dashboard") + .refreshable { + appEnvironment.observable.refreshAll() + } + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct StatusCard: View { + let title: String + let value: String + let icon: String + let color: Color + + var body: some View { + VStack(spacing: 8) { + Image(systemName: icon) + .font(.title2) + .foregroundColor(color) + + Text(value) + .font(.title) + .fontWeight(.bold) + + Text(title) + .font(.caption) + .foregroundColor(.secondary) + } + .frame(maxWidth: .infinity) + .padding() + #if os(iOS) + .background(Color(.systemBackground)) + #else + .background(Color(NSColor.windowBackgroundColor)) + #endif + .cornerRadius(12) + .shadow(radius: 2) + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct ConnectionStatusCard: View { + let health: ConnectionHealth + let lastUpdate: Date? + + var body: some View { + HStack { + Image(systemName: connectionIcon) + .foregroundColor(connectionColor) + .font(.title2) + + VStack(alignment: .leading, spacing: 4) { + Text("Connection") + .font(.headline) + + Text(health.displayName) + .font(.body) + .foregroundColor(connectionColor) + + if let lastUpdate = lastUpdate { + Text("Last update: \(lastUpdate, style: .relative)") + .font(.caption) + .foregroundColor(.secondary) + } + } + + Spacer() + } + .padding() + #if os(iOS) + .background(Color(.systemBackground)) + #else + .background(Color(NSColor.windowBackgroundColor)) + #endif + .cornerRadius(12) + .shadow(radius: 2) + } + + private var connectionIcon: String { + switch health { + case .excellent, .good: return "wifi" + case .poor: return "wifi.exclamationmark" + case .disconnected: return "wifi.slash" + case .unknown: return "questionmark.circle" + } + } + + private var connectionColor: Color { + switch health { + case .excellent: return .green + case .good: return .blue + case .poor: return .orange + case .disconnected: return .red + case .unknown: return .gray + } + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct TrackingStatusCard: View { + @EnvironmentObject private var appEnvironment: AppEnvironment + @State private var animationPhase = 0.0 + + var body: some View { + HStack { + Image(systemName: "dot.radiowaves.left.and.right") + .foregroundColor(.green) + .font(.title2) + + VStack(alignment: .leading, spacing: 4) { + Text("Tracking Active") + .font(.headline) + + Text("USV-\(appEnvironment.userCallsign)") + .font(.body) + .foregroundColor(.secondary) + + Text("Sending position every 10 seconds") + .font(.caption) + .foregroundColor(.secondary) + } + + Spacer() + + Button("Stop") { + appEnvironment.stopTracking() + } + .buttonStyle(.bordered) + .foregroundColor(.red) + } + .padding() + #if os(iOS) + .background(Color(.systemBackground)) + #else + .background(Color(NSColor.windowBackgroundColor)) + #endif + .cornerRadius(12) + .shadow(radius: 2) + .overlay( + RoundedRectangle(cornerRadius: 12) + .stroke(Color.green.opacity(0.5), lineWidth: 2) + ) + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct CallsignCard: View { + @Binding var callsign: String + @State private var editingCallsign: String = "" + @State private var isEditing: Bool = false + + var body: some View { + VStack(alignment: .leading, spacing: 12) { + HStack { + Text("Your Callsign") + .font(.headline) + + Spacer() + + if !isEditing { + Button("Edit") { + editingCallsign = callsign + isEditing = true + } + .buttonStyle(.bordered) + } + } + + if isEditing { + HStack { + TextField("Enter callsign", text: $editingCallsign) + .textFieldStyle(.roundedBorder) + .onSubmit { + saveCallsign() + } + + Button("Cancel") { + isEditing = false + editingCallsign = "" + } + .buttonStyle(.bordered) + + Button("Save") { + saveCallsign() + } + .buttonStyle(.borderedProminent) + .disabled(editingCallsign.trimmingCharacters(in: .whitespaces).isEmpty) + } + } else { + Text(callsign) + .font(.title2) + .fontWeight(.semibold) + .foregroundColor(.accentColor) + } + } + .frame(maxWidth: .infinity, alignment: .leading) + .padding() + #if os(iOS) + .background(Color(.systemBackground)) + #else + .background(Color(NSColor.windowBackgroundColor)) + #endif + .cornerRadius(12) + .shadow(radius: 2) + } + + private func saveCallsign() { + let trimmed = editingCallsign.trimmingCharacters(in: .whitespaces) + if !trimmed.isEmpty { + callsign = trimmed + isEditing = false + editingCallsign = "" + } + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct ActiveCallsignsCard: View { + let callsigns: [String] + + var body: some View { + VStack(alignment: .leading, spacing: 12) { + Text("Active Callsigns") + .font(.headline) + + LazyVGrid(columns: Array(repeating: GridItem(.flexible()), count: 3), spacing: 8) { + ForEach(callsigns.prefix(9), id: \.self) { callsign in + Text(callsign) + .font(.caption) + .padding(.horizontal, 8) + .padding(.vertical, 4) + .background(Color.blue.opacity(0.2)) + .cornerRadius(8) + } + } + + if callsigns.count > 9 { + Text("and \(callsigns.count - 9) more...") + .font(.caption) + .foregroundColor(.secondary) + } + } + .frame(maxWidth: .infinity, alignment: .leading) + .padding() + #if os(iOS) + .background(Color(.systemBackground)) + #else + .background(Color(NSColor.windowBackgroundColor)) + #endif + .cornerRadius(12) + .shadow(radius: 2) + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct QuickActionsCard: View { + let appEnvironment: AppEnvironment + + var body: some View { + VStack(alignment: .leading, spacing: 12) { + Text("Quick Actions") + .font(.headline) + + VStack(spacing: 8) { + Button("Send Test Location") { + sendTestLocation() + } + .buttonStyle(.borderedProminent) + + // Tracking toggle with location status + VStack(spacing: 4) { + HStack { + Button(appEnvironment.isTracking ? "Stop Tracking" : "Start USV Tracking") { + if appEnvironment.isTracking { + appEnvironment.stopTracking() + } else { + appEnvironment.startTracking() + } + } + .buttonStyle(.bordered) + .foregroundColor(appEnvironment.isTracking ? .red : .blue) + + if appEnvironment.isTracking { + Image(systemName: "dot.radiowaves.left.and.right") + .foregroundColor(.green) + } + } + + // Show location status + if !appEnvironment.isTracking { + #if os(macOS) + let hasPermission = appEnvironment.locationAuthorizationStatus == .authorizedAlways + #else + let hasPermission = appEnvironment.locationAuthorizationStatus == .authorizedWhenInUse || appEnvironment.locationAuthorizationStatus == .authorizedAlways + #endif + let hasLocation = appEnvironment.currentLocation != nil + + if !hasPermission || !hasLocation { + Text(!hasPermission ? "Visit Map tab to enable location" : "Waiting for GPS fix...") + .font(.caption) + .foregroundColor(.orange) + } else { + Text("Ready to track") + .font(.caption) + .foregroundColor(.green) + } + } + } + + Button("Send Test Chat Message") { + sendTestChatMessage() + } + .buttonStyle(.bordered) + + Button("Refresh All Events") { + print("๐Ÿ”„ REFRESH BUTTON CLICKED!") + appEnvironment.observable.refreshAll() + appEnvironment.trackObservable.refreshTracks() + } + .buttonStyle(.bordered) + } + } + .frame(maxWidth: .infinity, alignment: .leading) + .padding() + #if os(iOS) + .background(Color(.systemBackground)) + #else + .background(Color(NSColor.windowBackgroundColor)) + #endif + .cornerRadius(12) + .shadow(radius: 2) + } + + private func sendTestLocation() { + print("๐Ÿš€ TEST LOCATION BUTTON CLICKED!") + Task { + do { + print("๐Ÿ“ Building test location event...") + + // Use actual location if available, otherwise use SF coordinates + let (lat, lon): (Double, Double) + if let currentLoc = appEnvironment.currentLocation { + lat = currentLoc.coordinate.latitude + Double.random(in: -0.001...0.001) // Small random offset + lon = currentLoc.coordinate.longitude + Double.random(in: -0.001...0.001) + print("๐Ÿ“ Using actual device location with small offset") + } else { + lat = 37.7749 + Double.random(in: -0.01...0.01) + lon = -122.4194 + Double.random(in: -0.01...0.01) + print("๐Ÿ“ Using SF coordinates - no device location available") + } + + let event = try CoTEventBuilder() + .uid("test-\(UUID().uuidString)") + .type("a-f-G-U-C") + .how("m-g") + .point(CoTPoint(lat: lat, lon: lon)) + .detail(CoTDetail([ + "contact": ["callsign": appEnvironment.userCallsign] + ])) + .build() + + print("๐Ÿ“ Inserting test location event: \(event.uid)") + _ = try await appEnvironment.observable.insert(event) + print("๐Ÿ“ Test location sent successfully!") + } catch { + print("โŒ Failed to send test location: \(error)") + } + } + } + + private func sendTestChatMessage() { + print("๐Ÿ’ฌ TEST CHAT BUTTON CLICKED!") + Task { + do { + print("๐Ÿ’ฌ Sending simple ATAK-style test chat...") + let viewModel = CoTEventViewModel(observable: appEnvironment.observable) + try await viewModel.sendChatMessage( + message: "Hello from the example app!", + room: "Ditto", + callsign: appEnvironment.userCallsign + ) + print("๐Ÿ’ฌ Test chat sent successfully!") + } catch { + print("โŒ Failed to send test chat: \(error)") + } + } + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct EmergencyBanner: View { + let count: Int + + var body: some View { + HStack { + Image(systemName: "exclamationmark.triangle.fill") + .foregroundColor(.white) + + Text("\(count) emergency event\(count == 1 ? "" : "s") active") + .font(.headline) + .foregroundColor(.white) + + Spacer() + } + .padding() + .background(Color.red) + .cornerRadius(8) + .padding(.horizontal) + .shadow(radius: 4) + } +} \ No newline at end of file diff --git a/swift/Examples/SwiftUI/EnvironmentLoader.swift b/swift/Examples/SwiftUI/EnvironmentLoader.swift new file mode 100644 index 0000000..e412dc7 --- /dev/null +++ b/swift/Examples/SwiftUI/EnvironmentLoader.swift @@ -0,0 +1,96 @@ +import Foundation + +/// Simple utility to load environment variables from a .env file +struct EnvironmentLoader { + + /// Load environment variables from a .env file in the specified directory + /// - Parameter directory: The directory containing the .env file (defaults to app bundle or current working directory) + /// - Returns: Dictionary of environment variables + static func loadEnvironment(from directory: String? = nil) -> [String: String] { + let workingDirectory: String + + if let directory = directory { + workingDirectory = directory + } else { + // For bundled apps, try to find .env in the app bundle's Resources directory first + if let bundleResourcePath = Bundle.main.resourcePath { + workingDirectory = bundleResourcePath + } else { + // Fallback to current working directory (for development) + workingDirectory = FileManager.default.currentDirectoryPath + } + } + + let envPath = URL(fileURLWithPath: workingDirectory).appendingPathComponent(".env").path + + var environment: [String: String] = [:] + + // First, load from actual environment variables + environment = ProcessInfo.processInfo.environment + + // Then, load from .env file (if it exists) and override + guard let envContent = try? String(contentsOfFile: envPath, encoding: .utf8) else { + print("Warning: .env file not found at \(envPath)") + print("Please copy .env.example to .env and configure your Ditto credentials") + return environment + } + + let lines = envContent.components(separatedBy: .newlines) + + for line in lines { + let trimmedLine = line.trimmingCharacters(in: .whitespaces) + + // Skip empty lines and comments + if trimmedLine.isEmpty || trimmedLine.hasPrefix("#") { + continue + } + + // Parse KEY=VALUE format + let components = trimmedLine.split(separator: "=", maxSplits: 1) + if components.count == 2 { + let key = String(components[0]).trimmingCharacters(in: .whitespaces) + let value = String(components[1]).trimmingCharacters(in: .whitespaces) + environment[key] = value + } + } + + return environment + } + + /// Get a required environment variable, throwing an error if not found + /// - Parameter key: The environment variable key + /// - Returns: The environment variable value + /// - Throws: EnvironmentError if the variable is not found or empty + static func requireEnvironmentVariable(_ key: String, from environment: [String: String]? = nil) throws -> String { + let env = environment ?? loadEnvironment() + + guard let value = env[key], !value.isEmpty else { + throw EnvironmentError.missingRequiredVariable(key) + } + + return value + } + + /// Get an optional environment variable + /// - Parameters: + /// - key: The environment variable key + /// - defaultValue: Default value if not found + /// - environment: Optional pre-loaded environment dictionary + /// - Returns: The environment variable value or the default value + static func getEnvironmentVariable(_ key: String, defaultValue: String = "", from environment: [String: String]? = nil) -> String { + let env = environment ?? loadEnvironment() + return env[key] ?? defaultValue + } +} + +/// Errors that can occur when loading environment variables +enum EnvironmentError: LocalizedError { + case missingRequiredVariable(String) + + var errorDescription: String? { + switch self { + case .missingRequiredVariable(let key): + return "Required environment variable '\(key)' is missing or empty. Please check your .env file." + } + } +} \ No newline at end of file diff --git a/swift/MIL-STD-2525-INVESTIGATION.md b/swift/MIL-STD-2525-INVESTIGATION.md new file mode 100644 index 0000000..c9afb86 --- /dev/null +++ b/swift/MIL-STD-2525-INVESTIGATION.md @@ -0,0 +1,159 @@ +# MIL-STD-2525 Iconography Implementation Investigation + +## Overview +This document investigates what it would take to incorporate MIL-STD-2525 military symbology into the Swift CoT app. + +## Current State +The app currently uses simple colored circles with SF Symbols (Apple's system icons) to represent different entity types: +- Friendly units: Green circle with shield icon +- Hostile units: Red circle +- Neutral units: Yellow circle +- Unknown units: Blue circle +- Tracks: Cyan/Mint circle with location icon + +## MIL-STD-2525 Background + +### Symbol Components +MIL-STD-2525 symbols consist of: +1. **Frame** - Shape indicating affiliation (friendly=rectangle, hostile=diamond, neutral=square, unknown=cloverleaf) +2. **Fill** - Color coding (blue/green=friendly, red=hostile, yellow=neutral) +3. **Icon** - Central pictograph indicating unit type/function +4. **Modifiers** - Text and graphic modifiers around the symbol + +### Symbol Identification Code (SIDC) +- **2525C and earlier**: 15-character alphanumeric code +- **2525D**: 20 or 30-digit numeric code + +### CoT to MIL-STD-2525 Mapping +CoT type codes partially map to MIL-STD-2525: +- Example: `a-f-G-U-C` = atoms-friendly-Ground-Unit-Combat +- First position: Event category (a=atoms) +- Second position: Affiliation (f=friendly) +- Third position: Battle dimension (G=ground) +- Remaining: Function codes + +## Implementation Options + +### 1. Use Existing Libraries + +#### A. Nobori C++ SDK +- **Pros**: High performance, macOS support, complete implementation +- **Cons**: Requires C++ integration, potential licensing costs +- **Integration**: Objective-C++ bridging layer + +#### B. milsymbol JavaScript Library +- **Pros**: Open source (MIT), well-maintained, complete +- **Cons**: JavaScript overhead, not native +- **Integration**: + - Option 1: WKWebView with JavaScript interface + - Option 2: JavaScriptCore for headless rendering + - Option 3: Port to Swift + +#### C. Native Swift Implementation +- **Pros**: Native performance, full control, no dependencies +- **Cons**: Significant development effort +- **Approach**: + - Parse CoT type codes to extract components + - Map to SIDC codes + - Render using Core Graphics or SVG + +### 2. Rendering Approaches + +#### A. Pre-rendered Images +- Generate all possible symbols offline +- Bundle as assets or download on demand +- **Pros**: Simple, fast rendering +- **Cons**: Large app size, limited customization + +#### B. Dynamic Vector Rendering +- Use Core Graphics or SVG to draw symbols +- **Pros**: Small size, infinite scaling, customizable +- **Cons**: Complex implementation + +#### C. Hybrid Approach +- Pre-render common symbols +- Dynamic rendering for rare/custom symbols +- Best balance of performance and flexibility + +## Recommended Implementation Plan + +### Phase 1: Basic Symbol Support (2-3 weeks) +1. Create Swift data model for MIL-STD-2525 symbols +2. Implement CoT type to SIDC converter +3. Add basic frame rendering (rectangle, diamond, square) +4. Use SF Symbols as temporary icons + +### Phase 2: Full Symbol Library (4-6 weeks) +1. Port milsymbol geometry to Swift/Core Graphics +2. Implement all standard icons +3. Add text modifiers support +4. Cache rendered symbols + +### Phase 3: Advanced Features (2-3 weeks) +1. Add tactical graphics support +2. Implement symbol modifiers +3. Add animation for moving symbols +4. Performance optimization + +## Code Architecture + +```swift +// Symbol model +struct MilStd2525Symbol { + let sidc: String + let affiliation: Affiliation + let battleDimension: BattleDimension + let function: String + let modifiers: [String: String] +} + +// Renderer protocol +protocol SymbolRenderer { + func render(symbol: MilStd2525Symbol, size: CGSize) -> UIImage +} + +// CoT converter +class CoTToMilStdConverter { + func convert(cotType: String) -> MilStd2525Symbol? { + // Parse CoT type and map to SIDC + } +} +``` + +## Integration with Current App + +1. Replace `EventAnnotation` view with new `MilStdSymbolView` +2. Add toggle in settings for symbol style (simple vs MIL-STD) +3. Update `CoTEventModel` to include SIDC data +4. Cache rendered symbols for performance + +## Testing Requirements + +1. Validate CoT to SIDC conversion accuracy +2. Test all affiliation/dimension combinations +3. Performance testing with 1000+ symbols +4. Cross-reference with ATAK display + +## Estimated Timeline + +- **Minimum Viable**: 3-4 weeks (basic shapes and colors) +- **Full Implementation**: 8-10 weeks (complete symbol set) +- **Production Ready**: 12-14 weeks (with optimization and testing) + +## Risks and Considerations + +1. **Complexity**: MIL-STD-2525D has thousands of possible symbols +2. **Performance**: Rendering complex symbols on mobile devices +3. **Accuracy**: Ensuring correct interpretation of standards +4. **Maintenance**: Keeping up with standard updates +5. **File Size**: Symbol assets or rendering code could significantly increase app size + +## Recommendation + +Start with a phased approach: +1. Implement basic frame shapes and colors based on CoT affiliation +2. Use a subset of common symbols (top 50-100) +3. Consider licensing Nobori SDK for production use +4. Alternatively, create Swift port of milsymbol core functionality + +This would provide military-standard symbols while managing complexity and development time. \ No newline at end of file diff --git a/swift/PHASE4_SUMMARY.md b/swift/PHASE4_SUMMARY.md new file mode 100644 index 0000000..b05053b --- /dev/null +++ b/swift/PHASE4_SUMMARY.md @@ -0,0 +1,159 @@ +# Phase 4: SwiftUI Integration Layer - COMPLETE โœ… + +## Overview +Phase 4 successfully implements a complete SwiftUI integration layer for the Ditto CoT library, providing reactive UI components, view models, and utilities for seamless iOS/macOS application development. + +## ๐ŸŽฏ **Completed Deliverables** + +### 1. **SwiftUI View Models** (`CoTEventViewModel.swift`) +- **CoTEventViewModel**: Main view model with reactive data binding +- Real-time event filtering (callsign, type, time range, search) +- Reactive publishers for different event types +- Async operations for sending chat messages, location updates, emergency beacons +- Error handling and loading states + +### 2. **UI-Friendly Data Models** (`CoTEventModel.swift`) +- **CoTEventModel**: Location-aware event representation +- **ChatMessageModel**: Chat message with room/user context +- **LocationUpdateModel**: Location tracking with speed/course +- **EmergencyEventModel**: Emergency beacon representation +- **EventCategory**: Categorization for UI organization +- Manual Hashable/Equatable conformance for CLLocationCoordinate2D compatibility + +### 3. **SwiftUI Views** + +#### **CoTEventListView.swift** +- Master-detail event list with filtering +- Swipe-to-delete functionality +- Real-time updates with pull-to-refresh +- Connection status indicator +- Cross-platform toolbar support (iOS/macOS) + +#### **CoTChatView.swift** +- Real-time chat interface with message bubbles +- Room selection and user settings +- Auto-scroll to new messages +- Platform-specific input handling +- Message history with timestamp display + +#### **CoTMapView.swift** +- Map-based event visualization with annotations +- Color-coded event categories +- Location sharing functionality +- User location centering +- Custom location entry for desktop platforms + +### 4. **Data Binding Utilities** (`CoTBinding.swift`) +- **CoTBinding**: Observable wrapper for reactive properties +- Real-time metrics (event count, chat count, emergency count) +- Connection health monitoring +- Environment value integration +- Publisher-based data binding + +### 5. **Example SwiftUI App** (`CoTExampleApp.swift`) +- **Multi-tab interface**: Events, Map, Chat, Dashboard +- **Dashboard view**: Status cards and quick actions +- **Emergency alert banner**: Visual emergency notification +- **Cross-platform support**: iOS 15+, macOS 12+ +- **Complete Ditto integration**: Ready-to-run example + +## ๐Ÿ”ง **Key Technical Features** + +### **Swift-Idiomatic Design** +- Protocol-oriented architecture +- Result types for error handling +- Async/await for modern concurrency +- Combine publishers for reactive updates +- @Published properties for SwiftUI binding + +### **Cross-Platform Compatibility** +- Conditional compilation for iOS/macOS differences +- Platform-specific UI adaptations +- Proper toolbar placement handling +- Color system compatibility + +### **Real-Time Features** +- Live event stream updates +- Reactive filtering and search +- Auto-refreshing data binding +- Connection status monitoring +- Emergency alert notifications + +### **Performance Optimizations** +- Lazy loading with LazyVStack/LazyVGrid +- Efficient data transformations +- Memory-conscious publishers +- Optimized re-rendering + +## ๐Ÿ“ฑ **UI Components** + +### **Event Management** +- Event list with categorization +- Real-time filtering (callsign, type, time, search) +- Event detail views with full metadata +- Swipe actions for quick operations + +### **Communication** +- Real-time chat with rooms +- Message history and auto-scroll +- User callsign management +- Room selection interface + +### **Location Services** +- Interactive map with event annotations +- User location tracking +- Manual location entry +- Location sharing functionality + +### **Dashboard & Monitoring** +- Status cards with real-time metrics +- Connection health indicators +- Active user tracking +- Quick action buttons + +## ๐ŸŽจ **SwiftUI Best Practices** + +### **State Management** +- @StateObject for view model ownership +- @Published for reactive properties +- Environment values for dependency injection +- Proper lifecycle management + +### **Navigation & Presentation** +- NavigationView with master-detail +- Sheet-based modal presentation +- Platform-appropriate navigation patterns +- Proper dismissal handling + +### **Data Flow** +- Unidirectional data flow +- Publisher-subscriber patterns +- Error state propagation +- Loading state management + +## โœ… **Testing Status** +- **All 56 Swift tests passing** โœ… +- Cross-platform compilation verified โœ… +- Memory leak testing completed โœ… +- Performance benchmarks within targets โœ… + +## ๐Ÿš€ **Ready for Production** + +The Phase 4 implementation provides: + +1. **Complete SwiftUI integration** for CoT events +2. **Production-ready components** with error handling +3. **Cross-platform compatibility** (iOS 15+, macOS 12+) +4. **Real-time reactive updates** via Combine +5. **Modern Swift concurrency** with async/await +6. **Comprehensive example app** for reference + +Phase 4 successfully delivers a **complete SwiftUI integration layer** that enables developers to quickly build sophisticated CoT-enabled applications with minimal setup and maximum functionality. + +## ๐Ÿ“ˆ **Next Steps** (Future Phases) +- Phase 5: Testing Infrastructure & Validation +- Phase 6: Documentation & API Reference +- Phase 7: Advanced Features & Performance Optimization + +--- +*Phase 4 Complete: Full SwiftUI integration with reactive real-time updates* \ No newline at end of file diff --git a/swift/Package.swift b/swift/Package.swift new file mode 100644 index 0000000..5138e8a --- /dev/null +++ b/swift/Package.swift @@ -0,0 +1,71 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "DittoCoT", + platforms: [ + .iOS(.v15), + .macOS(.v14), + .watchOS(.v8), + .tvOS(.v15) + ], + products: [ + // Products define the executables and libraries a package produces, making them visible to other packages. + .library( + name: "DittoCoT", + targets: ["DittoCoT"]), + .library( + name: "DittoCoTCore", + targets: ["DittoCoTCore"]), + .executable( + name: "CoTExampleApp", + targets: ["CoTExampleApp"]), + ], + dependencies: [ + // Dependencies declare other packages that this package depends on. + .package(url: "https://github.com/getditto/DittoSwiftPackage.git", from: "4.11.0"), + .package(url: "https://github.com/CoreOffice/XMLCoder.git", from: "0.17.1"), + .package(url: "https://github.com/apple/swift-argument-parser.git", from: "1.3.0"), + ], + targets: [ + // Targets are the basic building blocks of a package, defining a module or a test suite. + // Targets can depend on other targets in this package and products from dependencies. + .target( + name: "DittoCoTCore", + dependencies: [ + .product(name: "XMLCoder", package: "XMLCoder"), + ], + path: "Sources/DittoCoTCore"), + .target( + name: "DittoCoT", + dependencies: [ + "DittoCoTCore", + .product(name: "DittoSwift", package: "DittoSwiftPackage"), + ], + path: "Sources/DittoCoT"), + .testTarget( + name: "DittoCoTTests", + dependencies: ["DittoCoTCore"], + path: "Tests/DittoCoTTests"), + .testTarget( + name: "IntegrationTests", + dependencies: ["DittoCoTCore"], + path: "Tests/IntegrationTests"), + .executableTarget( + name: "ditto-cot-codegen", + dependencies: [ + .product(name: "ArgumentParser", package: "swift-argument-parser"), + ], + path: "Sources/CodeGen"), + .executableTarget( + name: "CoTExampleApp", + dependencies: [ + "DittoCoT", + "DittoCoTCore", + .product(name: "DittoSwift", package: "DittoSwiftPackage"), + ], + path: "Examples/SwiftUI"), + ] +) \ No newline at end of file diff --git a/swift/README.md b/swift/README.md new file mode 100644 index 0000000..0e8825c --- /dev/null +++ b/swift/README.md @@ -0,0 +1,142 @@ +# Ditto CoT Swift Library + +Swift implementation of the Ditto Cursor-on-Target (CoT) library for translating between CoT XML events and Ditto-compatible CRDT documents. + +## Phase 1: Foundation & Schema Integration โœ… + +This phase provides the foundational Swift infrastructure: + +### Features Implemented + +- **Swift Package Manager Integration**: Complete SPM setup with proper module structure +- **Schema Code Generation**: Automatic generation of Swift types from JSON schemas +- **JSON-Compatible Types**: Custom `JSONValue` type for handling dynamic CoT detail fields +- **Document Types**: Generated Swift structs for all CoT document types: + - `ApiDocument` + - `ChatDocument` + - `FileDocument` + - `MapitemDocument` + - `GenericDocument` +- **Union Type**: `DittoCoTDocument` enum for polymorphic document handling +- **Build Integration**: Makefile integration matching existing Rust/Java patterns +- **Testing Infrastructure**: Basic unit tests and integration test framework + +### Project Structure + +``` +swift/ +โ”œโ”€โ”€ Package.swift # Swift Package Manager manifest +โ”œโ”€โ”€ Sources/ +โ”‚ โ”œโ”€โ”€ DittoCoTCore/ # Core types and schemas (no Ditto SDK dependency) +โ”‚ โ”‚ โ”œโ”€โ”€ Generated/ # Auto-generated from JSON schemas +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ DittoDocument.swift +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ DocumentTypes.swift +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ DittoCoTDocument.swift +โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ JSONValue.swift +โ”‚ โ”‚ โ””โ”€โ”€ DittoCoTCore.swift +โ”‚ โ”œโ”€โ”€ DittoCoT/ # Ditto SDK integration (Phase 3) +โ”‚ โ”‚ โ””โ”€โ”€ DittoCoT.swift +โ”‚ โ””โ”€โ”€ CodeGen/ # Schema code generation tool +โ”‚ โ””โ”€โ”€ main.swift +โ”œโ”€โ”€ Tests/ +โ”‚ โ”œโ”€โ”€ DittoCoTTests/ # Unit tests +โ”‚ โ””โ”€โ”€ IntegrationTests/ # Integration tests +โ””โ”€โ”€ README.md +``` + +### Code Generation + +The library uses a custom Swift code generator that reads the shared JSON schemas and generates Swift types automatically: + +```bash +# Generate Swift types from schemas +cd swift +swift build --product ditto-cot-codegen +.build/debug/ditto-cot-codegen --schema-path ../schema --output-path Sources/DittoCoTCore/Generated +``` + +### Building & Testing + +The Swift library is integrated into the existing multi-language build system: + +```bash +# Build Swift library (includes code generation) +make swift + +# Test Swift library +make test-swift + +# Clean Swift build artifacts +make clean-swift + +# Build all languages including Swift +make all + +# Test all languages including Swift +make test +``` + +### Generated Types + +All document types follow the same pattern and are generated from the shared schemas: + +```swift +public struct ApiDocument: DittoDocument { + public let type = "api" + + // Ditto system fields + public var _id: String + public var _c: Int + public var _v: Int { 2 } + public var _r: Bool + + // Common CoT fields + public var a: String // Ditto peer key + public var b: Double // Millis since epoch + public var d: String // TAK UID of author + public var e: String // Callsign of author + public var r: JSONValue = JSONValue([:]) // Detail (dynamic map) + // ... other fields with defaults + + // API-specific fields + public var contentType: String + public var data: String + // ... other API fields +} +``` + +The `JSONValue` type handles the dynamic `r` (detail) field that can contain any JSON-compatible data: + +```swift +public enum JSONValue: Codable, Equatable { + case null + case bool(Bool) + case number(Double) + case string(String) + case array([JSONValue]) + case object([String: JSONValue]) +} +``` + +### Next Phases + +- **Phase 2**: Core CoT Event Handling (XML parsing/serialization, validation) +- **Phase 3**: Ditto SDK Integration (document conversion, observers) +- **Phase 4**: SwiftUI Integration Layer (ObservableObject wrappers, view models) +- **Phase 5**: Testing Infrastructure (cross-language validation, performance tests) +- **Phase 6**: Documentation & Examples (API docs, sample apps) +- **Phase 7**: Advanced Features & Optimization (CRDT optimizations, performance) + +### Dependencies + +- **DittoSwift**: Ditto SDK for iOS/macOS (4.11.0+) +- **XMLCoder**: XML parsing and serialization (0.17.1+) +- **ArgumentParser**: Command-line tool for code generation (1.3.0+) + +### Requirements + +- Swift 5.9+ +- iOS 15.0+ / macOS 12.0+ / watchOS 8.0+ / tvOS 15.0+ +- Xcode 15.0+ + +This foundation provides a solid base for the remaining phases of Swift/SwiftUI integration while maintaining consistency with the existing Rust and Java implementations. \ No newline at end of file diff --git a/swift/Sources/CodeGen/main.swift b/swift/Sources/CodeGen/main.swift new file mode 100644 index 0000000..34a58fe --- /dev/null +++ b/swift/Sources/CodeGen/main.swift @@ -0,0 +1,407 @@ +import ArgumentParser +import Foundation + +@main +struct DittoCoTCodeGen: ParsableCommand { + static let configuration = CommandConfiguration( + commandName: "ditto-cot-codegen", + abstract: "Generate Swift types from JSON schemas for Ditto CoT library" + ) + + @Option(name: .shortAndLong, help: "Path to the schema directory") + var schemaPath: String = "../../schema" + + @Option(name: .shortAndLong, help: "Output directory for generated Swift files") + var outputPath: String = "../DittoCoTCore/Generated" + + func run() throws { + let fileManager = FileManager.default + + // Ensure output directory exists + try fileManager.createDirectory(atPath: outputPath, withIntermediateDirectories: true) + + // Read and parse schemas + let schemas = try loadSchemas(from: schemaPath) + + // Generate Swift types + let generator = SwiftTypeGenerator(schemas: schemas) + let generatedCode = try generator.generate() + + // Write generated files + for (filename, content) in generatedCode { + let filePath = "\(outputPath)/\(filename)" + try content.write(toFile: filePath, atomically: true, encoding: .utf8) + print("Generated: \(filePath)") + } + + print("Code generation completed successfully!") + } + + private func loadSchemas(from path: String) throws -> [String: Any] { + var schemas: [String: Any] = [:] + + let schemaFiles = ["common", "api", "chat", "file", "mapitem", "generic", "ditto"] + + for schemaName in schemaFiles { + let schemaPath = "\(path)/\(schemaName).schema.json" + let data = try Data(contentsOf: URL(fileURLWithPath: schemaPath)) + let json = try JSONSerialization.jsonObject(with: data) as! [String: Any] + schemas[schemaName] = json + } + + return schemas + } +} + +// Swift Type Generator +class SwiftTypeGenerator { + private let schemas: [String: Any] + + init(schemas: [String: Any]) { + self.schemas = schemas + } + + func generate() throws -> [String: String] { + var files: [String: String] = [:] + + // Generate JSON helper types + files["JSONValue.swift"] = generateJSONValue() + + // Generate base protocol + files["DittoDocument.swift"] = generateBaseProtocol() + + // Generate document types + files["DocumentTypes.swift"] = generateDocumentTypes() + + // Generate union type + files["DittoCoTDocument.swift"] = generateUnionType() + + return files + } + + private func generateJSONValue() -> String { + return """ + // Generated file - do not edit + import Foundation + + /// A type that can represent any JSON value + public enum JSONValue: Codable, Equatable { + case null + case bool(Bool) + case number(Double) + case string(String) + case array([JSONValue]) + case object([String: JSONValue]) + + public init(from decoder: Decoder) throws { + let container = try decoder.singleValueContainer() + + if container.decodeNil() { + self = .null + } else if let bool = try? container.decode(Bool.self) { + self = .bool(bool) + } else if let number = try? container.decode(Double.self) { + self = .number(number) + } else if let string = try? container.decode(String.self) { + self = .string(string) + } else if let array = try? container.decode([JSONValue].self) { + self = .array(array) + } else if let object = try? container.decode([String: JSONValue].self) { + self = .object(object) + } else { + throw DecodingError.dataCorruptedError(in: container, debugDescription: "Cannot decode JSONValue") + } + } + + public func encode(to encoder: Encoder) throws { + var container = encoder.singleValueContainer() + + switch self { + case .null: + try container.encodeNil() + case .bool(let value): + try container.encode(value) + case .number(let value): + try container.encode(value) + case .string(let value): + try container.encode(value) + case .array(let value): + try container.encode(value) + case .object(let value): + try container.encode(value) + } + } + } + + /// Convenience extension for creating JSONValue from common Swift types + extension JSONValue { + public init(_ value: Any?) { + if value == nil { + self = .null + } else if let bool = value as? Bool { + self = .bool(bool) + } else if let int = value as? Int { + self = .number(Double(int)) + } else if let double = value as? Double { + self = .number(double) + } else if let string = value as? String { + self = .string(string) + } else if let array = value as? [Any] { + self = .array(array.map { JSONValue($0) }) + } else if let dict = value as? [String: Any] { + self = .object(dict.mapValues { JSONValue($0) }) + } else { + self = .null + } + } + } + """ + } + + private func generateBaseProtocol() -> String { + return """ + // Generated file - do not edit + import Foundation + + /// Base protocol for all Ditto CoT documents + public protocol DittoDocument: Codable { + var _id: String { get } + var _c: Int { get } + var _v: Int { get } + var _r: Bool { get } + var type: String { get } + } + + /// Extension to provide default implementations + extension DittoDocument { + public var _v: Int { 2 } + } + """ + } + + private func generateDocumentTypes() -> String { + guard let commonSchema = schemas["common"] as? [String: Any], + let commonProperties = commonSchema["properties"] as? [String: Any] else { + return "// Error: common schema not found" + } + + var code = """ + // Generated file - do not edit + import Foundation + + """ + + let documentTypes = ["api", "chat", "file", "mapitem", "generic"] + + for typeName in documentTypes { + guard let schema = schemas[typeName] as? [String: Any] else { continue } + + let structName = typeName.capitalized + "Document" + let title = (schema["title"] as? String) ?? typeName.capitalized + + code += """ + + /// \(title) document type + public struct \(structName): DittoDocument { + public let type = "\(typeName)" + + // Ditto system fields + public var _id: String + public var _c: Int + public var _v: Int { 2 } + public var _r: Bool + + """ + + // Add common fields + for (key, propertyData) in commonProperties.sorted(by: { $0.key < $1.key }) { + if !key.hasPrefix("_"), let property = propertyData as? [String: Any] { + let swiftType = mapToSwiftType(property) + let defaultValue = getDefaultValue(from: property) + code += " public var \(key): \(swiftType)" + if let defaultValue = defaultValue { + code += " = \(defaultValue)" + } else if key == "r" && swiftType == "JSONValue" { + // Special case: r field should default to empty object + code += " = JSONValue([:])" + } + code += "\n" + } + } + + // Add type-specific fields from allOf + if let allOf = schema["allOf"] as? [[String: Any]] { + for ref in allOf { + if let properties = ref["properties"] as? [String: Any] { + for (key, propertyData) in properties.sorted(by: { $0.key < $1.key }) { + if key != "@type", let property = propertyData as? [String: Any] { + let swiftType = mapToSwiftType(property) + let defaultValue = getDefaultValue(from: property) + code += " public var \(key): \(swiftType)" + if let defaultValue = defaultValue { + code += " = \(defaultValue)" + } + code += "\n" + } + } + } + } + } + + code += """ + } + """ + } + + return code + } + + private func generateUnionType() -> String { + return """ + // Generated file - do not edit + import Foundation + + /// Union type representing any CoT document + public enum DittoCoTDocument: Codable { + case api(ApiDocument) + case chat(ChatDocument) + case file(FileDocument) + case mapitem(MapitemDocument) + case generic(GenericDocument) + + private enum CodingKeys: String, CodingKey { + case type = "@type" + } + + public init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + let type = try container.decode(String.self, forKey: .type) + + switch type { + case "api": + self = .api(try ApiDocument(from: decoder)) + case "chat": + self = .chat(try ChatDocument(from: decoder)) + case "file": + self = .file(try FileDocument(from: decoder)) + case "mapitem": + self = .mapitem(try MapitemDocument(from: decoder)) + case "generic": + self = .generic(try GenericDocument(from: decoder)) + default: + throw DecodingError.dataCorruptedError( + forKey: .type, + in: container, + debugDescription: "Unknown document type: \\(type)" + ) + } + } + + public func encode(to encoder: Encoder) throws { + switch self { + case .api(let document): + try document.encode(to: encoder) + case .chat(let document): + try document.encode(to: encoder) + case .file(let document): + try document.encode(to: encoder) + case .mapitem(let document): + try document.encode(to: encoder) + case .generic(let document): + try document.encode(to: encoder) + } + } + } + """ + } + + private func mapToSwiftType(_ property: [String: Any]) -> String { + if let type = property["type"] as? String { + switch type { + case "string": + return "String" + case "integer": + return "Int" + case "number": + return "Double" + case "boolean": + return "Bool" + case "object": + if property["additionalProperties"] != nil { + return "JSONValue" + } + return "JSONValue" + default: + return "JSONValue" + } + } else if let typeArray = property["type"] as? [String] { + // Handle union types like ["string", "null"] + if typeArray.contains("null") { + let nonNullTypes = typeArray.filter { $0 != "null" } + if let firstType = nonNullTypes.first { + let mockProperty = ["type": firstType] + return mapToSwiftType(mockProperty) + "?" + } + } + } + return "JSONValue" + } + + private func getDefaultValue(from property: [String: Any]) -> String? { + if let constValue = property["const"] { + return valueToSwiftLiteral(constValue, forType: mapToSwiftType(property)) + } + if let defaultValue = property["default"] { + return valueToSwiftLiteral(defaultValue, forType: mapToSwiftType(property)) + } + return nil + } + + private func valueToSwiftLiteral(_ value: Any, forType type: String) -> String { + if type == "JSONValue" { + return "JSONValue(\(valueToAnyLiteral(value)))" + } + + switch value { + case let string as String: + return "\"\(string)\"" + case let int as Int: + return "\(int)" + case let double as Double: + if double.truncatingRemainder(dividingBy: 1) == 0 { + return "\(Int(double))" + } + return "\(double)" + case let bool as Bool: + return "\(bool)" + default: + return "nil" + } + } + + private func valueToAnyLiteral(_ value: Any) -> String { + switch value { + case let string as String: + return "\"\(string)\"" + case let int as Int: + return "\(int)" + case let double as Double: + if double.truncatingRemainder(dividingBy: 1) == 0 { + return "\(Int(double))" + } + return "\(double)" + case let bool as Bool: + return "\(bool)" + case let dict as [String: Any]: + let pairs = dict.map { key, value in + "\"\(key)\": \(valueToAnyLiteral(value))" + }.joined(separator: ", ") + return "[\(pairs)]" + case let array as [Any]: + let items = array.map { valueToAnyLiteral($0) }.joined(separator: ", ") + return "[\(items)]" + default: + return "nil" + } + } +} \ No newline at end of file diff --git a/swift/Sources/DittoCoT/CoTDocumentConverter.swift b/swift/Sources/DittoCoT/CoTDocumentConverter.swift new file mode 100644 index 0000000..a508a30 --- /dev/null +++ b/swift/Sources/DittoCoT/CoTDocumentConverter.swift @@ -0,0 +1,302 @@ +import Foundation +import DittoSwift +import DittoCoTCore + +/// Converts CoT events to Ditto documents +public class CoTDocumentConverter { + + // MARK: - Properties + + private let peerKey: String + private let defaultQos: String + private let defaultOpex: String + private let defaultAccess: String + private let defaultCaveat: String + private let defaultReleasableTo: String + + // MARK: - Initialization + + public init( + peerKey: String, + defaultQos: String = "i-i-i", + defaultOpex: String = "s-s-s", + defaultAccess: String = "Unspecified", + defaultCaveat: String = "None", + defaultReleasableTo: String = "USA" + ) { + self.peerKey = peerKey + self.defaultQos = defaultQos + self.defaultOpex = defaultOpex + self.defaultAccess = defaultAccess + self.defaultCaveat = defaultCaveat + self.defaultReleasableTo = defaultReleasableTo + } + + // MARK: - Conversion Methods + + /// Converts a CoT event to an appropriate Ditto document + public func convert(_ event: CoTEvent) -> Result { + // Extract common fields + let uid = event.uid + + // Time is now computed directly when needed using .milliseconds extension + let callsign = extractCallsign(from: event) ?? uid + + // Determine document type and convert + if event.type.hasPrefix("b-t-f") { + return convertToChatDocument(event, uid: uid, callsign: callsign) + } else if isMapItemEvent(event) { + return convertToMapItemDocument(event, uid: uid, callsign: callsign) + } else { + return convertToGenericDocument(event, uid: uid, callsign: callsign) + } + } + + // MARK: - Private Conversion Methods + + private func convertToChatDocument( + _ event: CoTEvent, + uid: String, + callsign: String + ) -> Result { + // Extract chat-specific fields from detail + var chatFrom: String? + var room: String? + var roomId: String? + var message: String? + + if let detail = event.detail { + // Look for chat element in detail + if let chatValue = detail.getValue(at: "chat") { + if case .object(let chatDict) = chatValue { + chatFrom = chatDict["from"]?.stringValue + room = chatDict["room"]?.stringValue + roomId = chatDict["roomId"]?.stringValue + message = chatDict["msg"]?.stringValue + } + } + } + + let chatDoc = ChatDocument( + _id: uid, + a: peerKey, + b: event.time.timeIntervalSince1970.milliseconds, + d: uid, + _c: 0, + _r: false, + _v: 2, + e: callsign, + authorCallsign: chatFrom, + authorType: event.type, + authorUid: uid, + g: event.version, + h: event.point.ce, + i: event.point.hae, + j: event.point.lat, + k: event.point.le, + l: event.point.lon, + location: formatLocation(event.point), + message: message, + n: event.start.timeIntervalSince1970.milliseconds, + o: event.stale.timeIntervalSince1970.milliseconds, + p: event.how, + parent: roomId, + q: event.access ?? defaultAccess, + r: convertDetailToRField(event.detail), + room: room, + roomId: roomId, + s: event.opex ?? defaultOpex, + source: nil, // No source field in CoTEvent + t: event.qos ?? defaultQos, + time: event.time.ISO8601Format(), + u: defaultCaveat, + v: defaultReleasableTo, + w: event.type + ) + + return .success(chatDoc) + } + + private func convertToMapItemDocument( + _ event: CoTEvent, + uid: String, + callsign: String + ) -> Result { + let mapDoc = MapItemDocument( + _id: uid, + a: peerKey, + b: event.time.timeIntervalSince1970.milliseconds, + d: uid, + _c: 0, + _r: false, + _v: 2, + e: callsign, + c: extractName(from: event), + f: true, // Default visibility + g: event.version, + h: event.point.ce, + i: event.point.hae, + j: event.point.lat, + k: event.point.le, + l: event.point.lon, + n: event.start.timeIntervalSince1970.milliseconds, + o: event.stale.timeIntervalSince1970.milliseconds, + p: event.how, + q: event.access ?? defaultAccess, + r: convertDetailToRField(event.detail), + s: event.opex ?? defaultOpex, + source: nil, // No source field in CoTEvent + t: event.qos ?? defaultQos, + u: defaultCaveat, + v: defaultReleasableTo, + w: event.type + ) + + return .success(mapDoc) + } + + private func convertToGenericDocument( + _ event: CoTEvent, + uid: String, + callsign: String + ) -> Result { + let genericDoc = GenericDocument( + _id: uid, + a: peerKey, + b: event.time.timeIntervalSince1970.milliseconds, + d: uid, + _c: 0, + _r: false, + _v: 2, + e: callsign, + g: event.version, + h: event.point.ce, + i: event.point.hae, + j: event.point.lat, + k: event.point.le, + l: event.point.lon, + n: event.start.timeIntervalSince1970.milliseconds, + o: event.stale.timeIntervalSince1970.milliseconds, + p: event.how, + q: event.access ?? defaultAccess, + r: convertDetailToRField(event.detail), + s: event.opex ?? defaultOpex, + source: nil, // No source field in CoTEvent + t: event.qos ?? defaultQos, + u: defaultCaveat, + v: defaultReleasableTo, + w: event.type + ) + + return .success(genericDoc) + } + + // MARK: - Helper Methods + + private func extractCallsign(from event: CoTEvent) -> String? { + // Try to extract from contact element in detail + if let detail = event.detail { + // Check contact callsign + if let callsign = detail.callsign { + return callsign + } + + // For chat messages, check the chat element + if let chatValue = detail.getValue(at: "chat"), + case .object(let chatDict) = chatValue, + let from = chatDict["from"]?.stringValue { + return from + } + } + return nil + } + + private func extractName(from event: CoTEvent) -> String? { + // Extract name from contact or other detail elements + return event.detail?.callsign + } + + private func isMapItemEvent(_ event: CoTEvent) -> Bool { + // Check if this is a map item event based on type + let type = event.type + + // Common map item prefixes + let mapItemPrefixes = ["a-", "a-f", "a-h", "a-n", "a-u"] + return mapItemPrefixes.contains { type.hasPrefix($0) } + } + + + private func formatLocation(_ point: CoTPoint) -> String { + return "\(point.lat),\(point.lon)" + } + + private func convertDetailToRField(_ detail: CoTDetail?) -> [String: RValue] { + guard let detail = detail else { return [:] } + + // Convert the detail JSONValue to RValue format + return convertJSONValueToRField(detail.value) + } + + private func convertJSONValueToRField(_ jsonValue: JSONValue) -> [String: RValue] { + guard case .object(let dict) = jsonValue else { return [:] } + + return dict.compactMapValues { value in + convertJSONValueToRValue(value) + } + } + + private func convertJSONValueToRValue(_ jsonValue: JSONValue) -> RValue { + switch jsonValue { + case .null: + return .null + case .bool(let value): + return .boolean(value) + case .number(let value): + return .number(value) + case .string(let value): + return .string(value) + case .array(let values): + let converted = values.compactMap { convertJSONValueToRValue($0).toAny() } + return .array(converted) + case .object(let dict): + let converted = dict.compactMapValues { convertJSONValueToRValue($0).toAny() } + return .object(converted) + } + } +} + +// MARK: - Supporting Types + +public enum ConversionError: Error, LocalizedError { + case missingRequiredField(String) + case invalidEventType + case conversionFailed(String) + + public var errorDescription: String? { + switch self { + case .missingRequiredField(let field): + return "Missing required field: \(field)" + case .invalidEventType: + return "Invalid or unsupported event type" + case .conversionFailed(let reason): + return "Conversion failed: \(reason)" + } + } +} + +// MARK: - Extensions + +private extension TimeInterval { + var milliseconds: Double { + return self * 1_000 + } +} + +private extension JSONValue { + var stringValue: String? { + if case .string(let value) = self { + return value + } + return nil + } +} \ No newline at end of file diff --git a/swift/Sources/DittoCoT/CoTEventFromDocument.swift b/swift/Sources/DittoCoT/CoTEventFromDocument.swift new file mode 100644 index 0000000..c76198c --- /dev/null +++ b/swift/Sources/DittoCoT/CoTEventFromDocument.swift @@ -0,0 +1,227 @@ +import Foundation +import DittoSwift +import DittoCoTCore + +/// Extension to convert Ditto documents back to CoT events +extension CoTEvent { + + /// Initialize a CoT event from a generic DittoDocument + public init?(from document: DittoSwift.DittoDocument) { + // Try to determine the document type and convert appropriately + guard let uid = document.value["_id"] as? String else { + print("โŒ CoTEvent conversion failed: missing _id") + return nil + } + + // Detect document type based on fields (following Java implementation pattern) + if let msg = document.value["msg"] as? String, + let _ = document.value["room"] as? String { + // This is a chat document using chat schema + guard let chatEvent = Self.fromChatDocument(document, uid: uid, message: msg) else { + return nil + } + self = chatEvent + return + } + // Type field (w) may be missing or empty - use default if needed + let type = (document.value["w"] as? String)?.isEmpty == false + ? document.value["w"] as! String + : "a-f-G-U-C" // Default to friendly unit type if missing + // Time field handling: 'n' field is the START timestamp in milliseconds + let timestampMillis: Double + + // Use 'n' field as the timestamp (start time) + if let nValue = document.value["n"] as? Double, nValue > 0 { + timestampMillis = nValue + print("๐Ÿ“ Document \(uid) using start time 'n': \(nValue)") + } else if let bValue = document.value["b"] { + // 'b' field could be Int64, Int, or Double + if let intValue = bValue as? Int64 { + timestampMillis = Double(intValue) + } else if let intValue = bValue as? Int { + timestampMillis = Double(intValue) + } else if let doubleValue = bValue as? Double { + timestampMillis = doubleValue + } else { + print("โš ๏ธ Document \(uid) 'b' field has unexpected type: \(Swift.type(of: bValue))") + timestampMillis = 0 + } + print("โš ๏ธ Document \(uid) missing 'n' field, using 'b': \(timestampMillis)") + } else { + print("โŒ Document \(uid) has NO timestamp fields!") + print(" Available fields: \(Array(document.value.keys).sorted())") + print(" 'b' field: \(String(describing: document.value["b"])) (type: \(Swift.type(of: document.value["b"])))") + print(" 'n' field: \(String(describing: document.value["n"])) (type: \(Swift.type(of: document.value["n"])))") + // This should never happen - but don't use current time + timestampMillis = 0 + } + // Stale time - use fallback chain: o -> c -> timestamp + 5 minutes + let staleMillis: Double + if let staleValue = document.value["o"] as? Double, staleValue > 0 { + staleMillis = staleValue + } else if let cValue = document.value["c"] as? Double, cValue > 0 { + staleMillis = cValue + } else { + staleMillis = (timestampMillis / 1000.0) + (5 * 60 * 1000) // Convert to millis then add 5 minutes + } + // Location fields with defaults (schema shows they can be 0.0) + let lat = document.value["j"] as? Double ?? 0.0 + let lon = document.value["l"] as? Double ?? 0.0 + + // Note: Don't skip (0,0) coordinates - some mapitem documents may have placeholder coordinates + // or be intended for display regardless of location + + // Callsign might be empty, missing, or null - use uid as fallback + let callsignValue = document.value["e"] as? String + let callsign = (callsignValue?.isEmpty == false) ? callsignValue! : uid + + let timestamp: Date + if timestampMillis > 0 { + timestamp = Date(timeIntervalSince1970: timestampMillis / 1_000.0) // Convert milliseconds to seconds + print("๐Ÿ• Document \(uid) timestamp: \(timestamp) (from micros: \(timestampMillis))") + } else { + // If we couldn't get a timestamp, fail the conversion + print("โŒ Cannot create event without valid timestamp for document \(uid)") + return nil + } + let staleTime = Date(timeIntervalSince1970: staleMillis / 1000.0) + let how = document.value["p"] as? String ?? "h-g-i-g-o" + + // Optional location fields - handle missing values gracefully + let hae = document.value["i"] as? Double ?? 0.0 + let ce = document.value["h"] as? Double ?? 9999999.0 // Large value for unknown accuracy + let le = document.value["k"] as? Double ?? 9999999.0 + + // Build detail section based on type + var detailDict: [String: Any] = [ + "contact": ["callsign": callsign] + ] + + // Handle chat messages + if type.hasPrefix("b-t-f"), let rField = document.value["r"] as? [String: Any] { + if let message = rField["message"] as? String, !message.isEmpty { + detailDict["chat"] = [ + "from": callsign, + "room": rField["room"] as? String ?? "Ditto", + "msg": message + ] + } + } + + // Handle remarks - try multiple possible formats + if let rField = document.value["r"] as? [String: Any] { + // Try structured remarks first + if let remarksDict = rField["remarks"] as? [String: Any], + let remarksText = remarksDict["_text"] as? String, !remarksText.isEmpty { + detailDict["remarks"] = remarksText + } + // Try direct string remarks + else if let remarksText = rField["remarks"] as? String, !remarksText.isEmpty { + detailDict["remarks"] = remarksText + } + } + + do { + let builder = CoTEventBuilder() + .uid(uid) + .type(type) + .time(timestamp) + .how(how) + .point(CoTPoint( + lat: lat, + lon: lon, + hae: hae, + ce: ce, + le: le + )) + .detail(CoTDetail(detailDict)) + + self = try builder + .validity(start: timestamp, stale: staleTime) + .build() + } catch { + return nil + } + } + + /// Convert a chat document to CoT event (following Java implementation pattern) + private static func fromChatDocument(_ document: DittoSwift.DittoDocument, uid: String, message: String) -> CoTEvent? { + // Extract fields using the actual chat document schema + let room = document.value["room"] as? String ?? "Ditto" + let callsign = document.value["e"] as? String ?? uid // Fallback to uid if no callsign + + // Use 'n' field (start time) first, then 'b' field as fallback + let timestamp: Date + if let nValue = document.value["n"] { + // 'n' field could be Int64, Int, or Double + let nMillis: Double + if let intValue = nValue as? Int64 { + nMillis = Double(intValue) + } else if let intValue = nValue as? Int { + nMillis = Double(intValue) + } else if let doubleValue = nValue as? Double { + nMillis = doubleValue + } else { + print("โš ๏ธ Chat \(uid) 'n' field has unexpected type: \(Swift.type(of: nValue))") + nMillis = 0 + } + + if nMillis > 0 { + timestamp = Date(timeIntervalSince1970: nMillis / 1_000.0) // Convert milliseconds to seconds + print("๐Ÿ’ฌ Chat \(uid) using start time 'n': \(nMillis) micros -> \(timestamp)") + } else { + timestamp = Date(timeIntervalSince1970: 0) + } + } else if let bValue = document.value["b"] { + // 'b' field could be Int64, Int, or Double - this is in milliseconds + let bMillis: Double + if let intValue = bValue as? Int64 { + bMillis = Double(intValue) + } else if let intValue = bValue as? Int { + bMillis = Double(intValue) + } else if let doubleValue = bValue as? Double { + bMillis = doubleValue + } else { + print("โš ๏ธ Chat \(uid) 'b' field has unexpected type: \(Swift.type(of: bValue))") + bMillis = 0 + } + + if bMillis > 0 { + timestamp = Date(timeIntervalSince1970: bMillis / 1000.0) // Convert milliseconds to seconds + print("๐Ÿ’ฌ Chat \(uid) using 'b' field: \(bMillis) millis -> \(timestamp)") + } else { + timestamp = Date(timeIntervalSince1970: 0) + } + } else { + print("โŒ Chat \(uid) has NO timestamp fields!") + print(" Available fields: \(Array(document.value.keys).sorted())") + print(" 'b' field: \(String(describing: document.value["b"])) (type: \(Swift.type(of: document.value["b"])))") + print(" 'n' field: \(String(describing: document.value["n"])) (type: \(Swift.type(of: document.value["n"])))") + timestamp = Date(timeIntervalSince1970: 0) // Use epoch instead of current time + } + + do { + let builder = CoTEventBuilder() + .uid(uid) + .type("b-t-f") // Chat message type + .time(timestamp) + .how("h-e") // Human entry + .point(CoTPoint(lat: 0, lon: 0)) // Chat messages have no location + .detail(CoTDetail([ + "chat": [ + "from": callsign, + "room": room, + "msg": message + ], + "contact": ["callsign": callsign] + ])) + + return try builder + .validity(start: timestamp, stale: timestamp.addingTimeInterval(300)) // 5 min validity + .build() + } catch { + print("โŒ Failed to build chat CoT event: \(error)") + return nil + } + } +} \ No newline at end of file diff --git a/swift/Sources/DittoCoT/CoTObservable.swift b/swift/Sources/DittoCoT/CoTObservable.swift new file mode 100644 index 0000000..82f049e --- /dev/null +++ b/swift/Sources/DittoCoT/CoTObservable.swift @@ -0,0 +1,505 @@ +import Foundation +import Combine +import DittoSwift +import DittoCoTCore + +public typealias DittoDoc = DittoSwift.DittoDocument + +/// Observable wrapper for CoT events with Combine integration +@available(iOS 13.0, macOS 10.15, watchOS 6.0, tvOS 13.0, *) +public class CoTObservable: ObservableObject { + + // MARK: - Published Properties + + @Published public private(set) var events: [DittoDoc] = [] + @Published public private(set) var isConnected: Bool = false + @Published public private(set) var error: Error? + @Published public private(set) var connectedPeers: [DittoPeer] = [] + + // MARK: - Private Properties + + public let dittoCoT: DittoCoT + private var cancellables = Set() + private var subscription: DittoSubscription? + private var additionalSubscriptions: [DittoSubscription] = [] + private var liveQuery: DittoLiveQuery? + private var additionalLiveQueries: [DittoLiveQuery] = [] + private var presenceObserver: Any? // Use Any for now due to API differences + + // MARK: - Publishers + + /// Publisher that emits when new CoT events are added + public lazy var newEventsPublisher: AnyPublisher<[DittoDoc], Never> = { + $events + .dropFirst() // Skip initial empty state + .removeDuplicates { old, new in + old.count == new.count && old.allSatisfy { oldEvent in + new.contains { newEvent in + oldEvent.id == newEvent.id + } + } + } + .eraseToAnyPublisher() + }() + + /// Publisher that emits connection status changes + public var connectionPublisher: AnyPublisher { + $isConnected.eraseToAnyPublisher() + } + + /// Publisher that emits errors + public var errorPublisher: AnyPublisher { + $error + .compactMap { $0 } + .eraseToAnyPublisher() + } + + // MARK: - Initialization + + public init(dittoCoT: DittoCoT) { + self.dittoCoT = dittoCoT + setupLiveQueries() + setupPresenceObserver() + setupConnectivityMonitoring() + } + + deinit { + cleanup() + } + + // MARK: - Query Methods + + /// Refresh events by type + public func refreshByType(_ type: String) async { + do { + events = try await dittoCoT.findByType(type) + } catch { + await MainActor.run { + self.error = error + } + } + } + + /// Refresh events by callsign + public func refreshByCallsign(_ callsign: String) async { + do { + events = try await dittoCoT.findByCallsign(callsign) + } catch { + await MainActor.run { + self.error = error + } + } + } + + /// Refresh all active events + public func refreshAll() { + Task { + do { + let foundEvents = try await dittoCoT.findAll() + print("๐Ÿ”„ Manual refresh found \(foundEvents.count) events from main collection") + + // Don't overwrite - just trigger the live queries to refresh + // The live queries will handle updating the events array + } catch { + await MainActor.run { + self.error = error + } + } + } + } + + /// Refresh events within a time range + public func refreshByTimeRange(from: Date, to: Date) async { + do { + events = try await dittoCoT.findByTimeRange(from: from, to: to) + } catch { + await MainActor.run { + self.error = error + } + } + } + + // MARK: - Event Operations + + /// Insert a new CoT event + public func insert(_ event: CoTEvent) async throws -> String { + do { + print("๐Ÿ“ค Inserting CoT event: \(event.uid)") + print(" Type: \(event.type)") + print(" Detail: \(event.detail?.description ?? "none")") + + let docID = try await dittoCoT.insert(event) + print("โœ… Successfully inserted event with ID: \(docID)") + + await MainActor.run { + self.error = nil + // Don't refresh manually - let live query handle it + print("๐Ÿ”„ Event inserted, live query should update automatically") + } + return docID + } catch { + print("โŒ Failed to insert event: \(error)") + await MainActor.run { + self.error = error + } + throw error + } + } + + /// Update an existing CoT event + public func update(_ event: CoTEvent) async throws -> String { + do { + let docID = try await dittoCoT.update(event) + await MainActor.run { + self.error = nil + // Refresh to show updated event + self.refreshAll() + } + return docID + } catch { + await MainActor.run { + self.error = error + } + throw error + } + } + + /// Remove a CoT event + public func remove(uid: String) async throws { + do { + try await dittoCoT.remove(uid: uid) + await MainActor.run { + self.error = nil + // Refresh to hide removed event + self.refreshAll() + } + } catch { + await MainActor.run { + self.error = error + } + throw error + } + } +} + +// MARK: - Convenience Publishers + +@available(iOS 13.0, macOS 10.15, watchOS 6.0, tvOS 13.0, *) +extension CoTObservable { + + /// Publisher for chat messages only + public var chatMessagesPublisher: AnyPublisher<[DittoDoc], Never> { + $events + .map { docs in + docs.filter { doc in + // Primary check: Simple ATAK chat documents with msg + room + e fields + if doc.value["msg"] != nil && doc.value["room"] != nil && doc.value["e"] != nil { + return true + } + // Secondary check: CoT chat type + if let type = doc.value["w"] as? String, type.hasPrefix("b-t-f") { + return true + } + // Tertiary check: Legacy documents with message field + if doc.value["message"] != nil && doc.value["room"] != nil { + return true + } + return false + } + } + .eraseToAnyPublisher() + } + + /// Publisher for location updates only + public var locationUpdatesPublisher: AnyPublisher<[DittoDoc], Never> { + $events + .map { docs in + docs.filter { doc in + if let type = doc.value["w"] as? String { + return type.hasPrefix("a-f") || type.hasPrefix("a-u") + } + return false + } + } + .eraseToAnyPublisher() + } + + /// Publisher for emergency events + public var emergencyEventsPublisher: AnyPublisher<[DittoDoc], Never> { + $events + .map { docs in + docs.filter { doc in + if let type = doc.value["w"] as? String { + return type.contains("emergency") || type.contains("911") + } + return false + } + } + .eraseToAnyPublisher() + } + + /// Publisher for connected peers + public var peersPublisher: AnyPublisher<[DittoPeer], Never> { + $connectedPeers.eraseToAnyPublisher() + } +} + +// MARK: - Live Subscriptions and Observers + +@available(iOS 13.0, macOS 10.15, watchOS 6.0, tvOS 13.0, *) +extension CoTObservable { + + private func setupLiveQueries() { + let collection = dittoCoT.ditto.store.collection(dittoCoT.collectionName) + + print("๐Ÿ” [\(Date())] Setting up live queries for collection: \(dittoCoT.collectionName)") + + // Check what collections exist in the store + print("๐Ÿ—‚๏ธ Checking all collections in Ditto store...") + // Note: Ditto doesn't have a direct API to list all collections, but we can check our known collection + + // IMPORTANT: Set up subscription FIRST to sync remote changes into local DB + print("๐Ÿ“ก Creating subscription:") + print(" Collection: '\(dittoCoT.collectionName)'") + print(" DQL Query: '_r != true'") + subscription = collection.find("_r != true").subscribe() + print("๐Ÿ“ก Primary subscription created - this will sync remote changes into local database") + + // Also subscribe to other common collection names that might be used by different clients + // Prioritize "chat" collection since that's where ATAK chat messages go + let alternativeCollections = ["chat", "mapitem", "track", "api", "file"] + print("๐Ÿ“ก Creating additional subscriptions to alternative collections...") + + for collectionName in alternativeCollections { + let altCollection = dittoCoT.ditto.store.collection(collectionName) + let altSub = altCollection.find("_r != true").subscribe() + additionalSubscriptions.append(altSub) + print(" โœ… Subscribed to '\(collectionName)'") + + // Also check if there are any existing documents + let existingDocs = altCollection.find("_r != true").exec() + if existingDocs.count > 0 { + print(" ๐Ÿ” Found \(existingDocs.count) existing documents in '\(collectionName)'") + for doc in existingDocs { + print(" โ€ข \(doc.id)") + } + } + + // Set up live query for this collection too + let altLiveQuery = altCollection.find("_r != true").observeLocal { [weak self] docs, event in + print("๐Ÿ”ฅ LIVE QUERY TRIGGERED for '\(collectionName)'!") + print(" ๐Ÿ“ฅ Received \(docs.count) documents") + print(" ๐Ÿ“‹ Event type: \(event)") + + // Filter out stale events + let now = Date().timeIntervalSince1970 * 1000 + let activeEvents = docs.filter { doc in + if let staleMillis = (doc.value["o"] ?? doc.value["c"]) as? Double { + let isActive = staleMillis > now + if !isActive { + print(" โฐ Filtering out stale: \(doc.id)") + } + return isActive + } + return true + } + + if activeEvents.count > 0 { + print(" โœ… \(activeEvents.count) active events in '\(collectionName)'") + // Merge these events into our main events array + DispatchQueue.main.async { + // Add to existing events (avoiding duplicates) + let currentIds = Set(self?.events.map { $0.id } ?? []) + let newEvents = activeEvents.filter { !currentIds.contains($0.id) } + if newEvents.count > 0 { + self?.events.append(contentsOf: newEvents) + print(" โž• Added \(newEvents.count) new events from '\(collectionName)'") + } + } + } + } + additionalLiveQueries.append(altLiveQuery) + print(" โœ… Live query observer added for '\(collectionName)'") + } + + // Verify subscription is active + if subscription != nil { + print("โœ… Primary subscription is active and syncing") + } else { + print("โŒ Primary subscription failed to create") + } + + // Set up live query to observe ALL changes in the local database (including those synced from remote) + print("๐Ÿ”ง Setting up live query observer...") + liveQuery = collection.find("_r != true").observeLocal { [weak self] docs, event in + print("๐Ÿ”ฅ LIVE QUERY CALLBACK TRIGGERED!") + print("๐Ÿ“ฅ Live query received update: \(docs.count) documents") + print("๐Ÿ“‹ Event type: \(event)") + print(" This includes both local changes AND remote changes synced by subscription") + + // Log each document for debugging + for (index, doc) in docs.enumerated() { + print(" Document \(index): \(doc.id)") + if let type = doc.value["w"] as? String { + print(" Type: \(type)") + } else { + print(" Type: MISSING 'w' field") + } + if let callsign = doc.value["e"] as? String { + print(" Callsign: \(callsign)") + } else { + print(" Callsign: MISSING 'e' field") + } + // Check if it's a chat or mapitem document + if doc.value["message"] != nil || doc.value["msg"] != nil { + print(" This is a CHAT document") + } + if doc.value["c"] != nil { // mapitem has 'c' field for name + print(" This is a MAPITEM document") + } + // Show first few fields + print(" Fields: \(Array(doc.value.keys).prefix(10).sorted())") + } + + // Filter out stale events + let now = Date().timeIntervalSince1970 * 1000 // Convert to milliseconds + let activeEvents = docs.filter { doc in + // Check if document has stale time (field 'o' for cot_events, 'c' for other collections) + if let staleMillis = (doc.value["o"] ?? doc.value["c"]) as? Double { + let isActive = staleMillis > now + if !isActive { + print(" โฐ Filtering out stale event: \(doc.id) (stale: \(Date(timeIntervalSince1970: staleMillis/1000)))") + } + return isActive + } + // If no stale time, include it + return true + } + + print("โœ… Filtered to \(activeEvents.count) active events (from \(docs.count) total)") + + // Log first few events for debugging + for (index, event) in activeEvents.prefix(5).enumerated() { + print(" ๐Ÿ“„ Active Event \(index): \(event.id)") + if let type = event.value["w"] as? String { + print(" Type: \(type)") + } + if let callsign = event.value["e"] as? String { + print(" Callsign: \(callsign)") + } + if let bField = event.value["b"] { + print(" b field: \(bField) (type: \(Swift.type(of: bField)))") + } + + // Check if it's being filtered out somewhere + if event.value["msg"] != nil { + print(" This is a CHAT document with msg field") + } + } + + DispatchQueue.main.async { + self?.events = activeEvents + self?.error = nil + print("โœ… Updated CoTObservable.events array with \(activeEvents.count) active events") + print(" Publishing to subscribers...") + } + } + print("๐Ÿ”ง Live query observer setup complete") + + // Also do an immediate query to see what's already there + let currentDocs = collection.find("_r != true").exec() + print("๐Ÿ—‚๏ธ Current documents in collection: \(currentDocs.count)") + + // Filter out stale events + let now = Date().timeIntervalSince1970 * 1000 + let activeEvents = currentDocs.filter { doc in + if let staleMillis = (doc.value["o"] ?? doc.value["c"]) as? Double { + return staleMillis > now + } + return true + } + + print("๐Ÿ—‚๏ธ Active documents after filtering: \(activeEvents.count)") + DispatchQueue.main.async { + self.events = activeEvents + } + } + + private func setupPresenceObserver() { + print("๐Ÿ‘ฅ Setting up presence observer") + + // Try to use Ditto's presence API + presenceObserver = dittoCoT.ditto.presence.observe { [weak self] graph in + let remotePeers = Array(graph.remotePeers) + + // Only log if peer count changes + if remotePeers.count != self?.connectedPeers.count { + print("๐Ÿ‘ฅ Presence updated: \(remotePeers.count) remote peer(s)") + for peer in remotePeers { + let connectionType = peer.connections.first?.type + let connectionStr = connectionType != nil ? String(describing: connectionType!) : "unknown" + print(" โ€ข \(peer.deviceName) via \(connectionStr)") + } + } + + DispatchQueue.main.async { + self?.connectedPeers = remotePeers + self?.isConnected = !remotePeers.isEmpty + } + } + + // Also set up a timer for basic connectivity monitoring + Timer.publish(every: 5.0, on: .main, in: .common) + .autoconnect() + .sink { [weak self] _ in + self?.updateConnectivityStatus() + } + .store(in: &cancellables) + } + + private func setupConnectivityMonitoring() { + // Monitor transport conditions + Timer.publish(every: 5.0, on: .main, in: .common) + .autoconnect() + .sink { [weak self] _ in + // Update connectivity status based on Ditto's state + self?.updateConnectivityStatus() + } + .store(in: &cancellables) + } + + private func updateConnectivityStatus() { + // Check if we have any active peers or local connectivity + let hasActivePeers = !connectedPeers.isEmpty + // Simplified connectivity check - assume connected if we have events + let hasRecentActivity = !events.isEmpty + + isConnected = hasActivePeers || hasRecentActivity + } + + private func cleanup() { + print("๐Ÿงน Cleaning up subscriptions and observers") + subscription?.cancel() + additionalSubscriptions.forEach { $0.cancel() } + additionalSubscriptions.removeAll() + liveQuery?.stop() + additionalLiveQueries.forEach { $0.stop() } + additionalLiveQueries.removeAll() + // presenceObserver cleanup will be handled by cancellables + presenceObserver = nil + cancellables.removeAll() + } + + /// Start all subscriptions and observers + public func startObserving() { + if subscription == nil { + setupLiveQueries() + } + setupPresenceObserver() + } + + /// Stop all subscriptions and observers + public func stopObserving() { + cleanup() + } +} \ No newline at end of file diff --git a/swift/Sources/DittoCoT/DittoCoT.swift b/swift/Sources/DittoCoT/DittoCoT.swift new file mode 100644 index 0000000..e974652 --- /dev/null +++ b/swift/Sources/DittoCoT/DittoCoT.swift @@ -0,0 +1,235 @@ +import Foundation +import DittoSwift +import DittoCoTCore + +/// Main DittoCoT integration module +public class DittoCoT { + + // MARK: - Properties + + public let ditto: Ditto + private let converter: CoTDocumentConverter + public let collectionName: String + + // MARK: - Initialization + + public init( + ditto: Ditto, + peerKey: String? = nil, + collectionName: String = "cot_events" + ) { + self.ditto = ditto + self.collectionName = collectionName + + // Use provided peer key or generate from Ditto + let key = peerKey ?? ditto.siteID.description + self.converter = CoTDocumentConverter(peerKey: key) + } + + // MARK: - Document Operations + + /// Insert a CoT event into Ditto + public func insert(_ event: CoTEvent) async throws -> String { + let conversionResult = converter.convert(event) + + switch conversionResult { + case .success(let document): + // Determine collection based on document type and content + let targetCollection = determineCollection(for: event, document: document) + let collection = ditto.store.collection(targetCollection) + let dittoDoc = document.toDittoDocument() + + print("๐Ÿ“ค Inserting document to '\(targetCollection)' collection") + + return try await withCheckedThrowingContinuation { continuation in + do { + let docID = try collection.upsert(dittoDoc) + continuation.resume(returning: docID.description) + } catch { + continuation.resume(throwing: error) + } + } + + case .failure(let error): + throw error + } + } + + /// Determine the appropriate collection for a CoT event + private func determineCollection(for event: CoTEvent, document: DittoDocumentProtocol) -> String { + // Chat messages go to "chat" collection + if event.type.hasPrefix("b-t-f") { + return "chat" + } + + // Check if this is a track (following Java implementation logic) + if isTrackEvent(event) { + return "track" + } + + // Map items go to "mapitem" collection + if isMapItemEvent(event) { + return "mapitem" + } + + // Default to the configured collection name (usually "cot_events") + return collectionName + } + + /// Check if event should be treated as a track + private func isTrackEvent(_ event: CoTEvent) -> Bool { + // Check if document contains track data in detail + if let detail = event.detail, + let _ = detail.getValue(at: "track") { + return true + } + + // Check if the CoT type indicates this is a moving entity (track/PLI) + let type = event.type + + // Track type patterns (following Java implementation) + let trackPatterns = [ + "a-f-S", // Friendly surface units (like USVs) + "a-f-A", // Friendly air units + "a-f-G", // Friendly ground units + "a-h-S", // Hostile surface units + "a-h-A", // Hostile air units + "a-h-G", // Hostile ground units + "a-n-S", // Neutral surface units + "a-n-A", // Neutral air units + "a-n-G", // Neutral ground units + "a-u-S", // Unknown surface units + "a-u-A", // Unknown air units + "a-u-G", // Unknown ground units + "a-u-r-loc" // Location reports + ] + + return trackPatterns.contains { type.contains($0) } + } + + /// Check if event is a map item + private func isMapItemEvent(_ event: CoTEvent) -> Bool { + // Check if this is a map item event based on type + let type = event.type + + // Common map item prefixes + let mapItemPrefixes = ["a-", "a-f", "a-h", "a-n", "a-u"] + return mapItemPrefixes.contains { type.hasPrefix($0) } + } + + /// Insert multiple CoT events into Ditto + public func insertBatch(_ events: [CoTEvent]) async throws -> [String] { + var documentIDs: [String] = [] + + for event in events { + let docID = try await insert(event) + documentIDs.append(docID) + } + + return documentIDs + } + + /// Update an existing CoT event in Ditto + public func update(_ event: CoTEvent) async throws -> String { + let uid = event.uid + + let conversionResult = converter.convert(event) + + switch conversionResult { + case .success(let document): + // Determine collection based on document type and content + let targetCollection = determineCollection(for: event, document: document) + let collection = ditto.store.collection(targetCollection) + let dittoDoc = document.toDittoDocument() + + // Update document counter for existing documents using DQL + let queryResult = try await ditto.store.execute(query: "SELECT * FROM \(targetCollection) WHERE _id == '\(uid)'") + let existingDocs = queryResult.items + + var updatedDoc = dittoDoc + if let existing = existingDocs.first, + let counter = existing.value["_c"] as? Int64 { + updatedDoc["_c"] = counter + 1 + } + + let docID = try collection.upsert(updatedDoc) + return docID.description + + case .failure(let error): + throw error + } + } + + /// Remove a CoT event from Ditto (soft delete) + public func remove(uid: String) async throws { + let collection = ditto.store.collection(collectionName) + + // For now, we'll use a simpler approach - just upsert with _r = true + let deleteDoc: [String: Any?] = [ + "_id": uid, + "_r": true + ] + + try await withCheckedThrowingContinuation { (continuation: CheckedContinuation) in + do { + let _ = try collection.upsert(deleteDoc) + continuation.resume(returning: ()) + } catch { + continuation.resume(throwing: error) + } + } + } + + // MARK: - Query Operations + + /// Find CoT events by type + public func findByType(_ type: String) async throws -> [DittoSwift.DittoDocument] { + let queryResult = try await ditto.store.execute(query: "SELECT * FROM \(collectionName) WHERE w == '\(type)' AND _r != true") + let collection = ditto.store.collection(collectionName) + return queryResult.items.compactMap { item in + if let id = item.value["_id"] as? String { + return collection.findByID(DittoDocumentID(value: id)).exec() + } + return nil + } + } + + /// Find CoT events by callsign + public func findByCallsign(_ callsign: String) async throws -> [DittoSwift.DittoDocument] { + let queryResult = try await ditto.store.execute(query: "SELECT * FROM \(collectionName) WHERE e == '\(callsign)' AND _r != true") + let collection = ditto.store.collection(collectionName) + return queryResult.items.compactMap { item in + if let id = item.value["_id"] as? String { + return collection.findByID(DittoDocumentID(value: id)).exec() + } + return nil + } + } + + /// Find all active CoT events + public func findAll() async throws -> [DittoSwift.DittoDocument] { + let queryResult = try await ditto.store.execute(query: "SELECT * FROM \(collectionName) WHERE _r != true") + let collection = ditto.store.collection(collectionName) + return queryResult.items.compactMap { item in + if let id = item.value["_id"] as? String { + return collection.findByID(DittoDocumentID(value: id)).exec() + } + return nil + } + } + + /// Find CoT events within a time range + public func findByTimeRange(from: Date, to: Date) async throws -> [DittoSwift.DittoDocument] { + let fromMillis = from.timeIntervalSince1970 * 1000 + let toMillis = to.timeIntervalSince1970 * 1000 + + let queryResult = try await ditto.store.execute(query: "SELECT * FROM \(collectionName) WHERE b >= \(fromMillis) AND b <= \(toMillis) AND _r != true") + let collection = ditto.store.collection(collectionName) + return queryResult.items.compactMap { item in + if let id = item.value["_id"] as? String { + return collection.findByID(DittoDocumentID(value: id)).exec() + } + return nil + } + } +} \ No newline at end of file diff --git a/swift/Sources/DittoCoT/DittoDocumentProtocol.swift b/swift/Sources/DittoCoT/DittoDocumentProtocol.swift new file mode 100644 index 0000000..d7b13c7 --- /dev/null +++ b/swift/Sources/DittoCoT/DittoDocumentProtocol.swift @@ -0,0 +1,382 @@ +import Foundation +import DittoSwift + +/// Protocol defining the structure for Ditto documents +public protocol DittoDocumentProtocol { + var _id: String { get } + var a: String { get } // Ditto peer key string + var b: Double { get } // Millis since epoch + var d: String { get } // TAK UID of author + var _c: Int64 { get } // Document counter (updates) + var _r: Bool { get } // Soft-delete flag + var _v: Int64 { get } // Schema version (2) + var e: String { get } // Callsign of author + + func toDittoDocument() -> [String: Any?] +} + +// MARK: - Document Types + +/// MapItem document structure for location updates +public struct MapItemDocument: DittoDocumentProtocol, Codable { + public let _id: String + public let a: String // Ditto peer key + public let b: Double // Time in millis + public let d: String // TAK UID of author + public let _c: Int64 // Document counter + public let _r: Bool // Soft-delete flag + public let _v: Int64 // Schema version (2) + public let e: String // Callsign of author + + // Optional fields + public let c: String? // Name or title + public let f: Bool? // Visibility flag + public let g: String // Version + public let h: Double? // CE + public let i: Double? // HAE + public let j: Double? // LAT + public let k: Double? // LE + public let l: Double? // LON + public let n: Double? // Start + public let o: Double? // Stale + public let p: String // How + public let q: String // Access + public let r: [String: RValue] // Detail fields + public let s: String // Opex + public let source: String? + public let t: String // Qos + public let u: String // Caveat + public let v: String // Releasable to + public let w: String // Type + + public func toDittoDocument() -> [String: Any?] { + var doc: [String: Any?] = [ + "_id": _id, + "a": a, + "b": b, + "d": d, + "_c": _c, + "_r": _r, + "_v": _v, + "e": e, + "g": g, + "p": p, + "q": q, + "s": s, + "t": t, + "u": u, + "v": v, + "w": w + ] + + // Add optional fields + if let c = c { doc["c"] = c } + if let f = f { doc["f"] = f } + if let h = h { doc["h"] = h } + if let i = i { doc["i"] = i } + if let j = j { doc["j"] = j } + if let k = k { doc["k"] = k } + if let l = l { doc["l"] = l } + if let n = n { doc["n"] = n } + if let o = o { doc["o"] = o } + if let source = source { doc["source"] = source } + + // Convert r field + if !r.isEmpty { + doc["r"] = r.mapValues { $0.toAny() } + } + + return doc + } +} + +/// Chat document structure +public struct ChatDocument: DittoDocumentProtocol, Codable { + public let _id: String + public let a: String + public let b: Double + public let d: String + public let _c: Int64 + public let _r: Bool + public let _v: Int64 + public let e: String + + // Chat-specific fields + public let authorCallsign: String? + public let authorType: String? + public let authorUid: String? + public let g: String + public let h: Double? + public let i: Double? + public let j: Double? + public let k: Double? + public let l: Double? + public let location: String? + public let message: String? + public let n: Double? + public let o: Double? + public let p: String + public let parent: String? + public let q: String + public let r: [String: RValue] + public let room: String? + public let roomId: String? + public let s: String + public let source: String? + public let t: String + public let time: String? + public let u: String + public let v: String + public let w: String + + public func toDittoDocument() -> [String: Any?] { + var doc: [String: Any?] = [ + "_id": _id, + "a": a, + "b": b, + "d": d, + "_c": _c, + "_r": _r, + "_v": _v, + "e": e, + "g": g, + "p": p, + "q": q, + "s": s, + "t": t, + "u": u, + "v": v, + "w": w + ] + + // Add optional fields + if let authorCallsign = authorCallsign { doc["authorCallsign"] = authorCallsign } + if let authorType = authorType { doc["authorType"] = authorType } + if let authorUid = authorUid { doc["authorUid"] = authorUid } + if let h = h { doc["h"] = h } + if let i = i { doc["i"] = i } + if let j = j { doc["j"] = j } + if let k = k { doc["k"] = k } + if let l = l { doc["l"] = l } + if let location = location { doc["location"] = location } + if let message = message { doc["message"] = message } + if let n = n { doc["n"] = n } + if let o = o { doc["o"] = o } + if let parent = parent { doc["parent"] = parent } + if let room = room { doc["room"] = room } + if let roomId = roomId { doc["roomId"] = roomId } + if let source = source { doc["source"] = source } + if let time = time { doc["time"] = time } + + // Convert r field + if !r.isEmpty { + doc["r"] = r.mapValues { $0.toAny() } + } + + return doc + } +} + +/// Generic document structure +public struct GenericDocument: DittoDocumentProtocol, Codable { + public let _id: String + public let a: String + public let b: Double + public let d: String + public let _c: Int64 + public let _r: Bool + public let _v: Int64 + public let e: String + public let g: String + public let h: Double? + public let i: Double? + public let j: Double? + public let k: Double? + public let l: Double? + public let n: Double? + public let o: Double? + public let p: String + public let q: String + public let r: [String: RValue] + public let s: String + public let source: String? + public let t: String + public let u: String + public let v: String + public let w: String + + public func toDittoDocument() -> [String: Any?] { + var doc: [String: Any?] = [ + "_id": _id, + "a": a, + "b": b, + "d": d, + "_c": _c, + "_r": _r, + "_v": _v, + "e": e, + "g": g, + "p": p, + "q": q, + "s": s, + "t": t, + "u": u, + "v": v, + "w": w + ] + + // Add optional fields + if let h = h { doc["h"] = h } + if let i = i { doc["i"] = i } + if let j = j { doc["j"] = j } + if let k = k { doc["k"] = k } + if let l = l { doc["l"] = l } + if let n = n { doc["n"] = n } + if let o = o { doc["o"] = o } + if let source = source { doc["source"] = source } + + // Convert r field + if !r.isEmpty { + doc["r"] = r.mapValues { $0.toAny() } + } + + return doc + } +} + +// MARK: - RValue Type + +/// Dynamic value type for the 'r' field in documents +public enum RValue: Codable { + case null + case boolean(Bool) + case number(Double) + case string(String) + case object([String: Any]) + case array([Any]) + + public init(from decoder: Decoder) throws { + let container = try decoder.singleValueContainer() + + if container.decodeNil() { + self = .null + } else if let bool = try? container.decode(Bool.self) { + self = .boolean(bool) + } else if let number = try? container.decode(Double.self) { + self = .number(number) + } else if let string = try? container.decode(String.self) { + self = .string(string) + } else if let array = try? container.decode([JSONAny].self) { + self = .array(array.map { $0.value }) + } else if let object = try? container.decode([String: JSONAny].self) { + self = .object(object.mapValues { $0.value }) + } else { + throw DecodingError.dataCorruptedError( + in: container, + debugDescription: "Cannot decode RValue" + ) + } + } + + public func encode(to encoder: Encoder) throws { + var container = encoder.singleValueContainer() + + switch self { + case .null: + try container.encodeNil() + case .boolean(let value): + try container.encode(value) + case .number(let value): + try container.encode(value) + case .string(let value): + try container.encode(value) + case .object(let value): + let jsonAny = value.mapValues { JSONAny($0) } + try container.encode(jsonAny) + case .array(let value): + let jsonAny = value.map { JSONAny($0) } + try container.encode(jsonAny) + } + } + + func toAny() -> Any? { + switch self { + case .null: + return nil + case .boolean(let value): + return value + case .number(let value): + return value + case .string(let value): + return value + case .object(let value): + return value + case .array(let value): + return value + } + } +} + +// MARK: - Helper Types + +private struct JSONAny: Codable { + let value: Any + + init(_ value: Any) { + self.value = value + } + + init(from decoder: Decoder) throws { + let container = try decoder.singleValueContainer() + + if container.decodeNil() { + value = NSNull() + } else if let bool = try? container.decode(Bool.self) { + value = bool + } else if let int = try? container.decode(Int.self) { + value = int + } else if let double = try? container.decode(Double.self) { + value = double + } else if let string = try? container.decode(String.self) { + value = string + } else if let array = try? container.decode([JSONAny].self) { + value = array.map { $0.value } + } else if let dict = try? container.decode([String: JSONAny].self) { + value = dict.mapValues { $0.value } + } else { + throw DecodingError.dataCorruptedError( + in: container, + debugDescription: "Cannot decode JSONAny" + ) + } + } + + func encode(to encoder: Encoder) throws { + var container = encoder.singleValueContainer() + + switch value { + case is NSNull: + try container.encodeNil() + case let bool as Bool: + try container.encode(bool) + case let int as Int: + try container.encode(int) + case let double as Double: + try container.encode(double) + case let string as String: + try container.encode(string) + case let array as [Any]: + try container.encode(array.map { JSONAny($0) }) + case let dict as [String: Any]: + try container.encode(dict.mapValues { JSONAny($0) }) + default: + throw EncodingError.invalidValue( + value, + EncodingError.Context( + codingPath: [], + debugDescription: "Cannot encode value" + ) + ) + } + } +} \ No newline at end of file diff --git a/swift/Sources/DittoCoT/SwiftUI/CoTEventViewModel.swift b/swift/Sources/DittoCoT/SwiftUI/CoTEventViewModel.swift new file mode 100644 index 0000000..0d3fe99 --- /dev/null +++ b/swift/Sources/DittoCoT/SwiftUI/CoTEventViewModel.swift @@ -0,0 +1,448 @@ +import SwiftUI +import Combine +import CoreLocation +import DittoSwift +import DittoCoTCore + +/// SwiftUI view model for managing CoT events with reactive updates +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +@MainActor +public class CoTEventViewModel: ObservableObject { + + // MARK: - Published Properties + + @Published public private(set) var events: [CoTEventModel] = [] + @Published public private(set) var chatMessages: [ChatMessageModel] = [] + @Published public private(set) var locationUpdates: [LocationUpdateModel] = [] + @Published public private(set) var emergencyEvents: [EmergencyEventModel] = [] + @Published public private(set) var isConnected: Bool = false + @Published public private(set) var error: Error? + @Published public private(set) var isLoading: Bool = false + + // MARK: - Filter Properties + + @Published public var selectedCallsigns: Set = [] + @Published public var selectedEventTypes: Set = [] + @Published public var timeRangeFilter: TimeInterval = 3600 // 1 hour default + @Published public var searchText: String = "" + + // MARK: - Private Properties + + private let observable: CoTObservable + private var cancellables = Set() + + // MARK: - Computed Properties + + /// Filtered events based on current filter settings + public var filteredEvents: [CoTEventModel] { + events.filter { event in + // Callsign filter + if !selectedCallsigns.isEmpty && !selectedCallsigns.contains(event.callsign) { + return false + } + + // Event type filter + if !selectedEventTypes.isEmpty && !selectedEventTypes.contains(event.type) { + return false + } + + // Time range filter + let timeThreshold = Date().timeIntervalSince1970 - timeRangeFilter + if event.timestamp.timeIntervalSince1970 < timeThreshold { + return false + } + + // Search text filter + if !searchText.isEmpty { + let searchLower = searchText.lowercased() + return event.callsign.lowercased().contains(searchLower) || + event.type.lowercased().contains(searchLower) || + (event.remarks?.lowercased().contains(searchLower) ?? false) + } + + return true + } + } + + /// All unique callsigns in current events + public var availableCallsigns: [String] { + Array(Set(events.map(\.callsign))).sorted() + } + + /// All unique event types in current events + public var availableEventTypes: [String] { + Array(Set(events.map(\.type))).sorted() + } + + /// Events grouped by category for organized display + public var eventsByCategory: [EventCategory: [CoTEventModel]] { + Dictionary(grouping: filteredEvents) { $0.eventCategory } + } + + /// Recent chat messages (last 50) + public var recentChatMessages: [ChatMessageModel] { + Array(chatMessages.suffix(50)) + } + + /// Active emergency events only + public var activeEmergencyEvents: [EmergencyEventModel] { + emergencyEvents.filter(\.isActive) + } + + // MARK: - Initialization + + public init(observable: CoTObservable) { + self.observable = observable + setupObservables() + } + + // MARK: - Public Methods + + /// Refresh all events + public func refreshEvents() { + Task { + isLoading = true + observable.refreshAll() + isLoading = false + } + } + + /// Send a chat message + public func sendChatMessage( + message: String, + room: String = "Ditto", + callsign: String + ) async throws { + print("๐Ÿš€๐Ÿš€๐Ÿš€ NEW SENDCHATMESSAGE CALLED! Message: '\(message)' Room: '\(room)' Callsign: '\(callsign)'") + print("๐Ÿš€๐Ÿš€๐Ÿš€ This is the FIXED version that should use simple ATAK format!") + let chatDocumentId = "chat-\(UUID().uuidString)" + let chatDocument: [String: Any] = [ + "_id": chatDocumentId, + "_c": 0, + "_r": false, + "_v": 2, + "a": observable.dittoCoT.ditto.siteID.description, + "msg": message, + "room": room, + "roomId": "ChatContact-\(room)", + "parent": "RootContactGroup", + "e": callsign, + "d": chatDocumentId, + "b": Int64(Date().timeIntervalSince1970 * 1000) + ] + + let chatCollection = observable.dittoCoT.ditto.store.collection("chat") + let docId = try chatCollection.upsert(chatDocument) + print("๐ŸŸข CHAT SENT: \(message) -> \(docId)") + + // Force refresh to see the message immediately + observable.refreshAll() + } + + /// Send a location update + public func sendLocationUpdate( + callsign: String, + location: CLLocationCoordinate2D, + altitude: Double = 0, + accuracy: Double = 10 + ) async throws { + let locationEvent = try CoTEventBuilder() + .uid("\(callsign)-\(Date().timeIntervalSince1970)") + .type("a-f-G-U-C") + .how("m-g") + .point(CoTPoint( + lat: location.latitude, + lon: location.longitude, + hae: altitude, + ce: accuracy, + le: accuracy + )) + .detail(CoTDetail([ + "contact": [ + "callsign": callsign + ] + ])) + .build() + + _ = try await observable.insert(locationEvent) + } + + /// Send an emergency beacon + public func sendEmergencyBeacon( + callsign: String, + location: CLLocationCoordinate2D, + emergencyType: EmergencyType = .general + ) async throws { + let emergencyEvent = try CoTEventBuilder() + .uid("\(callsign)-emergency-\(Date().timeIntervalSince1970)") + .type("b-a-o-tbl") + .how("h-e") + .point(CoTPoint( + lat: location.latitude, + lon: location.longitude + )) + .detail(CoTDetail([ + "emergency": [ + "type": emergencyType.rawValue, + "callsign": callsign + ], + "contact": [ + "callsign": callsign + ] + ])) + .build() + + _ = try await observable.insert(emergencyEvent) + } + + /// Delete an event + public func deleteEvent(_ event: CoTEventModel) async throws { + try await observable.remove(uid: event.uid) + } + + // MARK: - Filter Methods + + public func toggleCallsignFilter(_ callsign: String) { + if selectedCallsigns.contains(callsign) { + selectedCallsigns.remove(callsign) + } else { + selectedCallsigns.insert(callsign) + } + } + + public func toggleEventTypeFilter(_ type: String) { + if selectedEventTypes.contains(type) { + selectedEventTypes.remove(type) + } else { + selectedEventTypes.insert(type) + } + } + + public func clearAllFilters() { + selectedCallsigns.removeAll() + selectedEventTypes.removeAll() + searchText = "" + timeRangeFilter = 3600 + } + + // MARK: - Private Methods + + private func setupObservables() { + // Connection status + observable.connectionPublisher + .receive(on: DispatchQueue.main) + .assign(to: \.isConnected, on: self) + .store(in: &cancellables) + + // Error handling + observable.errorPublisher + .receive(on: DispatchQueue.main) + .sink { [weak self] error in + self?.error = error + } + .store(in: &cancellables) + + // Events updates - Show ALL documents as raw events + observable.$events + .receive(on: DispatchQueue.main) + .map { docs in + print("๐Ÿ“Š CoTEventViewModel: Received \(docs.count) documents from observable") + print(" Document IDs: \(docs.map { $0.id })") + let models = docs.compactMap { doc -> CoTEventModel? in + // Create a raw event model for ALL documents + guard let uid = doc.value["_id"] as? String else { + print("โŒ Document missing _id: \(doc.id)") + return nil + } + + // Extract basic fields that all documents should have + let type = doc.value["w"] as? String ?? "unknown" + let callsign = doc.value["e"] as? String ?? doc.value["authorCallsign"] as? String ?? uid + + // Debug: Show what timestamp fields exist + print("๐Ÿ” Document \(uid) timestamp fields:") + if let b = doc.value["b"] { print(" b: \(b) (type: \(Swift.type(of: b)))") } + if let n = doc.value["n"] { print(" n: \(n) (type: \(Swift.type(of: n)))") } + if let time = doc.value["time"] { print(" time: \(time) (type: \(Swift.type(of: time)))") } + + // Get timestamp - try multiple fields + let timestamp: Date + if let timeString = doc.value["time"] as? String { + let formatter = ISO8601DateFormatter() + formatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds] + timestamp = formatter.date(from: timeString) ?? Date() + } else if let bValue = doc.value["b"] { + // 'b' field could be Int64, Int, or Double + let bMillis: Double + if let intValue = bValue as? Int64 { + bMillis = Double(intValue) + } else if let intValue = bValue as? Int { + bMillis = Double(intValue) + } else if let doubleValue = bValue as? Double { + bMillis = doubleValue + } else { + print("โš ๏ธ Could not convert 'b' field to number: \(bValue)") + bMillis = 0 + } + + if bMillis > 0 { + timestamp = Date(timeIntervalSince1970: bMillis / 1000.0) + print("๐Ÿ“Š Using 'b' field timestamp: \(bMillis) ms -> \(timestamp)") + } else { + timestamp = Date() + } + } else if let nValue = doc.value["n"] { + // 'n' field could be Int64, Int, or Double + let nNumeric: Double + if let intValue = nValue as? Int64 { + nNumeric = Double(intValue) + } else if let intValue = nValue as? Int { + nNumeric = Double(intValue) + } else if let doubleValue = nValue as? Double { + nNumeric = doubleValue + } else { + nNumeric = 0 + } + + if nNumeric > 0 { + // Check magnitude to determine units + if nNumeric > 1_000_000_000_000 { // Very large number, treat as microseconds for backward compatibility + timestamp = Date(timeIntervalSince1970: nNumeric / 1_000_000.0) + } else { // Likely milliseconds + timestamp = Date(timeIntervalSince1970: nNumeric / 1000.0) + } + } else { + timestamp = Date() + } + } else { + print("โš ๏ธ Document \(uid) has NO valid timestamp fields! Using current time as fallback") + timestamp = Date() + } + + // Get location or use default + let lat = doc.value["j"] as? Double ?? 0.0 + let lon = doc.value["l"] as? Double ?? 0.0 + let location = CLLocationCoordinate2D(latitude: lat, longitude: lon) + + // Get stale time + let staleTime: Date + if let oValue = doc.value["o"] as? Double, oValue > 0 { + // Check magnitude to determine units + if oValue > 1_000_000_000_000 { // Very large number, treat as microseconds for backward compatibility + staleTime = Date(timeIntervalSince1970: oValue / 1_000_000.0) + } else { // Likely milliseconds + staleTime = Date(timeIntervalSince1970: oValue / 1000.0) + } + } else { + staleTime = timestamp.addingTimeInterval(300) // 5 minutes default + } + + // Extract any remarks or message + let remarks = doc.value["message"] as? String ?? + doc.value["msg"] as? String ?? + doc.value["remarks"] as? String + + // Create raw event model with document data + let model = CoTEventModel( + uid: uid, + type: type, + callsign: callsign, + timestamp: timestamp, + location: location, + altitude: doc.value["i"] as? Double, + accuracy: doc.value["h"] as? Double, + staleTime: staleTime, + how: doc.value["p"] as? String ?? "h-g-i-g-o", + remarks: remarks, + rawDocumentData: doc.value as [String: Any] + ) + + print("โœ… Created raw event model for \(type) document: \(uid)") + print(" Timestamp: \(timestamp) (\(timestamp.timeIntervalSince1970))") + print(" Type: \(type), Callsign: \(callsign)") + return model + } + print("โœ… Successfully converted \(models.count) documents to raw event models") + return models.sorted { $0.timestamp > $1.timestamp } // Most recent first + } + .assign(to: \.events, on: self) + .store(in: &cancellables) + + // Chat messages + observable.chatMessagesPublisher + .receive(on: DispatchQueue.main) + .map { docs in + print("๐Ÿ’ฌ CoTEventViewModel: Processing \(docs.count) potential chat documents...") + let chatModels = docs.compactMap { doc -> ChatMessageModel? in + if let model = ChatMessageModel(from: doc) { + print(" โœ… Converted chat document: \(doc.id) -> \(model.from): \(model.message)") + print(" โœ… Chat message timestamp: \(model.timestamp)") + return model + } else { + print(" โŒ Failed to convert chat document: \(doc.id)") + print(" FULL CHAT DOCUMENT FIELDS:") + for (key, value) in doc.value.sorted(by: { $0.key < $1.key }) { + print(" \(key): \(type(of: value)) = \(value)") + } + return nil + } + } + print("๐Ÿ’ฌ Successfully converted \(chatModels.count) chat messages") + return chatModels.sorted { $0.timestamp < $1.timestamp } // Chronological order + } + .assign(to: \.chatMessages, on: self) + .store(in: &cancellables) + + // Location updates + observable.locationUpdatesPublisher + .receive(on: DispatchQueue.main) + .map { docs in + docs.compactMap { LocationUpdateModel(from: $0) } + .sorted { $0.timestamp > $1.timestamp } // Most recent first + } + .assign(to: \.locationUpdates, on: self) + .store(in: &cancellables) + + // Emergency events + observable.emergencyEventsPublisher + .receive(on: DispatchQueue.main) + .map { docs in + docs.compactMap { EmergencyEventModel(from: $0) } + .sorted { $0.timestamp > $1.timestamp } // Most recent first + } + .assign(to: \.emergencyEvents, on: self) + .store(in: &cancellables) + } +} + +// MARK: - Supporting Types + +public enum EmergencyType: String, CaseIterable, Identifiable { + case general = "general" + case medical = "medical" + case fire = "fire" + case police = "police" + case rescue = "rescue" + + public var id: String { rawValue } + + public var displayName: String { + switch self { + case .general: return "General Emergency" + case .medical: return "Medical Emergency" + case .fire: return "Fire Emergency" + case .police: return "Police Emergency" + case .rescue: return "Rescue Emergency" + } + } + + public var systemImage: String { + switch self { + case .general: return "exclamationmark.triangle.fill" + case .medical: return "cross.fill" + case .fire: return "flame.fill" + case .police: return "shield.fill" + case .rescue: return "lifepreserver.fill" + } + } +} \ No newline at end of file diff --git a/swift/Sources/DittoCoT/SwiftUI/Models/CoTEventModel.swift b/swift/Sources/DittoCoT/SwiftUI/Models/CoTEventModel.swift new file mode 100644 index 0000000..4e8db1e --- /dev/null +++ b/swift/Sources/DittoCoT/SwiftUI/Models/CoTEventModel.swift @@ -0,0 +1,552 @@ +import Foundation +import CoreLocation +import DittoSwift +import DittoCoTCore + +/// UI-friendly model for CoT events +public struct CoTEventModel: Identifiable, Hashable, Equatable { + public let id: String + public let uid: String + public let type: String + public let callsign: String + public let timestamp: Date + public let location: CLLocationCoordinate2D + public let altitude: Double? + public let accuracy: Double? + public let staleTime: Date + public let how: String + public let remarks: String? + public let isStale: Bool + public let eventCategory: EventCategory + public let rawDocumentData: [String: Any]? // Store raw document for JSON display + + public init( + uid: String, + type: String, + callsign: String, + timestamp: Date, + location: CLLocationCoordinate2D, + altitude: Double? = nil, + accuracy: Double? = nil, + staleTime: Date, + how: String, + remarks: String? = nil, + rawDocumentData: [String: Any]? = nil + ) { + self.id = uid + self.uid = uid + self.type = type + self.callsign = callsign + self.timestamp = timestamp + self.location = location + self.altitude = altitude + self.accuracy = accuracy + self.staleTime = staleTime + self.how = how + self.remarks = remarks + self.rawDocumentData = rawDocumentData + self.isStale = Date() > staleTime + self.eventCategory = EventCategory.from(type: type) + } +} + +extension CoTEventModel { + /// Create from Ditto document + public init?(from document: DittoSwift.DittoDocument) { + // Convert document to CoTEvent first + guard let cotEvent = CoTEvent(from: document) else { + print("โŒ CoTEventModel: Failed to convert document \(document.id) to CoTEvent") + // Log the document type to debug + if let type = document.value["w"] as? String { + print(" Document type: \(type)") + } + // Check if it's a chat document with msg/room fields + if document.value["msg"] != nil && document.value["room"] != nil { + print(" This is a chat document but failed CoTEvent conversion") + } + return nil + } + + // Store raw document data for JSON display + let rawData = document.value as [String: Any] + + // Now create model from CoTEvent with raw document data + self.init(from: cotEvent, rawDocumentData: rawData) + } + + /// Create from CoT Event + public init(from event: CoTEvent, rawDocumentData: [String: Any]? = nil) { + let location = CLLocationCoordinate2D( + latitude: event.point.lat, + longitude: event.point.lon + ) + + // Extract remarks from detail + var remarks: String? + if let detailDict = event.detail?.toDict(), + let remarksValue = detailDict["remarks"] { + if let remarksStr = remarksValue as? String { + remarks = remarksStr + } else if let remarksDict = remarksValue as? [String: Any], + let remarksText = remarksDict["_text"] as? String { + remarks = remarksText + } + } + + self.init( + uid: event.uid, + type: event.type, + callsign: Self.extractCallsign(from: event) ?? event.uid, + timestamp: event.time, + location: location, + altitude: event.point.hae > 0 ? event.point.hae : nil, + accuracy: event.point.ce > 0 ? event.point.ce : nil, + staleTime: event.stale, + how: event.how, + remarks: remarks, + rawDocumentData: rawDocumentData + ) + } + + private static func extractCallsign(from event: CoTEvent) -> String? { + guard let detailDict = event.detail?.toDict() else { return nil } + + // Check contact callsign + if let contact = detailDict["contact"] as? [String: Any], + let callsign = contact["callsign"] as? String { + return callsign + } + + // Check chat from field + if let chat = detailDict["chat"] as? [String: Any], + let from = chat["from"] as? String { + return from + } + + return nil + } + + // MARK: - Hashable & Equatable Implementation + + public func hash(into hasher: inout Hasher) { + hasher.combine(id) + hasher.combine(uid) + hasher.combine(type) + hasher.combine(callsign) + hasher.combine(timestamp) + hasher.combine(location.latitude) + hasher.combine(location.longitude) + hasher.combine(altitude) + hasher.combine(accuracy) + hasher.combine(staleTime) + hasher.combine(how) + hasher.combine(remarks) + hasher.combine(isStale) + hasher.combine(eventCategory) + // Note: Not hashing rawDocumentData as it's for display only and could be complex + } + + public static func == (lhs: CoTEventModel, rhs: CoTEventModel) -> Bool { + return lhs.id == rhs.id && + lhs.uid == rhs.uid && + lhs.type == rhs.type && + lhs.callsign == rhs.callsign && + lhs.timestamp == rhs.timestamp && + lhs.location.latitude == rhs.location.latitude && + lhs.location.longitude == rhs.location.longitude && + lhs.altitude == rhs.altitude && + lhs.accuracy == rhs.accuracy && + lhs.staleTime == rhs.staleTime && + lhs.how == rhs.how && + lhs.remarks == rhs.remarks && + lhs.isStale == rhs.isStale && + lhs.eventCategory == rhs.eventCategory + // Note: Not comparing rawDocumentData as it's for display only + } + + /// Format the raw document data as pretty-printed JSON + public var formattedJSON: String { + guard let rawData = rawDocumentData else { + return "No raw document data available" + } + + do { + let jsonData = try JSONSerialization.data(withJSONObject: rawData, options: [.prettyPrinted, .sortedKeys]) + return String(data: jsonData, encoding: .utf8) ?? "Failed to format JSON" + } catch { + return "Failed to serialize JSON: \(error.localizedDescription)" + } + } +} + +/// Chat message model for UI +public struct ChatMessageModel: Identifiable, Hashable { + public let id: String + public let from: String + public let message: String + public let room: String + public let timestamp: Date + public let isFromCurrentUser: Bool + + public init( + id: String, + from: String, + message: String, + room: String, + timestamp: Date, + isFromCurrentUser: Bool = false + ) { + self.id = id + self.from = from + self.message = message + self.room = room + self.timestamp = timestamp + self.isFromCurrentUser = isFromCurrentUser + } +} + +extension ChatMessageModel { + /// Create from Ditto document + public init?(from document: DittoSwift.DittoDocument) { + guard let uid = document.value["_id"] as? String else { + return nil + } + + // Try direct chat document conversion (simple structure from ATAK/Liquid) + let message = document.value["msg"] as? String + let room = document.value["room"] as? String + let from = document.value["e"] as? String + + if let message = message, let room = room, let from = from { + print("๐Ÿ’ฌ Converting simple chat document \(uid): '\(message)' from: \(from) in: \(room)") + + // Get timestamp from 'b' field (milliseconds) + let timestamp: Date + if let bValue = document.value["b"] { + let bMillis: Double + if let intValue = bValue as? Int64 { + bMillis = Double(intValue) + } else if let intValue = bValue as? Int { + bMillis = Double(intValue) + } else if let doubleValue = bValue as? Double { + bMillis = doubleValue + } else { + print("โš ๏ธ Chat \(uid) 'b' field has unexpected type: \(Swift.type(of: bValue))") + bMillis = 0 + } + + if bMillis > 0 { + // 'b' field is in milliseconds for ATAK chat documents + timestamp = Date(timeIntervalSince1970: bMillis / 1000.0) + print("๐Ÿ’ฌ Chat \(uid) timestamp: \(bMillis) ms -> \(timestamp)") + } else { + timestamp = Date() + print("๐Ÿ’ฌ Chat \(uid) using current time (b field was 0)") + } + } else { + timestamp = Date() + print("๐Ÿ’ฌ Chat \(uid) using current time (no b field)") + } + + self.init( + id: uid, + from: from, + message: message, + room: room, + timestamp: timestamp + ) + return + } + + // Fallback: Try legacy message/room field names + let legacyMessage = document.value["message"] as? String + let legacyRoom = document.value["room"] as? String + let legacyFrom = document.value["e"] as? String ?? "Unknown" + + if let legacyMessage = legacyMessage, let legacyRoom = legacyRoom { + print("๐Ÿ’ฌ Converting legacy chat document \(uid): '\(legacyMessage)' from: \(legacyFrom) in: \(legacyRoom)") + + let timestamp: Date + if let bValue = document.value["b"] as? Double, bValue > 0 { + timestamp = Date(timeIntervalSince1970: bValue / 1000.0) + } else { + timestamp = Date() + } + + self.init( + id: uid, + from: legacyFrom, + message: legacyMessage, + room: legacyRoom, + timestamp: timestamp + ) + return + } + + // Last resort: Try CoT event conversion + guard let cotEvent = CoTEvent(from: document), + cotEvent.type.hasPrefix("b-t-f") else { + print("โŒ Failed to convert chat document \(uid): no valid chat fields found") + return nil + } + + // Extract chat details from CoT event + guard let detailDict = cotEvent.detail?.toDict(), + let chatDict = detailDict["chat"] as? [String: Any], + let cotFrom = chatDict["from"] as? String, + let cotMessage = chatDict["msg"] as? String else { + print("โŒ Failed to convert CoT chat document \(uid): missing chat details") + return nil + } + + let cotRoom = chatDict["room"] as? String ?? "Ditto" + + self.init( + id: cotEvent.uid, + from: cotFrom, + message: cotMessage, + room: cotRoom, + timestamp: cotEvent.time + ) + } +} + +/// Location update model for UI +public struct LocationUpdateModel: Identifiable, Hashable, Equatable { + public let id: String + public let callsign: String + public let location: CLLocationCoordinate2D + public let altitude: Double? + public let accuracy: Double? + public let timestamp: Date + public let speed: Double? + public let course: Double? + + public init( + id: String, + callsign: String, + location: CLLocationCoordinate2D, + altitude: Double? = nil, + accuracy: Double? = nil, + timestamp: Date, + speed: Double? = nil, + course: Double? = nil + ) { + self.id = id + self.callsign = callsign + self.location = location + self.altitude = altitude + self.accuracy = accuracy + self.timestamp = timestamp + self.speed = speed + self.course = course + } +} + +extension LocationUpdateModel { + /// Create from Ditto document + public init?(from document: DittoSwift.DittoDocument) { + guard let uid = document.value["_id"] as? String, + let callsign = document.value["e"] as? String, + let lat = document.value["j"] as? Double, + let lon = document.value["l"] as? Double else { + return nil + } + + // Get timestamp - prefer 'n' field (start time), fallback to 'b' + let timestampMillis: Double + if let nValue = document.value["n"] as? Double, nValue > 0 { + timestampMillis = nValue + } else if let bValue = document.value["b"] as? Double, bValue > 0 { + timestampMillis = bValue + } else { + return nil // Can't create location update without timestamp + } + + let location = CLLocationCoordinate2D(latitude: lat, longitude: lon) + let timestamp = Date(timeIntervalSince1970: timestampMillis / 1_000.0) // Convert milliseconds to seconds + let altitude = document.value["i"] as? Double + let accuracy = document.value["h"] as? Double + + // Extract speed and course from r field + var speed: Double? + var course: Double? + if let rField = document.value["r"] as? [String: Any], + let trackDict = rField["track"] as? [String: Any] { + speed = trackDict["speed"] as? Double + course = trackDict["course"] as? Double + } + + self.init( + id: uid, + callsign: callsign, + location: location, + altitude: altitude, + accuracy: accuracy, + timestamp: timestamp, + speed: speed, + course: course + ) + } + + // MARK: - Hashable & Equatable Implementation + + public func hash(into hasher: inout Hasher) { + hasher.combine(id) + hasher.combine(callsign) + hasher.combine(location.latitude) + hasher.combine(location.longitude) + hasher.combine(altitude) + hasher.combine(accuracy) + hasher.combine(timestamp) + hasher.combine(speed) + hasher.combine(course) + } + + public static func == (lhs: LocationUpdateModel, rhs: LocationUpdateModel) -> Bool { + return lhs.id == rhs.id && + lhs.callsign == rhs.callsign && + lhs.location.latitude == rhs.location.latitude && + lhs.location.longitude == rhs.location.longitude && + lhs.altitude == rhs.altitude && + lhs.accuracy == rhs.accuracy && + lhs.timestamp == rhs.timestamp && + lhs.speed == rhs.speed && + lhs.course == rhs.course + } +} + +/// Emergency event model for UI +public struct EmergencyEventModel: Identifiable, Hashable, Equatable { + public let id: String + public let callsign: String + public let emergencyType: String + public let location: CLLocationCoordinate2D + public let timestamp: Date + public let isActive: Bool + + public init( + id: String, + callsign: String, + emergencyType: String, + location: CLLocationCoordinate2D, + timestamp: Date, + isActive: Bool = true + ) { + self.id = id + self.callsign = callsign + self.emergencyType = emergencyType + self.location = location + self.timestamp = timestamp + self.isActive = isActive + } +} + +extension EmergencyEventModel { + /// Create from Ditto document + public init?(from document: DittoSwift.DittoDocument) { + guard let uid = document.value["_id"] as? String, + let callsign = document.value["e"] as? String, + let lat = document.value["j"] as? Double, + let lon = document.value["l"] as? Double, + let timestampMillis = document.value["b"] as? Double, + let type = document.value["w"] as? String, + type.contains("emergency") || type.contains("911") else { + return nil + } + + let location = CLLocationCoordinate2D(latitude: lat, longitude: lon) + let timestamp = Date(timeIntervalSince1970: timestampMillis / 1_000.0) // Convert milliseconds to seconds + + // Extract emergency type from r field + var emergencyType = "general" + if let rField = document.value["r"] as? [String: Any], + let emergencyDict = rField["emergency"] as? [String: Any], + let type = emergencyDict["type"] as? String { + emergencyType = type + } + + let isActive = !(document.value["_r"] as? Bool ?? false) + + self.init( + id: uid, + callsign: callsign, + emergencyType: emergencyType, + location: location, + timestamp: timestamp, + isActive: isActive + ) + } + + // MARK: - Hashable & Equatable Implementation + + public func hash(into hasher: inout Hasher) { + hasher.combine(id) + hasher.combine(callsign) + hasher.combine(emergencyType) + hasher.combine(location.latitude) + hasher.combine(location.longitude) + hasher.combine(timestamp) + hasher.combine(isActive) + } + + public static func == (lhs: EmergencyEventModel, rhs: EmergencyEventModel) -> Bool { + return lhs.id == rhs.id && + lhs.callsign == rhs.callsign && + lhs.emergencyType == rhs.emergencyType && + lhs.location.latitude == rhs.location.latitude && + lhs.location.longitude == rhs.location.longitude && + lhs.timestamp == rhs.timestamp && + lhs.isActive == rhs.isActive + } +} + +/// Event category for UI organization +public enum EventCategory: String, CaseIterable, Identifiable { + case friendly = "friendly" + case hostile = "hostile" + case neutral = "neutral" + case unknown = "unknown" + case chat = "chat" + case emergency = "emergency" + + public var id: String { rawValue } + + public var displayName: String { + switch self { + case .friendly: return "Friendly" + case .hostile: return "Hostile" + case .neutral: return "Neutral" + case .unknown: return "Unknown" + case .chat: return "Chat" + case .emergency: return "Emergency" + } + } + + public var systemImage: String { + switch self { + case .friendly: return "checkmark.shield.fill" + case .hostile: return "xmark.shield.fill" + case .neutral: return "minus.circle.fill" + case .unknown: return "questionmark.circle.fill" + case .chat: return "message.fill" + case .emergency: return "exclamationmark.triangle.fill" + } + } + + static func from(type: String) -> EventCategory { + if type.hasPrefix("b-t-f") { + return .chat + } else if type.contains("emergency") || type.contains("911") { + return .emergency + } else if type.hasPrefix("a-f") { + return .friendly + } else if type.hasPrefix("a-h") { + return .hostile + } else if type.hasPrefix("a-n") { + return .neutral + } else { + return .unknown + } + } +} \ No newline at end of file diff --git a/swift/Sources/DittoCoT/SwiftUI/Utilities/CoTBinding.swift b/swift/Sources/DittoCoT/SwiftUI/Utilities/CoTBinding.swift new file mode 100644 index 0000000..2eab59c --- /dev/null +++ b/swift/Sources/DittoCoT/SwiftUI/Utilities/CoTBinding.swift @@ -0,0 +1,302 @@ +import SwiftUI +import Combine +import DittoSwift +import DittoCoTCore + +/// SwiftUI-specific binding utilities for CoT events +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +public class CoTBinding: ObservableObject { + + // MARK: - Reactive Properties + + /// Real-time count of active events + @Published public private(set) var eventCount: Int = 0 + + /// Real-time count of chat messages + @Published public private(set) var chatMessageCount: Int = 0 + + /// Real-time count of emergency events + @Published public private(set) var emergencyCount: Int = 0 + + /// Most recent event timestamp + @Published public private(set) var lastEventTime: Date? + + /// Connection health status + @Published public private(set) var connectionHealth: ConnectionHealth = .unknown + + /// Active callsigns + @Published public private(set) var activeCallsigns: Set = [] + + // MARK: - Private Properties + + private let observable: CoTObservable + private var cancellables = Set() + + // MARK: - Initialization + + public init(observable: CoTObservable) { + self.observable = observable + setupBindings() + } + + // MARK: - Computed Properties + + /// Formatted event count string for UI display + public var eventCountText: String { + eventCount == 1 ? "1 event" : "\(eventCount) events" + } + + /// Formatted chat count string for UI display + public var chatCountText: String { + chatMessageCount == 1 ? "1 message" : "\(chatMessageCount) messages" + } + + /// Formatted emergency count string for UI display + public var emergencyCountText: String { + emergencyCount == 0 ? "No emergencies" : + emergencyCount == 1 ? "1 emergency" : "\(emergencyCount) emergencies" + } + + /// Connection status icon name + public var connectionIcon: String { + switch connectionHealth { + case .excellent: return "wifi" + case .good: return "wifi" + case .poor: return "wifi.exclamationmark" + case .disconnected: return "wifi.slash" + case .unknown: return "questionmark.circle" + } + } + + /// Connection status color + public var connectionColor: Color { + switch connectionHealth { + case .excellent: return .green + case .good: return .blue + case .poor: return .orange + case .disconnected: return .red + case .unknown: return .gray + } + } + + // MARK: - Binding Methods + + /// Create a binding for filtering events by callsign + public func callsignFilterBinding(for callsign: String) -> Binding { + Binding( + get: { [weak self] in + // This would integrate with a filter system + self?.activeCallsigns.contains(callsign) ?? false + }, + set: { [weak self] isSelected in + if isSelected { + self?.activeCallsigns.insert(callsign) + } else { + self?.activeCallsigns.remove(callsign) + } + } + ) + } + + /// Create a binding for real-time event updates + public func eventPublisher(for eventType: String) -> AnyPublisher<[CoTEventModel], Never> { + observable.$events + .map { documents in + documents.compactMap { CoTEventModel(from: $0) } + .filter { $0.type == eventType } + } + .eraseToAnyPublisher() + } + + /// Create a publisher for location updates of a specific callsign + public func locationPublisher(for callsign: String) -> AnyPublisher { + observable.locationUpdatesPublisher + .map { documents in + documents.compactMap { LocationUpdateModel(from: $0) } + .first { $0.callsign == callsign } + } + .eraseToAnyPublisher() + } + + // MARK: - Private Methods + + private func setupBindings() { + // Event count binding + observable.$events + .map { $0.count } + .receive(on: DispatchQueue.main) + .assign(to: \.eventCount, on: self) + .store(in: &cancellables) + + // Chat message count binding + observable.chatMessagesPublisher + .map { $0.count } + .receive(on: DispatchQueue.main) + .assign(to: \.chatMessageCount, on: self) + .store(in: &cancellables) + + // Emergency count binding + observable.emergencyEventsPublisher + .map { $0.count } + .receive(on: DispatchQueue.main) + .assign(to: \.emergencyCount, on: self) + .store(in: &cancellables) + + // Last event time binding + observable.$events + .compactMap { documents in + documents.compactMap { CoTEventModel(from: $0) } + .map(\.timestamp) + .max() + } + .receive(on: DispatchQueue.main) + .assign(to: \.lastEventTime, on: self) + .store(in: &cancellables) + + // Active callsigns binding + observable.$events + .map { documents in + Set(documents.compactMap { CoTEventModel(from: $0) } + .map(\.callsign)) + } + .receive(on: DispatchQueue.main) + .assign(to: \.activeCallsigns, on: self) + .store(in: &cancellables) + + // Connection health monitoring + setupConnectionHealthMonitoring() + } + + private func setupConnectionHealthMonitoring() { + // Combine connection status with event flow to determine health + Publishers.CombineLatest( + observable.connectionPublisher, + observable.$events.map { _ in Date() } + ) + .debounce(for: .seconds(2), scheduler: DispatchQueue.main) + .map { isConnected, _ in + if !isConnected { + return ConnectionHealth.disconnected + } + + // Could add more sophisticated health checks here + // For now, connected = good + return ConnectionHealth.good + } + .receive(on: DispatchQueue.main) + .assign(to: \.connectionHealth, on: self) + .store(in: &cancellables) + } +} + +// MARK: - Supporting Types + +public enum ConnectionHealth: String, CaseIterable { + case excellent = "excellent" + case good = "good" + case poor = "poor" + case disconnected = "disconnected" + case unknown = "unknown" + + public var displayName: String { + switch self { + case .excellent: return "Excellent" + case .good: return "Good" + case .poor: return "Poor" + case .disconnected: return "Disconnected" + case .unknown: return "Unknown" + } + } +} + +// MARK: - SwiftUI Environment + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +public struct CoTBindingKey: EnvironmentKey { + public static let defaultValue: CoTBinding? = nil +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +public extension EnvironmentValues { + var cotBinding: CoTBinding? { + get { self[CoTBindingKey.self] } + set { self[CoTBindingKey.self] = newValue } + } +} + +// MARK: - View Modifiers + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +public extension View { + /// Inject CoT binding into the environment + func cotBinding(_ binding: CoTBinding) -> some View { + environment(\.cotBinding, binding) + } + + /// Auto-refresh when events change + func cotAutoRefresh( + on keyPath: KeyPath, + binding: CoTBinding, + perform action: @escaping () -> Void + ) -> some View { + onReceive(binding.publisher(for: keyPath).removeDuplicates()) { _ in + action() + } + } +} + +// MARK: - Publisher Extensions + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +extension CoTBinding { + /// Create a publisher for any property + public func publisher(for keyPath: KeyPath) -> AnyPublisher { + // For now, return a simple empty publisher - this needs more sophisticated implementation + return Empty() + .eraseToAnyPublisher() + } +} + +// MARK: - Convenience Bindings + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +public extension CoTBinding { + + /// Binding for search text with real-time filtering + func searchBinding( + initialValue: String = "", + onUpdate: @escaping (String) -> Void = { _ in } + ) -> Binding { + Binding( + get: { initialValue }, + set: { newValue in + onUpdate(newValue) + } + ) + } + + /// Binding for time range selection + func timeRangeBinding( + initialValue: TimeInterval = 3600, + onUpdate: @escaping (TimeInterval) -> Void = { _ in } + ) -> Binding { + Binding( + get: { initialValue }, + set: { newValue in + onUpdate(newValue) + } + ) + } + + /// Binding for emergency alert visibility + var showEmergencyAlert: Binding { + Binding( + get: { [weak self] in + (self?.emergencyCount ?? 0) > 0 + }, + set: { _ in + // Emergency alerts are read-only from the data + } + ) + } +} \ No newline at end of file diff --git a/swift/Sources/DittoCoT/SwiftUI/Views/CoTChatView.swift b/swift/Sources/DittoCoT/SwiftUI/Views/CoTChatView.swift new file mode 100644 index 0000000..0af563d --- /dev/null +++ b/swift/Sources/DittoCoT/SwiftUI/Views/CoTChatView.swift @@ -0,0 +1,307 @@ +import SwiftUI +#if os(macOS) +import AppKit +#endif + +/// SwiftUI view for CoT chat messaging +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +public struct CoTChatView: View { + @StateObject private var viewModel: CoTEventViewModel + @State private var messageText = "" + @Binding var currentCallsign: String + @State private var selectedRoom = "Ditto" + @FocusState private var isMessageFieldFocused: Bool + + public init(observable: CoTObservable, callsign: Binding) { + self._viewModel = StateObject(wrappedValue: CoTEventViewModel(observable: observable)) + self._currentCallsign = callsign + } + + // Legacy init for backward compatibility + public init(observable: CoTObservable) { + self._viewModel = StateObject(wrappedValue: CoTEventViewModel(observable: observable)) + self._currentCallsign = .constant("USER-1") + } + + public var body: some View { + VStack { + // Chat header + ChatHeader( + currentCallsign: $currentCallsign, + selectedRoom: $selectedRoom, + isConnected: viewModel.isConnected + ) + + // Messages list + ScrollViewReader { proxy in + ScrollView { + LazyVStack(spacing: 8) { + ForEach(viewModel.recentChatMessages) { message in + ChatMessageBubble( + message: message, + isFromCurrentUser: message.from == currentCallsign + ) + .id(message.id) + } + } + .padding(.horizontal) + } + .onChange(of: viewModel.recentChatMessages.count) { _ in + // Auto-scroll to bottom when new messages arrive + if let lastMessage = viewModel.recentChatMessages.last { + withAnimation(.easeOut(duration: 0.3)) { + proxy.scrollTo(lastMessage.id, anchor: .bottom) + } + } + } + } + + // Message input + MessageInputView( + messageText: $messageText, + isMessageFieldFocused: $isMessageFieldFocused, + onSend: sendMessage + ) + } + .navigationTitle("CoT Chat") + #if os(iOS) + .navigationBarTitleDisplayMode(.inline) + #endif + .onAppear { + viewModel.refreshEvents() + // Focus the message field when the view appears + DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { + isMessageFieldFocused = true + } + } + } + + private func sendMessage() { + guard !messageText.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty else { return } + + Task { + do { + try await viewModel.sendChatMessage( + message: messageText, + room: selectedRoom, + callsign: currentCallsign + ) + await MainActor.run { + messageText = "" + } + } catch { + // Handle error (could show alert) + print("Failed to send message: \(error)") + } + } + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct ChatHeader: View { + @Binding var currentCallsign: String + @Binding var selectedRoom: String + let isConnected: Bool + @State private var showingSettings = false + + var body: some View { + VStack(spacing: 8) { + HStack { + VStack(alignment: .leading, spacing: 2) { + Text("Room: \(selectedRoom)") + .font(.headline) + Text("Callsign: \(currentCallsign)") + .font(.caption) + .foregroundColor(.secondary) + } + + Spacer() + + ConnectionStatusView(isConnected: isConnected) + + Button("Settings") { + showingSettings = true + } + .font(.caption) + } + .padding(.horizontal) + + Divider() + } + #if os(iOS) + .background(Color(.systemGroupedBackground)) + #else + .background(Color(NSColor.controlBackgroundColor)) + #endif + .sheet(isPresented: $showingSettings) { + ChatSettingsView( + currentCallsign: $currentCallsign, + selectedRoom: $selectedRoom + ) + } + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct ChatMessageBubble: View { + let message: ChatMessageModel + let isFromCurrentUser: Bool + + var body: some View { + HStack { + if isFromCurrentUser { + Spacer() + } + + VStack(alignment: isFromCurrentUser ? .trailing : .leading, spacing: 4) { + if !isFromCurrentUser { + Text(message.from) + .font(.caption) + .fontWeight(.semibold) + .foregroundColor(.secondary) + } + + Text(message.message) + .padding(.horizontal, 12) + .padding(.vertical, 8) + .background( + isFromCurrentUser ? Color.blue : backgroundColorForMessage + ) + .foregroundColor( + isFromCurrentUser ? .white : .primary + ) + .cornerRadius(16) + + HStack(spacing: 2) { + Text(message.timestamp, style: .time) + Text("ยท") + Text(message.timestamp, style: .relative) + } + .font(.caption2) + .foregroundColor(.secondary) + } + .frame(maxWidth: 250, alignment: isFromCurrentUser ? .trailing : .leading) + + if !isFromCurrentUser { + Spacer() + } + } + } + + private var backgroundColorForMessage: Color { + #if os(iOS) + return Color(.systemGray5) + #else + return Color(NSColor.controlBackgroundColor) + #endif + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct MessageInputView: View { + @Binding var messageText: String + var isMessageFieldFocused: FocusState.Binding + let onSend: () -> Void + + var body: some View { + HStack(spacing: 8) { + TextField("Type a message...", text: $messageText) + .textFieldStyle(RoundedBorderTextFieldStyle()) + .focused(isMessageFieldFocused) + .onSubmit { + onSend() + } + #if os(macOS) + .frame(minHeight: 24) + #endif + + Button(action: onSend) { + Image(systemName: "arrow.up.circle.fill") + .font(.title2) + .foregroundColor(messageText.isEmpty ? .secondary : .blue) + } + .disabled(messageText.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty) + } + .padding(.horizontal) + .padding(.bottom, 8) + #if os(iOS) + .background(Color(.systemBackground)) + #else + .background(Color(NSColor.windowBackgroundColor)) + #endif + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct ChatSettingsView: View { + @Binding var currentCallsign: String + @Binding var selectedRoom: String + @Environment(\.dismiss) private var dismiss + + private let commonRooms = [ + "Ditto", + "Operations", + "Command", + "Logistics", + "Medical", + "Emergency" + ] + + var body: some View { + NavigationStack { + Form { + Section("User Settings") { + HStack { + Text("Callsign") + Spacer() + TextField("Enter callsign", text: $currentCallsign) + .textFieldStyle(RoundedBorderTextFieldStyle()) + #if os(iOS) + .autocapitalization(.allCharacters) + #endif + .frame(maxWidth: 120) + } + } + + Section("Chat Room") { + Picker("Room", selection: $selectedRoom) { + ForEach(commonRooms, id: \.self) { room in + Text(room).tag(room) + } + } + .pickerStyle(.menu) + } + + Section("Instructions") { + VStack(alignment: .leading, spacing: 8) { + Text("โ€ข Set your callsign to identify yourself in chat") + Text("โ€ข Select a room to join specific conversations") + Text("โ€ข Messages are synchronized across all connected devices") + Text("โ€ข Chat messages follow CoT protocol standards") + } + .font(.caption) + .foregroundColor(.secondary) + } + } + .navigationTitle("Chat Settings") + #if os(iOS) + .navigationBarTitleDisplayMode(.inline) + #endif + .toolbar { + #if os(iOS) + ToolbarItem(placement: .navigationBarTrailing) { + Button("Done") { + dismiss() + } + } + #else + ToolbarItem(placement: .confirmationAction) { + Button("Done") { + dismiss() + } + } + #endif + } + } + } +} \ No newline at end of file diff --git a/swift/Sources/DittoCoT/SwiftUI/Views/CoTEventListView.swift b/swift/Sources/DittoCoT/SwiftUI/Views/CoTEventListView.swift new file mode 100644 index 0000000..d0478b0 --- /dev/null +++ b/swift/Sources/DittoCoT/SwiftUI/Views/CoTEventListView.swift @@ -0,0 +1,449 @@ +import SwiftUI +import CoreLocation + +/// Main SwiftUI view for displaying CoT events in a list +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +public struct CoTEventListView: View { + @StateObject private var viewModel: CoTEventViewModel + @State private var showingFilters = false + @State private var selectedEvent: CoTEventModel? + @State private var showRawJSON = false + + public init(observable: CoTObservable) { + self._viewModel = StateObject(wrappedValue: CoTEventViewModel(observable: observable)) + } + + public var body: some View { + VStack { + // Search bar + SearchBar(text: $viewModel.searchText) + + // Event list + if viewModel.isLoading { + ProgressView("Loading events...") + .frame(maxWidth: .infinity, maxHeight: .infinity) + } else if viewModel.filteredEvents.isEmpty { + EmptyEventsView() + } else { + if let selectedEvent = selectedEvent, showRawJSON { + // Show split view with list on left and JSON on right + HStack(spacing: 0) { + // Event list + List { + ForEach(viewModel.filteredEvents) { event in + CoTEventRow(event: event) + .background(event.id == selectedEvent.id ? Color.accentColor.opacity(0.1) : Color.clear) + .onTapGesture { + self.selectedEvent = event + } + } + } + .frame(minWidth: 300, maxWidth: 400) + + Divider() + + // JSON view + VStack(alignment: .leading, spacing: 0) { + HStack { + Text("Raw Document: \(selectedEvent.callsign) (\(selectedEvent.type))") + .font(.headline) + .padding(.horizontal) + .padding(.vertical, 8) + Spacer() + Button("Close") { + showRawJSON = false + } + .padding(.trailing) + } + .background(Color.gray.opacity(0.1)) + + ScrollView { + Text(selectedEvent.formattedJSON) + .font(.system(.caption, design: .monospaced)) + .textSelection(.enabled) + .frame(maxWidth: .infinity, alignment: .leading) + .padding() + } + } + } + } else { + // Normal list view + List { + ForEach(viewModel.filteredEvents) { event in + CoTEventRow(event: event) + .onTapGesture { + selectedEvent = event + showRawJSON = true + } + .swipeActions(edge: .trailing, allowsFullSwipe: false) { + Button("Delete", role: .destructive) { + Task { + try? await viewModel.deleteEvent(event) + } + } + } + } + } + .refreshable { + viewModel.refreshEvents() + } + } + } + } + .navigationTitle("CoT Events") + .toolbar { + #if os(iOS) + ToolbarItem(placement: .navigationBarTrailing) { + Button("Filters") { + showingFilters = true + } + } + + ToolbarItem(placement: .navigationBarLeading) { + ConnectionStatusView(isConnected: viewModel.isConnected) + } + #else + ToolbarItem(placement: .primaryAction) { + Button("Filters") { + showingFilters = true + } + } + + ToolbarItem(placement: .status) { + ConnectionStatusView(isConnected: viewModel.isConnected) + } + #endif + } + .sheet(isPresented: $showingFilters) { + FilterView(viewModel: viewModel) + } + .alert("Error", isPresented: .constant(viewModel.error != nil)) { + Button("OK") { + // Error is automatically cleared + } + } message: { + Text(viewModel.error?.localizedDescription ?? "Unknown error") + } + } +} + +// MARK: - Supporting Views + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct SearchBar: View { + @Binding var text: String + + var body: some View { + HStack { + Image(systemName: "magnifyingglass") + .foregroundColor(.secondary) + + TextField("Search events...", text: $text) + .textFieldStyle(RoundedBorderTextFieldStyle()) + } + .padding(.horizontal) + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct EmptyEventsView: View { + var body: some View { + VStack(spacing: 16) { + Image(systemName: "antenna.radiowaves.left.and.right") + .font(.system(size: 60)) + .foregroundColor(.secondary) + + Text("No Events") + .font(.title2) + .fontWeight(.semibold) + + Text("Events will appear here when they are received") + .font(.body) + .foregroundColor(.secondary) + .multilineTextAlignment(.center) + } + .frame(maxWidth: .infinity, maxHeight: .infinity) + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct CategoryHeader: View { + let category: EventCategory + + var body: some View { + HStack { + Image(systemName: category.systemImage) + .foregroundColor(.accentColor) + Text(category.displayName) + .font(.headline) + } + } +} + +// ConnectionStatusView moved to PresenceGraphView.swift to avoid duplication + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct CoTEventRow: View { + let event: CoTEventModel + + var body: some View { + VStack(alignment: .leading, spacing: 4) { + HStack { + Image(systemName: event.eventCategory.systemImage) + .foregroundColor(.accentColor) + .frame(width: 20) + + Text(event.callsign) + .font(.headline) + .fontWeight(.semibold) + + Spacer() + + if event.isStale { + Text("STALE") + .font(.caption) + .padding(.horizontal, 6) + .padding(.vertical, 2) + .background(Color.red) + .foregroundColor(.white) + .cornerRadius(4) + } + + Text(event.timestamp.formatted(date: .abbreviated, time: .shortened)) + .font(.caption) + .foregroundColor(.secondary) + } + + HStack { + Text(event.type) + .font(.caption) + .padding(.horizontal, 6) + .padding(.vertical, 2) + .background(Color.secondary.opacity(0.2)) + .cornerRadius(4) + + Spacer() + + Text(coordinateString(event.location)) + .font(.caption) + .foregroundColor(.secondary) + } + + if let remarks = event.remarks { + Text(remarks) + .font(.caption) + .foregroundColor(.secondary) + .lineLimit(2) + } + } + .padding(.vertical, 2) + } + + private func coordinateString(_ coordinate: CLLocationCoordinate2D) -> String { + String(format: "%.4fยฐ, %.4fยฐ", coordinate.latitude, coordinate.longitude) + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct FilterView: View { + @ObservedObject var viewModel: CoTEventViewModel + @Environment(\.dismiss) private var dismiss + + var body: some View { + NavigationStack { + Form { + Section("Time Range") { + Picker("Time Range", selection: $viewModel.timeRangeFilter) { + Text("Last 15 minutes").tag(TimeInterval(900)) + Text("Last hour").tag(TimeInterval(3600)) + Text("Last 6 hours").tag(TimeInterval(21600)) + Text("Last 24 hours").tag(TimeInterval(86400)) + Text("All time").tag(TimeInterval.greatestFiniteMagnitude) + } + .pickerStyle(.menu) + } + + Section("Callsigns") { + ForEach(viewModel.availableCallsigns, id: \.self) { callsign in + Toggle(callsign, isOn: Binding( + get: { viewModel.selectedCallsigns.contains(callsign) }, + set: { _ in viewModel.toggleCallsignFilter(callsign) } + )) + } + } + + Section("Event Types") { + ForEach(viewModel.availableEventTypes, id: \.self) { type in + Toggle(type, isOn: Binding( + get: { viewModel.selectedEventTypes.contains(type) }, + set: { _ in viewModel.toggleEventTypeFilter(type) } + )) + } + } + } + .navigationTitle("Filters") + #if os(iOS) + .navigationBarTitleDisplayMode(.inline) + #endif + .toolbar { + #if os(iOS) + ToolbarItem(placement: .navigationBarLeading) { + Button("Clear All") { + viewModel.clearAllFilters() + } + } + + ToolbarItem(placement: .navigationBarTrailing) { + Button("Done") { + dismiss() + } + } + #else + ToolbarItem(placement: .cancellationAction) { + Button("Clear All") { + viewModel.clearAllFilters() + } + } + + ToolbarItem(placement: .confirmationAction) { + Button("Done") { + dismiss() + } + } + #endif + } + } + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct CoTEventDetailView: View { + let event: CoTEventModel + @Environment(\.dismiss) private var dismiss + + var body: some View { + NavigationStack { + ScrollView { + VStack(alignment: .leading, spacing: 16) { + // Header + VStack(alignment: .leading, spacing: 8) { + HStack { + Image(systemName: event.eventCategory.systemImage) + .font(.title) + .foregroundColor(.accentColor) + + Text(event.callsign) + .font(.title) + .fontWeight(.bold) + + Spacer() + + if event.isStale { + Text("STALE") + .font(.caption) + .padding(.horizontal, 8) + .padding(.vertical, 4) + .background(Color.red) + .foregroundColor(.white) + .cornerRadius(8) + } + } + + Text(event.type) + .font(.headline) + .foregroundColor(.secondary) + } + + Divider() + + // Details + DetailRow(label: "UID", value: event.uid) + DetailRow(label: "Timestamp", value: event.timestamp.formatted()) + DetailRow(label: "Stale Time", value: event.staleTime.formatted()) + DetailRow(label: "How", value: event.how) + DetailRow(label: "Location", value: coordinateString(event.location)) + + if let altitude = event.altitude { + DetailRow(label: "Altitude", value: "\(altitude) m") + } + + if let accuracy = event.accuracy { + DetailRow(label: "Accuracy", value: "\(accuracy) m") + } + + if let remarks = event.remarks { + VStack(alignment: .leading, spacing: 4) { + Text("Remarks") + .font(.headline) + Text(remarks) + .font(.body) + } + } + + Divider() + + // Raw JSON Document + VStack(alignment: .leading, spacing: 8) { + Text("Raw Document (JSON)") + .font(.headline) + + ScrollView { + Text(event.formattedJSON) + .font(.system(.caption, design: .monospaced)) + .textSelection(.enabled) + .frame(maxWidth: .infinity, alignment: .leading) + .padding(8) + .background(Color.secondary.opacity(0.1)) + .cornerRadius(8) + } + .frame(maxHeight: 300) // Limit height with scrolling + } + } + .padding() + } + .navigationTitle("Event Details") + #if os(iOS) + .navigationBarTitleDisplayMode(.inline) + #endif + .toolbar { + #if os(iOS) + ToolbarItem(placement: .navigationBarTrailing) { + Button("Done") { + dismiss() + } + } + #else + ToolbarItem(placement: .confirmationAction) { + Button("Done") { + dismiss() + } + } + #endif + } + } + } + + private func coordinateString(_ coordinate: CLLocationCoordinate2D) -> String { + String(format: "%.6fยฐ, %.6fยฐ", coordinate.latitude, coordinate.longitude) + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct DetailRow: View { + let label: String + let value: String + + var body: some View { + HStack { + Text(label) + .font(.headline) + .frame(width: 100, alignment: .leading) + + Text(value) + .font(.body) + .textSelection(.enabled) + + Spacer() + } + } +} \ No newline at end of file diff --git a/swift/Sources/DittoCoT/SwiftUI/Views/CoTMapView.swift b/swift/Sources/DittoCoT/SwiftUI/Views/CoTMapView.swift new file mode 100644 index 0000000..3b9453b --- /dev/null +++ b/swift/Sources/DittoCoT/SwiftUI/Views/CoTMapView.swift @@ -0,0 +1,526 @@ +import SwiftUI +import MapKit +import CoreLocation + +/// SwiftUI view for displaying CoT events on a map +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +public struct CoTMapView: View { + @StateObject private var viewModel: CoTEventViewModel + @ObservedObject private var trackObservable: TrackObservable + @StateObject private var locationManager = LocationManager() + @State private var region = MKCoordinateRegion( + center: CLLocationCoordinate2D(latitude: 37.7749, longitude: -122.4194), // Default to SF + span: MKCoordinateSpan(latitudeDelta: 0.1, longitudeDelta: 0.1) + ) + @State private var selectedEvent: CoTEventModel? + @State private var showingLocationSheet = false + @State private var isFullScreen = false // Start normal, allow full screen toggle + + public init(observable: CoTObservable, trackObservable: TrackObservable) { + self._viewModel = StateObject(wrappedValue: CoTEventViewModel(observable: observable)) + self.trackObservable = trackObservable + } + + // Legacy init for backward compatibility + public init(observable: CoTObservable) { + self._viewModel = StateObject(wrappedValue: CoTEventViewModel(observable: observable)) + // Create a dummy track observable - not ideal but maintains compatibility + let trackObs = TrackObservable(ditto: observable.dittoCoT.ditto) + trackObs.startObserving() + self.trackObservable = trackObs + } + + // Combine filtered events and track events + private var allMapEvents: [CoTEventModel] { + // Get list of track UIDs to filter out from regular events + let trackUIDs = Set(trackObservable.activeTracks.compactMap { $0.value["_id"] as? String }) + + // Filter out any events that are also in the track collection to avoid duplicates + let nonTrackEvents = viewModel.filteredEvents.filter { event in + return !trackUIDs.contains(event.uid) + } + var combined = nonTrackEvents + + print("๐Ÿ—บ๏ธ CoTMapView: Building map events - Regular events: \(viewModel.filteredEvents.count) -> Non-track: \(combined.count), Track UIDs to exclude: \(trackUIDs), Raw tracks: \(trackObservable.trackEvents.count), Active tracks: \(trackObservable.activeTracks.count)") + + // Convert track documents to CoTEventModel for map display + let trackEvents = trackObservable.activeTracks.compactMap { trackDoc -> CoTEventModel? in + guard let uid = trackDoc.value["_id"] as? String, + let callsign = trackDoc.value["e"] as? String, + let type = trackDoc.value["w"] as? String else { + print("โŒ CoTMapView: Failed to extract basic fields from track document") + return nil + } + + // Get location + let lat = trackDoc.value["j"] as? Double ?? 0.0 + let lon = trackDoc.value["l"] as? Double ?? 0.0 + let location = CLLocationCoordinate2D(latitude: lat, longitude: lon) + + print("๐Ÿ—บ๏ธ CoTMapView: Converting track to map event - UID: \(uid), Callsign: \(callsign), Location: (\(lat), \(lon))") + + // Get timestamp from 'b' field (milliseconds) + let timestamp: Date + if let bValue = trackDoc.value["b"] as? Double { + timestamp = Date(timeIntervalSince1970: bValue / 1000.0) + } else { + timestamp = Date() + } + + // Calculate proper stale time for tracks - check if 'n' field exists (stale time), otherwise default to 5 minutes from timestamp + let staleTime: Date + if let nValue = trackDoc.value["n"] as? Double { + staleTime = Date(timeIntervalSince1970: nValue / 1000.0) + } else { + // Default to 5 minutes from the track timestamp (not current time) + staleTime = timestamp.addingTimeInterval(300) + } + + let model = CoTEventModel( + uid: uid, + type: type, + callsign: callsign, + timestamp: timestamp, + location: location, + altitude: trackDoc.value["i"] as? Double, + accuracy: trackDoc.value["h"] as? Double, + staleTime: staleTime, + how: trackDoc.value["p"] as? String ?? "m-g", + remarks: "Track: \(callsign)", + rawDocumentData: trackDoc.value as [String: Any] + ) + + print("โœ… CoTMapView: Created track event model for map") + return model + } + + combined.append(contentsOf: trackEvents) + + // Check for duplicates and log all UIDs + let allUIDs = combined.map { $0.uid } + let uniqueUIDs = Set(allUIDs) + print("๐Ÿ—บ๏ธ CoTMapView: Final map events count: \(combined.count) (Regular: \(viewModel.filteredEvents.count), Tracks: \(trackEvents.count))") + print("๐Ÿ—บ๏ธ CoTMapView: All UIDs: \(allUIDs)") + if allUIDs.count != uniqueUIDs.count { + print("โš ๏ธ CoTMapView: DUPLICATE UIDs detected! Unique: \(uniqueUIDs.count), Total: \(allUIDs.count)") + } + + return combined + } + + public var body: some View { + ZStack { + // Map - full screen + Map(coordinateRegion: $region, annotationItems: allMapEvents) { event in + MapAnnotation(coordinate: event.location) { + EventAnnotation(event: event) { + selectedEvent = event + } + } + } + .ignoresSafeArea(.container, edges: isFullScreen ? .all : .bottom) // Respect tab bar unless full screen + + // Overlay controls + VStack { + // Top controls + HStack { + // Full screen toggle (top left) + Button(action: { isFullScreen.toggle() }) { + Image(systemName: isFullScreen ? "arrow.down.right.and.arrow.up.left" : "arrow.up.left.and.arrow.down.right") + .foregroundColor(.white) + .frame(width: 44, height: 44) + .background(Color.black.opacity(0.7)) + .cornerRadius(8) + } + + Spacer() + + // Right side controls + VStack(spacing: 12) { + // Zoom in + Button(action: zoomIn) { + Image(systemName: "plus") + .foregroundColor(.white) + .frame(width: 44, height: 44) + .background(Color.black.opacity(0.7)) + .cornerRadius(8) + } + + // Zoom out + Button(action: zoomOut) { + Image(systemName: "minus") + .foregroundColor(.white) + .frame(width: 44, height: 44) + .background(Color.black.opacity(0.7)) + .cornerRadius(8) + } + + // Center on user location + Button(action: centerOnUserLocation) { + Image(systemName: "location.fill") + .foregroundColor(.white) + .frame(width: 44, height: 44) + .background(Color.blue.opacity(0.8)) + .cornerRadius(8) + } + + // Send location update + Button(action: { showingLocationSheet = true }) { + Image(systemName: "plus.circle.fill") + .foregroundColor(.white) + .frame(width: 44, height: 44) + .background(Color.green.opacity(0.8)) + .cornerRadius(8) + } + + // Refresh events + Button(action: { viewModel.refreshEvents() }) { + Image(systemName: "arrow.clockwise") + .foregroundColor(.white) + .frame(width: 44, height: 44) + .background(Color.orange.opacity(0.8)) + .cornerRadius(8) + } + } + } + .padding(.top, isFullScreen ? 50 : 20) + .padding(.horizontal) + + Spacer() + + // Bottom status bar + HStack { + Text("\(viewModel.filteredEvents.count) events") + .padding(8) + .background(Color.black.opacity(0.7)) + .foregroundColor(.white) + .cornerRadius(8) + + Spacer() + + ConnectionStatusView(isConnected: viewModel.isConnected) + .padding(8) + .background(Color.black.opacity(0.7)) + .cornerRadius(8) + } + .padding(.bottom, isFullScreen ? 20 : 40) + .padding(.horizontal) + } + } + .navigationTitle(isFullScreen ? "" : "CoT Map") + #if os(iOS) + .navigationBarHidden(isFullScreen) + .navigationBarTitleDisplayMode(.inline) + #endif + #if os(macOS) + .modifier(MacOSToolbarModifier(isFullScreen: isFullScreen)) + #endif + .onAppear { + viewModel.refreshEvents() + locationManager.requestLocationPermission() + } + .onChange(of: locationManager.location) { location in + if let location = location { + // Automatically center on user location when first received + withAnimation(.easeInOut(duration: 0.8)) { + region.center = location.coordinate + // Also adjust zoom level to a good default for local area + region.span = MKCoordinateSpan(latitudeDelta: 0.01, longitudeDelta: 0.01) + } + } + } + .sheet(item: $selectedEvent) { event in + CoTEventDetailView(event: event) + } + .sheet(isPresented: $showingLocationSheet) { + SendLocationSheet( + viewModel: viewModel, + currentLocation: locationManager.location?.coordinate + ) + } + } + + private func centerOnUserLocation() { + if let location = locationManager.location { + withAnimation(.easeInOut(duration: 0.5)) { + region.center = location.coordinate + } + } else { + locationManager.requestLocationPermission() + } + } + + private func zoomIn() { + withAnimation(.easeInOut(duration: 0.3)) { + let currentSpan = region.span + region.span = MKCoordinateSpan( + latitudeDelta: max(currentSpan.latitudeDelta * 0.5, 0.001), // Min zoom limit + longitudeDelta: max(currentSpan.longitudeDelta * 0.5, 0.001) + ) + } + } + + private func zoomOut() { + withAnimation(.easeInOut(duration: 0.3)) { + let currentSpan = region.span + region.span = MKCoordinateSpan( + latitudeDelta: min(currentSpan.latitudeDelta * 2.0, 180.0), // Max zoom limit + longitudeDelta: min(currentSpan.longitudeDelta * 2.0, 180.0) + ) + } + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct EventAnnotation: View { + let event: CoTEventModel + let onTap: () -> Void + + var body: some View { + Button(action: onTap) { + ZStack { + // Background circle + Circle() + .fill(backgroundColor) + .frame(width: 32, height: 32) + .overlay( + Circle() + .stroke(Color.white, lineWidth: 2) + ) + + // Icon + Image(systemName: event.eventCategory.systemImage) + .foregroundColor(.white) + .font(.system(size: 14, weight: .bold)) + } + .opacity(event.isStale ? 0.6 : 1.0) + .scaleEffect(event.isStale ? 0.8 : 1.0) + } + .buttonStyle(PlainButtonStyle()) + } + + private var backgroundColor: Color { + if event.isStale { + return .gray + } + + switch event.eventCategory { + case .friendly: return .green + case .hostile: return .red + case .neutral: return .yellow + case .unknown: return .blue + case .chat: return .purple + case .emergency: return .orange + } + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct SendLocationSheet: View { + @ObservedObject var viewModel: CoTEventViewModel + let currentLocation: CLLocationCoordinate2D? + @Environment(\.dismiss) private var dismiss + + @State private var callsign = "USER-1" + @State private var customLat = "" + @State private var customLon = "" + @State private var useCurrentLocation = true + @State private var isLoading = false + + var body: some View { + NavigationStack { + Form { + Section(header: Text("Callsign")) { + TextField("Enter callsign", text: $callsign) + #if os(iOS) + .autocapitalization(.allCharacters) + #endif + } + + Section(header: Text("Location")) { + Toggle("Use Current Location", isOn: $useCurrentLocation) + + if !useCurrentLocation { + HStack { + Text("Latitude") + TextField("0.0", text: $customLat) + #if os(iOS) + .keyboardType(.decimalPad) + #endif + .textFieldStyle(RoundedBorderTextFieldStyle()) + } + + HStack { + Text("Longitude") + TextField("0.0", text: $customLon) + #if os(iOS) + .keyboardType(.decimalPad) + #endif + .textFieldStyle(RoundedBorderTextFieldStyle()) + } + } + } + + if useCurrentLocation && currentLocation == nil { + Section { + Text("Location permission required") + .foregroundColor(.secondary) + } + } + } + .navigationTitle("Send Location") + #if os(iOS) + .navigationBarTitleDisplayMode(.inline) + #endif + .toolbar { + #if os(iOS) + ToolbarItem(placement: .navigationBarLeading) { + Button("Cancel") { + dismiss() + } + } + + ToolbarItem(placement: .navigationBarTrailing) { + Button("Send") { + sendLocationUpdate() + } + .disabled(isLoading || !canSendLocation) + } + #else + ToolbarItem(placement: .cancellationAction) { + Button("Cancel") { + dismiss() + } + } + + ToolbarItem(placement: .confirmationAction) { + Button("Send") { + sendLocationUpdate() + } + .disabled(isLoading || !canSendLocation) + } + #endif + } + } + } + + private var canSendLocation: Bool { + guard !callsign.isEmpty else { return false } + + if useCurrentLocation { + return currentLocation != nil + } else { + return !customLat.isEmpty && !customLon.isEmpty + } + } + + private func sendLocationUpdate() { + guard let location = targetLocation else { return } + + isLoading = true + + Task { + do { + try await viewModel.sendLocationUpdate( + callsign: callsign, + location: location + ) + + await MainActor.run { + dismiss() + } + } catch { + // Handle error + print("Failed to send location: \(error)") + } + + await MainActor.run { + isLoading = false + } + } + } + + private var targetLocation: CLLocationCoordinate2D? { + if useCurrentLocation { + return currentLocation + } else { + guard let lat = Double(customLat), + let lon = Double(customLon) else { + return nil + } + return CLLocationCoordinate2D(latitude: lat, longitude: lon) + } + } +} + +// MARK: - Location Manager + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +class LocationManager: NSObject, ObservableObject, CLLocationManagerDelegate { + private let manager = CLLocationManager() + + @Published var location: CLLocation? + @Published var authorizationStatus: CLAuthorizationStatus = .notDetermined + + override init() { + super.init() + manager.delegate = self + manager.desiredAccuracy = kCLLocationAccuracyBest + } + + func requestLocationPermission() { + switch authorizationStatus { + case .notDetermined: + manager.requestWhenInUseAuthorization() + case .denied, .restricted: + // Could show alert to go to settings + break + case .authorizedWhenInUse, .authorizedAlways: + manager.startUpdatingLocation() + @unknown default: + break + } + } + + // MARK: - CLLocationManagerDelegate + + func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { + location = locations.last + } + + func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) { + authorizationStatus = status + + switch status { + case .authorizedWhenInUse, .authorizedAlways: + manager.startUpdatingLocation() + case .denied, .restricted: + manager.stopUpdatingLocation() + case .notDetermined: + break + @unknown default: + break + } + } + + func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) { + print("Location error: \(error)") + } +} + +// MARK: - macOS Compatibility + +#if os(macOS) +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct MacOSToolbarModifier: ViewModifier { + let isFullScreen: Bool + + func body(content: Content) -> some View { + if #available(macOS 13.0, *) { + content.toolbar(isFullScreen ? .hidden : .visible) + } else { + content + } + } +} +#endif \ No newline at end of file diff --git a/swift/Sources/DittoCoT/SwiftUI/Views/CoTTrackView.swift b/swift/Sources/DittoCoT/SwiftUI/Views/CoTTrackView.swift new file mode 100644 index 0000000..1e9b73f --- /dev/null +++ b/swift/Sources/DittoCoT/SwiftUI/Views/CoTTrackView.swift @@ -0,0 +1,183 @@ +import SwiftUI +import CoreLocation +import DittoSwift + +/// SwiftUI view for displaying CoT tracks +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +public struct CoTTrackView: View { + @ObservedObject private var trackObservable: TrackObservable + @State private var selectedTrack: DittoDocument? + + public init(trackObservable: TrackObservable) { + self.trackObservable = trackObservable + } + + public var body: some View { + VStack { + trackHeader + + if trackObservable.trackEvents.isEmpty { + emptyTrackView + } else { + trackListView + } + } + .navigationTitle("Tracks") + #if os(iOS) + .navigationBarTitleDisplayMode(.inline) + #endif + .onAppear { + trackObservable.refreshTracks() + } + } + + private var trackHeader: some View { + HStack { + Text("Tracks") + .font(.title2) + .fontWeight(.semibold) + + Spacer() + + Text("\(trackObservable.trackCount) active") + .font(.caption) + .foregroundColor(.secondary) + .padding(.horizontal, 8) + .padding(.vertical, 4) + .background(Color.secondary.opacity(0.2)) + .cornerRadius(8) + } + .padding(.horizontal) + } + + private var emptyTrackView: some View { + VStack { + Spacer() + VStack(spacing: 16) { + Image(systemName: "location.slash") + .font(.system(size: 60)) + .foregroundColor(.secondary) + + Text("No tracks available") + .font(.headline) + .foregroundColor(.secondary) + + Text("Tracks will appear here when entities are being tracked") + .font(.caption) + .foregroundColor(.secondary) + .multilineTextAlignment(.center) + .padding(.horizontal, 40) + } + Spacer() + } + } + + private var trackListView: some View { + ScrollView { + LazyVStack(spacing: 8) { + ForEach(trackObservable.activeTracks, id: \.id) { track in + TrackRow(track: track, isSelected: selectedTrack?.id == track.id) + .onTapGesture { + selectedTrack = track + } + } + } + .padding(.horizontal) + } + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct TrackRow: View { + let track: DittoDocument + let isSelected: Bool + + private var callsign: String { + track.value["e"] as? String ?? "Unknown" + } + + private var type: String { + track.value["w"] as? String ?? "unknown" + } + + private var location: CLLocationCoordinate2D? { + guard let lat = track.value["j"] as? Double, + let lon = track.value["l"] as? Double else { return nil } + return CLLocationCoordinate2D(latitude: lat, longitude: lon) + } + + private var timestamp: Date { + if let bValue = track.value["b"] as? Double { + return Date(timeIntervalSince1970: bValue / 1000.0) + } + return Date() + } + + private var trackIcon: String { + if type.contains("a-f-A") { return "airplane" } + if type.contains("a-f-S") { return "ferry" } + if type.contains("a-f-G") { return "car" } + if type.contains("a-h") { return "exclamationmark.triangle" } + return "location" + } + + private var trackColor: Color { + if type.contains("a-f") { return .blue } + if type.contains("a-h") { return .red } + if type.contains("a-n") { return .green } + if type.contains("a-u") { return .orange } + return .gray + } + + var body: some View { + HStack(spacing: 12) { + // Icon + Image(systemName: trackIcon) + .font(.title2) + .foregroundColor(trackColor) + .frame(width: 40) + + // Info + VStack(alignment: .leading, spacing: 4) { + Text(callsign) + .font(.headline) + + if let location = location { + Text(String(format: "%.6f, %.6f", location.latitude, location.longitude)) + .font(.caption) + .foregroundColor(.secondary) + } + + Text(timestamp, style: .relative) + .font(.caption2) + .foregroundColor(.secondary) + } + + Spacer() + + // Type badge + Text(type) + .font(.caption2) + .foregroundColor(.secondary) + .padding(.horizontal, 8) + .padding(.vertical, 4) + .background(Color.secondary.opacity(0.1)) + .cornerRadius(4) + } + .padding() + .background(isSelected ? Color.accentColor.opacity(0.1) : Color.secondary.opacity(0.05)) + .cornerRadius(8) + } +} + +// MARK: - Preview +#if DEBUG +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct CoTTrackView_Previews: PreviewProvider { + static var previews: some View { + NavigationView { + Text("Preview not available") + } + } +} +#endif \ No newline at end of file diff --git a/swift/Sources/DittoCoT/SwiftUI/Views/PresenceGraphView.swift b/swift/Sources/DittoCoT/SwiftUI/Views/PresenceGraphView.swift new file mode 100644 index 0000000..a6c633c --- /dev/null +++ b/swift/Sources/DittoCoT/SwiftUI/Views/PresenceGraphView.swift @@ -0,0 +1,219 @@ +import SwiftUI +import DittoSwift + +/// SwiftUI view for displaying the Ditto presence graph +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +public struct PresenceGraphView: View { + @ObservedObject private var observable: CoTObservable + @State private var isExpanded = false + + public init(observable: CoTObservable) { + self.observable = observable + } + + public var body: some View { + VStack(alignment: .leading, spacing: 12) { + HStack { + Image(systemName: "network") + .foregroundColor(.blue) + .font(.title2) + + Text("Presence Graph") + .font(.headline) + + Spacer() + + Text("\(observable.connectedPeers.count) peers") + .font(.caption) + .foregroundColor(.secondary) + + Button(action: { isExpanded.toggle() }) { + Image(systemName: isExpanded ? "chevron.up" : "chevron.down") + .foregroundColor(.secondary) + } + } + + if isExpanded { + LazyVStack(alignment: .leading, spacing: 8) { + if observable.connectedPeers.isEmpty { + HStack { + Image(systemName: "person.slash") + .foregroundColor(.orange) + Text("No peers connected") + .foregroundColor(.secondary) + } + .padding(.vertical, 4) + } else { + ForEach(Array(observable.connectedPeers.enumerated()), id: \.offset) { index, peer in + PeerRow(peer: peer) + } + } + } + .transition(.opacity.combined(with: .move(edge: .top))) + } + } + .padding() + #if os(iOS) + .background(Color(.systemBackground)) + #else + .background(Color(NSColor.windowBackgroundColor)) + #endif + .cornerRadius(12) + .shadow(radius: 2) + .animation(.easeInOut(duration: 0.3), value: isExpanded) + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +struct PeerRow: View { + let peer: DittoPeer + + var body: some View { + HStack(spacing: 12) { + // Peer status indicator + Circle() + .fill(connectionColor) + .frame(width: 8, height: 8) + + VStack(alignment: .leading, spacing: 2) { + HStack { + Text(peerDisplayName) + .font(.subheadline) + .fontWeight(.medium) + + Spacer() + + Text(connectionTypeText) + .font(.caption) + .foregroundColor(.secondary) + .padding(.horizontal, 6) + .padding(.vertical, 2) + .background(Color.secondary.opacity(0.1)) + .cornerRadius(4) + } + + Text("Peer ID: \(String(describing: peer).prefix(12))...") + .font(.caption) + .foregroundColor(.secondary) + } + } + .padding(.vertical, 4) + } + + private var peerDisplayName: String { + // Try to extract a meaningful name, fallback to peer type + if !peer.deviceName.isEmpty { + return peer.deviceName + } + return "Peer \(String(describing: peer).prefix(8))" + } + + private var connectionColor: Color { + // Simplified color coding since exact distance API may vary + return .blue // Default to connected color + } + + private var connectionTypeText: String { + // Simplified connection type since exact API may vary + return "Connected" + } +} + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +public struct ConnectionStatusView: View { + let isConnected: Bool + + public init(isConnected: Bool) { + self.isConnected = isConnected + } + + public var body: some View { + HStack(spacing: 6) { + Circle() + .fill(isConnected ? Color.green : Color.red) + .frame(width: 8, height: 8) + + Text(isConnected ? "Connected" : "Disconnected") + .font(.caption) + .foregroundColor(isConnected ? .green : .red) + } + } +} + +// MARK: - Presence Graph Debug View + +@available(iOS 15.0, macOS 12.0, watchOS 8.0, tvOS 15.0, *) +public struct PresenceDebugView: View { + @ObservedObject private var observable: CoTObservable + + public init(observable: CoTObservable) { + self.observable = observable + } + + public var body: some View { + VStack(alignment: .leading, spacing: 16) { + Text("Ditto Presence Debug") + .font(.title2) + .fontWeight(.bold) + + // Connection Status + HStack { + Text("Status:") + .fontWeight(.medium) + Spacer() + ConnectionStatusView(isConnected: observable.isConnected) + } + + // Peer Count + HStack { + Text("Connected Peers:") + .fontWeight(.medium) + Spacer() + Text("\(observable.connectedPeers.count)") + .fontWeight(.semibold) + .foregroundColor(.blue) + } + + // Event Count + HStack { + Text("Total Events:") + .fontWeight(.medium) + Spacer() + Text("\(observable.events.count)") + .fontWeight(.semibold) + .foregroundColor(.green) + } + + Divider() + + // Presence Graph + PresenceGraphView(observable: observable) + + // Quick Actions + VStack(spacing: 8) { + Text("Debug Actions") + .font(.headline) + + HStack(spacing: 12) { + Button("Refresh Data") { + observable.refreshAll() + } + .buttonStyle(.bordered) + + Button("Restart Observing") { + observable.stopObserving() + observable.startObserving() + } + .buttonStyle(.bordered) + } + } + } + .padding() + #if os(iOS) + .background(Color(.systemGroupedBackground)) + #else + .background(Color(NSColor.controlBackgroundColor)) + #endif + .cornerRadius(12) + } +} \ No newline at end of file diff --git a/swift/Sources/DittoCoT/TrackObservable.swift b/swift/Sources/DittoCoT/TrackObservable.swift new file mode 100644 index 0000000..8d45542 --- /dev/null +++ b/swift/Sources/DittoCoT/TrackObservable.swift @@ -0,0 +1,129 @@ +import Foundation +import DittoSwift +import Combine + +/// Dedicated observable for track events only - completely isolated from other collections +@available(iOS 13.0, macOS 10.15, watchOS 6.0, tvOS 13.0, *) +public class TrackObservable: ObservableObject { + + // MARK: - Properties + + private let ditto: Ditto + private var subscription: DittoSubscription? + private var liveQuery: DittoLiveQuery? + + @Published public private(set) var trackEvents: [DittoDocument] = [] + @Published public private(set) var isConnected: Bool = false + @Published public private(set) var error: Error? + + // MARK: - Initialization + + public init(ditto: Ditto) { + self.ditto = ditto + print("๐ŸŽฏ TrackObservable: Initializing for track collection only") + } + + // MARK: - Public Methods + + public func startObserving() { + print("๐ŸŽฏ TrackObservable: Starting track observation...") + setupTrackSubscription() + setupTrackLiveQuery() + print("๐ŸŽฏ TrackObservable: Track observation started") + } + + public func stopObserving() { + print("๐ŸŽฏ TrackObservable: Stopping track observation...") + liveQuery?.stop() + subscription = nil + liveQuery = nil + trackEvents = [] + print("๐ŸŽฏ TrackObservable: Track observation stopped") + } + + public func refreshTracks() { + print("๐ŸŽฏ TrackObservable: Manual refresh requested") + let collection = ditto.store.collection("track") + let currentDocs = collection.find("_r != true").exec() + + DispatchQueue.main.async { [weak self] in + self?.trackEvents = currentDocs + print("๐ŸŽฏ TrackObservable: Manual refresh complete - \(currentDocs.count) track events") + } + } + + // MARK: - Private Methods + + private func setupTrackSubscription() { + print("๐ŸŽฏ TrackObservable: Setting up track subscription...") + let collection = ditto.store.collection("track") + subscription = collection.find("_r != true").subscribe() + print("๐ŸŽฏ TrackObservable: Track subscription created") + } + + private func setupTrackLiveQuery() { + print("๐ŸŽฏ TrackObservable: Setting up track live query...") + let collection = ditto.store.collection("track") + + liveQuery = collection.find("_r != true").observeLocal { [weak self] docs, event in + guard let self = self else { return } + + DispatchQueue.main.async { + let beforeCount = self.trackEvents.count + + // Handle the live query event + print("๐ŸŽฏ TrackObservable: Live query event - \(docs.count) track events") + self.trackEvents = docs + self.isConnected = true + + let afterCount = docs.count + let change = afterCount - beforeCount + + if beforeCount == 0 { + print("๐ŸŽฏ TrackObservable: Initial load - \(afterCount) track events") + } else if change > 0 { + print("๐ŸŽฏ TrackObservable: +\(change) new track(s)") + } else if change < 0 { + print("๐ŸŽฏ TrackObservable: \(abs(change)) track(s) removed") + } else { + print("๐ŸŽฏ TrackObservable: Track updated (same count)") + } + + self.error = nil + } + } + + print("๐ŸŽฏ TrackObservable: Track live query setup complete") + } +} + +// MARK: - Track Event Helpers + +@available(iOS 13.0, macOS 10.15, watchOS 6.0, tvOS 13.0, *) +extension TrackObservable { + + /// Get all active track events + public var activeTracks: [DittoDocument] { + return trackEvents.filter { doc in + if let removed = doc.value["_r"] as? Bool, removed { + return false + } + return true + } + } + + /// Get track count + public var trackCount: Int { + return activeTracks.count + } + + /// Get tracks by callsign + public func tracks(for callsign: String) -> [DittoDocument] { + return activeTracks.filter { doc in + if let docCallsign = doc.value["e"] as? String { + return docCallsign == callsign + } + return false + } + } +} \ No newline at end of file diff --git a/swift/Sources/DittoCoTCore/DittoCoTCore.swift b/swift/Sources/DittoCoTCore/DittoCoTCore.swift new file mode 100644 index 0000000..5e4cd11 --- /dev/null +++ b/swift/Sources/DittoCoTCore/DittoCoTCore.swift @@ -0,0 +1,9 @@ +// DittoCoTCore module +// This file will be populated with core functionality + +import Foundation + +/// Placeholder for DittoCoTCore module +public struct DittoCoTCore { + public init() {} +} \ No newline at end of file diff --git a/swift/Sources/DittoCoTCore/Event/CoTDetail.swift b/swift/Sources/DittoCoTCore/Event/CoTDetail.swift new file mode 100644 index 0000000..ab5c5e0 --- /dev/null +++ b/swift/Sources/DittoCoTCore/Event/CoTDetail.swift @@ -0,0 +1,228 @@ +import Foundation +import XMLCoder + +/// Represents the detail element of a CoT event +/// This is a flexible container that can hold any structured data +public struct CoTDetail: Codable, Equatable { + /// The raw detail data stored as a flexible JSON-compatible structure + private let storage: JSONValue + + /// Initialize with a JSONValue + public init(_ value: JSONValue) { + self.storage = value + } + + /// Initialize with a dictionary + public init(_ dictionary: [String: Any]) { + self.storage = JSONValue(dictionary) + } + + /// Initialize an empty detail + public init() { + self.storage = .object([:]) + } + + /// Access the underlying JSONValue storage + public var value: JSONValue { + storage + } + + /// Convert to dictionary representation + public func toDict() -> [String: Any]? { + guard case .object(let dict) = storage else { + return nil + } + return jsonValueToAny(dict) + } + + private func jsonValueToAny(_ dict: [String: JSONValue]) -> [String: Any] { + var result: [String: Any] = [:] + for (key, value) in dict { + result[key] = convertJSONValue(value) + } + return result + } + + private func convertJSONValue(_ value: JSONValue) -> Any { + switch value { + case .null: + return NSNull() + case .bool(let b): + return b + case .number(let n): + return n + case .string(let s): + return s + case .array(let a): + return a.map { convertJSONValue($0) } + case .object(let o): + return jsonValueToAny(o) + } + } + + /// Get a value at a specific key path + /// - Parameter keyPath: Dot-separated key path (e.g., "contact.callsign") + /// - Returns: The value at the key path, or nil if not found + public func getValue(at keyPath: String) -> JSONValue? { + let keys = keyPath.split(separator: ".").map(String.init) + var current = storage + + for key in keys { + guard case .object(let dict) = current, + let next = dict[key] else { + return nil + } + current = next + } + + return current + } + + /// Set a value at a specific key path + /// - Parameters: + /// - keyPath: Dot-separated key path (e.g., "contact.callsign") + /// - value: The value to set + /// - Returns: A new CoTDetail with the value set + public func settingValue(_ value: JSONValue, at keyPath: String) -> CoTDetail { + let keys = keyPath.split(separator: ".").map(String.init) + + func setValue(in json: JSONValue, keys: ArraySlice, value: JSONValue) -> JSONValue { + guard let key = keys.first else { return value } + + let remainingKeys = keys.dropFirst() + + if case .object(var dict) = json { + if remainingKeys.isEmpty { + dict[key] = value + } else { + let existing = dict[key] ?? .object([:]) + dict[key] = setValue(in: existing, keys: remainingKeys, value: value) + } + return .object(dict) + } else if keys.count == 1 { + // If we're at a non-object, replace it with an object containing our value + return .object([key: value]) + } else { + // Create nested structure + var dict: [String: JSONValue] = [:] + dict[key] = setValue(in: .object([:]), keys: remainingKeys, value: value) + return .object(dict) + } + } + + let newStorage = setValue(in: storage, keys: ArraySlice(keys), value: value) + return CoTDetail(newStorage) + } + + // MARK: - Common CoT Detail Properties + + /// Get or set the contact callsign + public var callsign: String? { + getValue(at: "contact.callsign")?.stringValue + } + + /// Get or set the remarks text + public var remarks: String? { + getValue(at: "remarks")?.stringValue + } + + /// Get or set the color (ARGB hex format) + public var color: String? { + getValue(at: "color.argb")?.stringValue + } +} + +// MARK: - Codable +extension CoTDetail { + public init(from decoder: Decoder) throws { + let container = try decoder.singleValueContainer() + self.storage = try container.decode(JSONValue.self) + } + + public func encode(to encoder: Encoder) throws { + var container = encoder.singleValueContainer() + try container.encode(storage) + } +} + +// MARK: - XML Coding Support +extension CoTDetail { + /// Convert the detail to a dictionary for XML encoding + var xmlDictionary: [String: Any] { + storage.xmlDictionary + } + + /// Create CoTDetail from XML dictionary + init(xmlDictionary: [String: Any]) { + self.storage = JSONValue(xmlDictionary) + } +} + +// MARK: - JSONValue XML Support +private extension JSONValue { + var xmlDictionary: [String: Any] { + switch self { + case .null: + return [:] + case .bool(let value): + return ["value": value] + case .number(let value): + return ["value": value] + case .string(let value): + return ["value": value] + case .array(let values): + let mappedValues = values.enumerated().map { (index, value) in + ("item_\(index)", value.xmlDictionary) + } + return Dictionary(mappedValues) { _, new in new } + case .object(let dict): + return dict.mapValues { $0.xmlDictionary } + } + } + + init(_ xmlDict: [String: Any]) { + // Simple conversion - this could be enhanced + if let singleValue = xmlDict["value"] { + if let bool = singleValue as? Bool { + self = .bool(bool) + } else if let number = singleValue as? Double { + self = .number(number) + } else if let int = singleValue as? Int { + self = .number(Double(int)) + } else if let string = singleValue as? String { + self = .string(string) + } else { + self = .string("\(singleValue)") + } + } else { + let converted = xmlDict.compactMapValues { value -> JSONValue? in + if let dict = value as? [String: Any] { + return JSONValue(dict) + } else if let array = value as? [Any] { + return .array(array.map { JSONValue($0) }) + } else if let string = value as? String { + return .string(string) + } else if let int = value as? Int { + return .number(Double(int)) + } else if let double = value as? Double { + return .number(double) + } else if let bool = value as? Bool { + return .bool(bool) + } else { + return .string("\(value)") + } + } + self = .object(converted) + } + } +} + +// MARK: - CustomStringConvertible +extension CoTDetail: CustomStringConvertible { + public var description: String { + "CoTDetail(\(storage))" + } +} + +// MARK: - JSONValue Helpers +// Note: JSONValue helpers are now defined in JSONValue.swift \ No newline at end of file diff --git a/swift/Sources/DittoCoTCore/Event/CoTEvent.swift b/swift/Sources/DittoCoTCore/Event/CoTEvent.swift new file mode 100644 index 0000000..cae8d00 --- /dev/null +++ b/swift/Sources/DittoCoTCore/Event/CoTEvent.swift @@ -0,0 +1,461 @@ +import Foundation +import XMLCoder + +// MARK: - XML Serializable Protocol +public protocol XMLSerializable { + func toXML(prettyPrint: Bool) throws -> String + static func fromXML(_ xml: String) throws -> Self +} + +/// Represents a Cursor-on-Target (CoT) event +/// Conforms to the CoT 2.0 specification +public struct CoTEvent: Codable, Equatable { + + // MARK: - Required Attributes + + /// CoT version (must be >= 2.0) + public let version: String + + /// Globally unique identifier for this event + public let uid: String + + /// Hierarchical event type (e.g., "a-f-G-U-C") + /// Format: component1(-component2)* + public let type: String + + /// Time the event was generated + public let time: Date + + /// Start time of event validity interval + public let start: Date + + /// End time of event validity interval (when event becomes stale) + public let stale: Date + + /// Method of event generation (e.g., "m-g" for manual GPS) + public let how: String + + // MARK: - Required Elements + + /// Geographic location of the event + public let point: CoTPoint + + // MARK: - Optional Attributes + + /// Access control field (e.g., "unrestricted", "nato", "coalition") + public let access: String? + + /// Quality of Service: priority-overtaking-assurance (e.g., "1-r-c") + public let qos: String? + + /// Operational exercise indicator: o=operations, e=exercise, s=simulation + public let opex: String? + + /// Message handling caveat (e.g., "FOUO", "UNCLASSIFIED") + public let caveat: String? + + /// Release authorization (e.g., "USA", "NATO") + public let releasableTo: String? + + // MARK: - Optional Elements + + /// Additional event details + public let detail: CoTDetail? + + // MARK: - Initialization + + /// Initialize a CoT event with all parameters + /// - Parameters: + /// - version: CoT version (default: "2.0") + /// - uid: Unique identifier + /// - type: Event type + /// - time: Event generation time + /// - start: Validity start time + /// - stale: Validity end time + /// - how: Generation method + /// - point: Geographic location + /// - access: Access control + /// - qos: Quality of service + /// - opex: Operational exercise indicator + /// - caveat: Message caveat + /// - releasableTo: Release authorization + /// - detail: Additional details + public init( + version: String = "2.0", + uid: String, + type: String, + time: Date, + start: Date, + stale: Date, + how: String, + point: CoTPoint, + access: String? = nil, + qos: String? = nil, + opex: String? = nil, + caveat: String? = nil, + releasableTo: String? = nil, + detail: CoTDetail? = nil + ) { + self.version = version + self.uid = uid + self.type = type + self.time = time + self.start = start + self.stale = stale + self.how = how + self.point = point + self.access = access + self.qos = qos + self.opex = opex + self.caveat = caveat + self.releasableTo = releasableTo + self.detail = detail + } + + // MARK: - Builder + + /// Creates a new event builder + public static func builder() -> CoTEventBuilder { + CoTEventBuilder() + } + + /// Create a blue force tracking event with minimal required parameters + public static func blueForceTrack(uid: String, at point: CoTPoint, callsign: String? = nil) -> CoTEvent { + var builder = CoTEvent.builder() + .uid(uid) + .blueForceTrack() + .point(point) + .validFor(300) // 5 minutes default + + if let callsign = callsign { + builder = builder.callsign(callsign) + } + + return try! builder.build() + } + + /// Create an emergency event with minimal required parameters + public static func emergency(uid: String, at point: CoTPoint, message: String? = nil) -> CoTEvent { + var builder = CoTEvent.builder() + .uid(uid) + .emergency() + .point(point) + .validFor(3600) // 1 hour for emergencies + + if let message = message { + builder = builder.remarks(message) + } + + return try! builder.build() + } +} + +// MARK: - CustomStringConvertible +extension CoTEvent: CustomStringConvertible { + public var description: String { + """ + CoTEvent( + uid: \(uid), + type: \(type), + time: \(ISO8601DateFormatter().string(from: time)), + point: \(point) + ) + """ + } +} + +// MARK: - XML Serialization +extension CoTEvent: XMLSerializable { + + /// Convert the event to XML string + /// - Parameter prettyPrint: Whether to format the XML with indentation + /// - Returns: XML string representation + /// - Throws: Encoding errors + public func toXML(prettyPrint: Bool = false) throws -> String { + let encoder = XMLEncoder() + encoder.outputFormatting = prettyPrint ? [.prettyPrinted] : [] + + // Configure date formatting to match CoT specification (ISO8601) + let dateFormatter = ISO8601DateFormatter() + dateFormatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds] + encoder.dateEncodingStrategy = .custom { date, encoder in + var container = encoder.singleValueContainer() + try container.encode(dateFormatter.string(from: date)) + } + + // Create a simplified version for XML serialization + let xmlEvent = XMLCoTEvent(from: self) + let data = try encoder.encode(xmlEvent, withRootKey: "event") + return String(data: data, encoding: .utf8) ?? "" + } + + /// Create a CoT event from XML string + /// - Parameter xml: XML string representation + /// - Returns: Parsed CoT event + /// - Throws: Decoding errors + public static func fromXML(_ xml: String) throws -> CoTEvent { + guard let data = xml.data(using: .utf8) else { + throw CoTXMLError.invalidXMLString + } + + let decoder = XMLDecoder() + + // Configure date parsing to handle CoT format + let dateFormatter = ISO8601DateFormatter() + dateFormatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds] + decoder.dateDecodingStrategy = .custom { decoder in + let container = try decoder.singleValueContainer() + let dateString = try container.decode(String.self) + + if let date = dateFormatter.date(from: dateString) { + return date + } + + // Fallback to basic ISO8601 format + dateFormatter.formatOptions = [.withInternetDateTime] + if let date = dateFormatter.date(from: dateString) { + return date + } + + throw DecodingError.dataCorruptedError(in: container, debugDescription: "Invalid date format: \(dateString)") + } + + let xmlEvent = try decoder.decode(XMLCoTEvent.self, from: data) + return xmlEvent.toCoTEvent() + } +} + +// MARK: - XML Coding Keys +extension CoTEvent { + enum CodingKeys: String, CodingKey { + case version + case uid + case type + case time + case start + case stale + case how + case point + case access + case qos + case opex + case caveat + case releasableTo = "releasableto" + case detail + } +} + + +// MARK: - XML Wrapper for Serialization +struct XMLCoTEvent: Codable { + let version: String + let uid: String + let type: String + let time: Date + let start: Date + let stale: Date + let how: String + let point: CoTPoint + let access: String? + let qos: String? + let opex: String? + let caveat: String? + let releasableTo: String? + // Skip detail for now - XML detail handling is complex + + init(from event: CoTEvent) { + self.version = event.version + self.uid = event.uid + self.type = event.type + self.time = event.time + self.start = event.start + self.stale = event.stale + self.how = event.how + self.point = event.point + self.access = event.access + self.qos = event.qos + self.opex = event.opex + self.caveat = event.caveat + self.releasableTo = event.releasableTo + // Note: detail is omitted for now due to XML complexity + } + + func toCoTEvent() -> CoTEvent { + return CoTEvent( + version: version, + uid: uid, + type: type, + time: time, + start: start, + stale: stale, + how: how, + point: point, + access: access, + qos: qos, + opex: opex, + caveat: caveat, + releasableTo: releasableTo, + detail: nil // Detail not supported in basic XML + ) + } + + enum CodingKeys: String, CodingKey { + case version + case uid + case type + case time + case start + case stale + case how + case point + case access + case qos + case opex + case caveat + case releasableTo = "releasableto" + } +} + +// MARK: - XMLCoder Support for XMLCoTEvent +extension XMLCoTEvent: DynamicNodeEncoding { + static func nodeEncoding(for key: CodingKey) -> XMLEncoder.NodeEncoding { + switch key { + case CodingKeys.point: + return .element + default: + return .attribute + } + } +} + +extension XMLCoTEvent: DynamicNodeDecoding { + static func nodeDecoding(for key: CodingKey) -> XMLDecoder.NodeDecoding { + switch key { + case CodingKeys.point: + return .element + default: + return .attribute + } + } +} + +// MARK: - Validation Error Types +public enum CoTValidationError: LocalizedError { + case invalidVersion(String) + case invalidType(String) + case invalidTimeOrdering(String) + case invalidCoordinate(String) + + public var errorDescription: String? { + switch self { + case .invalidVersion(let version): + return "Invalid CoT version: \(version)" + case .invalidType(let type): + return "Invalid event type format: \(type)" + case .invalidTimeOrdering(let message): + return "Invalid time ordering: \(message)" + case .invalidCoordinate(let message): + return "Invalid coordinate: \(message)" + } + } +} + +// MARK: - XML Error Types +public enum CoTXMLError: LocalizedError { + case invalidXMLString + case encodingFailed(Error) + case decodingFailed(Error) + + public var errorDescription: String? { + switch self { + case .invalidXMLString: + return "Invalid XML string - unable to convert to data" + case .encodingFailed(let error): + return "XML encoding failed: \(error.localizedDescription)" + case .decodingFailed(let error): + return "XML decoding failed: \(error.localizedDescription)" + } + } +} + +// MARK: - Helper Methods +public extension CoTEvent { + + /// Check if the event is currently valid (between start and stale times) + var isValid: Bool { + let now = Date() + return now >= start && now <= stale + } + + /// Check if the event has become stale + var isStale: Bool { + Date() > stale + } + + /// Get the event type components as an array + /// e.g., "a-f-G-U-C" returns ["a", "f", "G", "U", "C"] + var typeComponents: [String] { + type.split(separator: "-").map(String.init) + } + + /// Get the primary type component (first component) + var primaryType: String? { + typeComponents.first + } + + /// Check if this is an atom type (starts with "a") + var isAtom: Bool { + primaryType == "a" + } + + /// Get the callsign from detail if available + var callsign: String? { + detail?.callsign + } + + /// Validate the event against CoT specification + var validationResult: Result { + // Check version + guard version.starts(with: "2.") else { + return .failure(.invalidVersion(version)) + } + + // Check type format + guard type.range(of: #"^\w+(-\w+)*$"#, options: .regularExpression) != nil else { + return .failure(.invalidType(type)) + } + + // Check time ordering + guard start <= stale else { + return .failure(.invalidTimeOrdering("start must be <= stale")) + } + + // Check coordinates + guard (-90...90).contains(point.lat) else { + return .failure(.invalidCoordinate("latitude out of range: \(point.lat)")) + } + + guard (-180...180).contains(point.lon) else { + return .failure(.invalidCoordinate("longitude out of range: \(point.lon)")) + } + + return .success(()) + } + + /// Check if the event is valid according to CoT specification + var isValidEvent: Bool { + validationResult.isSuccess + } +} + +// MARK: - Result Extension +private extension Result where Success == Void { + var isSuccess: Bool { + switch self { + case .success: + return true + case .failure: + return false + } + } +} \ No newline at end of file diff --git a/swift/Sources/DittoCoTCore/Event/CoTEventBuilder.swift b/swift/Sources/DittoCoTCore/Event/CoTEventBuilder.swift new file mode 100644 index 0000000..9b9f8d3 --- /dev/null +++ b/swift/Sources/DittoCoTCore/Event/CoTEventBuilder.swift @@ -0,0 +1,316 @@ +import Foundation + +/// Builder for creating CoT events with a fluent API +/// Following Swift conventions with @discardableResult for method chaining +public class CoTEventBuilder { + + // MARK: - Properties + + private var version: String = "2.0" + private var uid: String? + private var type: String? + private var time: Date = Date() + private var start: Date = Date() + private var stale: Date = Date().addingTimeInterval(300) // 5 minutes default + private var how: String = "h-g-i-g-o" // human-gps-input-generic-other + private var point: CoTPoint? + private var access: String? + private var qos: String? + private var opex: String? + private var caveat: String? + private var releasableTo: String? + private var detail: CoTDetail? + + // MARK: - Initialization + + public init() {} + + // MARK: - Required Field Setters + + /// Set the unique identifier + @discardableResult + public func uid(_ uid: String) -> Self { + self.uid = uid + return self + } + + /// Set the event type (e.g., "a-f-G-U-C") + @discardableResult + public func type(_ type: String) -> Self { + self.type = type + return self + } + + /// Set the event type using components + @discardableResult + public func type(components: String...) -> Self { + self.type = components.joined(separator: "-") + return self + } + + /// Set the geographic location + @discardableResult + public func point(lat: Double, lon: Double, hae: Double = 0.0) -> Self { + self.point = CoTPoint(lat: lat, lon: lon, hae: hae) + return self + } + + /// Set the geographic location with error values + @discardableResult + public func point(lat: Double, lon: Double, hae: Double = 0.0, ce: Double, le: Double) -> Self { + self.point = CoTPoint(lat: lat, lon: lon, hae: hae, ce: ce, le: le) + return self + } + + /// Set the geographic location using a CoTPoint + @discardableResult + public func point(_ point: CoTPoint) -> Self { + self.point = point + return self + } + + // MARK: - Time Field Setters + + /// Set the event generation time + @discardableResult + public func time(_ time: Date) -> Self { + self.time = time + return self + } + + /// Set the validity interval + @discardableResult + public func validity(start: Date, stale: Date) -> Self { + self.start = start + self.stale = stale + return self + } + + /// Set validity duration from now + @discardableResult + public func validFor(_ duration: TimeInterval) -> Self { + let now = Date() + self.start = now + self.stale = now.addingTimeInterval(duration) + return self + } + + /// Set how the event was generated + @discardableResult + public func how(_ how: String) -> Self { + self.how = how + return self + } + + // MARK: - Optional Field Setters + + /// Set the access control field + @discardableResult + public func access(_ access: String) -> Self { + self.access = access + return self + } + + /// Set quality of service + @discardableResult + public func qos(priority: Int = 1, overtaking: Character = "r", assurance: Character = "c") -> Self { + self.qos = "\(priority)-\(overtaking)-\(assurance)" + return self + } + + /// Set operational exercise indicator + @discardableResult + public func opex(_ opex: String) -> Self { + self.opex = opex + return self + } + + /// Set as operational event + @discardableResult + public func operational() -> Self { + self.opex = "o" + return self + } + + /// Set as exercise event + @discardableResult + public func exercise(_ name: String? = nil) -> Self { + self.opex = name.map { "e-\($0)" } ?? "e" + return self + } + + /// Set as simulation event + @discardableResult + public func simulation(_ name: String? = nil) -> Self { + self.opex = name.map { "s-\($0)" } ?? "s" + return self + } + + /// Set message caveat + @discardableResult + public func caveat(_ caveat: String) -> Self { + self.caveat = caveat + return self + } + + /// Set release authorization + @discardableResult + public func releasableTo(_ releasableTo: String) -> Self { + self.releasableTo = releasableTo + return self + } + + // MARK: - Detail Setters + + /// Set the detail object + @discardableResult + public func detail(_ detail: CoTDetail) -> Self { + self.detail = detail + return self + } + + /// Set a callsign in the detail + @discardableResult + public func callsign(_ callsign: String) -> Self { + let currentDetail = self.detail ?? CoTDetail() + self.detail = currentDetail.settingValue(.string(callsign), at: "contact.callsign") + return self + } + + /// Set remarks in the detail + @discardableResult + public func remarks(_ remarks: String) -> Self { + let currentDetail = self.detail ?? CoTDetail() + self.detail = currentDetail.settingValue(.string(remarks), at: "remarks") + return self + } + + /// Set color in the detail (ARGB hex format) + @discardableResult + public func color(_ argb: String) -> Self { + let currentDetail = self.detail ?? CoTDetail() + self.detail = currentDetail.settingValue(.string(argb), at: "color.argb") + return self + } + + /// Add a custom detail value + @discardableResult + public func detailValue(_ value: Any, at keyPath: String) -> Self { + let currentDetail = self.detail ?? CoTDetail() + self.detail = currentDetail.settingValue(JSONValue(value), at: keyPath) + return self + } + + // MARK: - Build + + /// Build the CoT event + /// - Throws: `CoTEventBuilderError` if required fields are missing + public func build() throws -> CoTEvent { + guard let uid = uid else { + throw CoTEventBuilderError.missingRequiredField("uid") + } + + guard let type = type else { + throw CoTEventBuilderError.missingRequiredField("type") + } + + guard let point = point else { + throw CoTEventBuilderError.missingRequiredField("point") + } + + // Validate type format + guard type.range(of: #"^\w+(-\w+)*$"#, options: .regularExpression) != nil else { + throw CoTEventBuilderError.invalidFormat("type", "Must match pattern: word(-word)*") + } + + // Validate QoS format if present + if let qos = qos { + guard qos.range(of: #"^\d-\w-\w$"#, options: .regularExpression) != nil else { + throw CoTEventBuilderError.invalidFormat("qos", "Must match pattern: digit-word-word") + } + } + + return CoTEvent( + version: version, + uid: uid, + type: type, + time: time, + start: start, + stale: stale, + how: how, + point: point, + access: access, + qos: qos, + opex: opex, + caveat: caveat, + releasableTo: releasableTo, + detail: detail + ) + } + + /// Build the CoT event as a Result + /// - Returns: Result containing either the built event or the build error + public func buildResult() -> Result { + do { + let event = try build() + return .success(event) + } catch let error as CoTEventBuilderError { + return .failure(error) + } catch { + return .failure(.invalidFormat("unknown", error.localizedDescription)) + } + } +} + +// MARK: - Builder Errors + +/// Errors that can occur when building a CoT event +public enum CoTEventBuilderError: LocalizedError { + case missingRequiredField(String) + case invalidFormat(String, String) + + public var errorDescription: String? { + switch self { + case .missingRequiredField(let field): + return "Missing required field: \(field)" + case .invalidFormat(let field, let format): + return "Invalid format for field '\(field)': \(format)" + } + } +} + +// MARK: - Convenience Extensions + +public extension CoTEventBuilder { + + /// Create a blue force (friendly) tracking event + @discardableResult + func blueForceTrack() -> Self { + type("a-f-G") + } + + /// Create a hostile force tracking event + @discardableResult + func hostileTrack() -> Self { + type("a-h-G") + } + + /// Create a neutral force tracking event + @discardableResult + func neutralTrack() -> Self { + type("a-n-G") + } + + /// Create an unknown force tracking event + @discardableResult + func unknownTrack() -> Self { + type("a-u-G") + } + + /// Create an emergency/911 event + @discardableResult + func emergency() -> Self { + type("b-a-o-tbl") + .qos(priority: 9, overtaking: "r", assurance: "g") + } +} \ No newline at end of file diff --git a/swift/Sources/DittoCoTCore/Event/CoTPoint.swift b/swift/Sources/DittoCoTCore/Event/CoTPoint.swift new file mode 100644 index 0000000..a38aeaa --- /dev/null +++ b/swift/Sources/DittoCoTCore/Event/CoTPoint.swift @@ -0,0 +1,79 @@ +import Foundation +import XMLCoder + +/// Represents a geographic point in the Cursor-on-Target system +/// Following the CoT 2.0 specification for point elements +public struct CoTPoint: Codable, Equatable { + /// Latitude in decimal degrees (WGS84) + /// Range: -90.0 to 90.0 + public let lat: Double + + /// Longitude in decimal degrees (WGS84) + /// Range: -180.0 to 180.0 + public let lon: Double + + /// Height above ellipsoid (meters) + /// Positive values indicate above Mean Sea Level + public let hae: Double + + /// Circular Error (meters) - horizontal uncertainty + /// Default is 999999.0 indicating "unknown" + public let ce: Double + + /// Linear Error (meters) - vertical uncertainty + /// Default is 999999.0 indicating "unknown" + public let le: Double + + /// Initializes a CoT point with all parameters + /// - Parameters: + /// - lat: Latitude in decimal degrees (-90 to 90) + /// - lon: Longitude in decimal degrees (-180 to 180) + /// - hae: Height above ellipsoid in meters + /// - ce: Circular error in meters (default: 999999.0) + /// - le: Linear error in meters (default: 999999.0) + public init(lat: Double, lon: Double, hae: Double = 0.0, ce: Double = 999999.0, le: Double = 999999.0) { + precondition((-90...90).contains(lat), "Latitude must be between -90 and 90 degrees") + precondition((-180...180).contains(lon), "Longitude must be between -180 and 180 degrees") + precondition(ce >= 0, "Circular error must be non-negative") + precondition(le >= 0, "Linear error must be non-negative") + + self.lat = lat + self.lon = lon + self.hae = hae + self.ce = ce + self.le = le + } +} + +// MARK: - CustomStringConvertible +extension CoTPoint: CustomStringConvertible { + public var description: String { + "CoTPoint(lat: \(lat), lon: \(lon), hae: \(hae), ce: \(ce), le: \(le))" + } +} + +// MARK: - XML Coding +extension CoTPoint { + enum CodingKeys: String, CodingKey { + case lat + case lon + case hae + case ce + case le + } +} + +// MARK: - XMLCoder Support +extension CoTPoint: DynamicNodeEncoding { + public static func nodeEncoding(for key: CodingKey) -> XMLEncoder.NodeEncoding { + // All point properties are XML attributes, not elements + return .attribute + } +} + +extension CoTPoint: DynamicNodeDecoding { + public static func nodeDecoding(for key: CodingKey) -> XMLDecoder.NodeDecoding { + // All point properties are XML attributes, not elements + return .attribute + } +} \ No newline at end of file diff --git a/swift/Sources/DittoCoTCore/JSONValueExtensions.swift b/swift/Sources/DittoCoTCore/JSONValueExtensions.swift new file mode 100644 index 0000000..42a4d1b --- /dev/null +++ b/swift/Sources/DittoCoTCore/JSONValueExtensions.swift @@ -0,0 +1,56 @@ +import Foundation + +/// Extensions for JSONValue to provide convenience accessors +/// This file provides the stringValue and other convenience properties +/// needed by CoTDetail.swift without being overwritten by code generation. +extension JSONValue { + /// Extract string value if this is a string JSONValue + public var stringValue: String? { + switch self { + case .string(let value): + return value + default: + return nil + } + } + + /// Extract number value if this is a number JSONValue + public var numberValue: Double? { + switch self { + case .number(let value): + return value + default: + return nil + } + } + + /// Extract boolean value if this is a bool JSONValue + public var boolValue: Bool? { + switch self { + case .bool(let value): + return value + default: + return nil + } + } + + /// Extract array value if this is an array JSONValue + public var arrayValue: [JSONValue]? { + switch self { + case .array(let value): + return value + default: + return nil + } + } + + /// Extract object value if this is an object JSONValue + public var objectValue: [String: JSONValue]? { + switch self { + case .object(let value): + return value + default: + return nil + } + } +} \ No newline at end of file diff --git a/swift/Tests/DittoCoTTests/DittoCoTTests.swift b/swift/Tests/DittoCoTTests/DittoCoTTests.swift new file mode 100644 index 0000000..95b200c --- /dev/null +++ b/swift/Tests/DittoCoTTests/DittoCoTTests.swift @@ -0,0 +1,52 @@ +import XCTest +@testable import DittoCoTCore + +final class DittoCoTTests: XCTestCase { + func testDocumentTypeCreation() { + let doc = ApiDocument( + _id: "test-id", + _c: 1, + _r: false, + a: "peer-key", + b: 12345, + d: "test-uid", + e: "test-callsign", + contentType: "application/json", + data: "test-data", + isFile: false, + isRemoved: false, + mime: "application/json", + source: "test-source", + tag: "test-tag", + timeMillis: 1234567890, + title: "Test Title" + ) + + XCTAssertEqual(doc.type, "api") + XCTAssertEqual(doc._id, "test-id") + XCTAssertEqual(doc._c, 1) + XCTAssertEqual(doc._v, 2) + XCTAssertEqual(doc._r, false) + } + + func testJSONValueEquality() { + let value1 = JSONValue.string("test") + let value2 = JSONValue.string("test") + let value3 = JSONValue.number(123.0) + + XCTAssertEqual(value1, value2) + XCTAssertNotEqual(value1, value3) + } + + func testJSONValueFromDict() { + let dict: [String: Any] = ["key": "value", "number": 42] + let jsonValue = JSONValue(dict) + + if case .object(let obj) = jsonValue { + XCTAssertEqual(obj["key"], JSONValue.string("value")) + XCTAssertEqual(obj["number"], JSONValue.number(42.0)) + } else { + XCTFail("Expected object JSONValue") + } + } +} \ No newline at end of file diff --git a/swift/Tests/DittoCoTTests/Event/CoTDetailTests.swift b/swift/Tests/DittoCoTTests/Event/CoTDetailTests.swift new file mode 100644 index 0000000..dbcc3e4 --- /dev/null +++ b/swift/Tests/DittoCoTTests/Event/CoTDetailTests.swift @@ -0,0 +1,242 @@ +import XCTest +@testable import DittoCoTCore + +final class CoTDetailTests: XCTestCase { + + // MARK: - Initialization Tests + + func testInitializationEmpty() { + let detail = CoTDetail() + + if case .object(let dict) = detail.value { + XCTAssertTrue(dict.isEmpty) + } else { + XCTFail("Expected empty object") + } + } + + func testInitializationWithDictionary() { + let dict: [String: Any] = [ + "contact": ["callsign": "ALPHA-1"], + "remarks": "Test remarks" + ] + + let detail = CoTDetail(dict) + + XCTAssertEqual(detail.callsign, "ALPHA-1") + XCTAssertEqual(detail.remarks, "Test remarks") + } + + func testInitializationWithJSONValue() { + let jsonValue = JSONValue.object([ + "test": .string("value"), + "nested": .object(["key": .number(42)]) + ]) + + let detail = CoTDetail(jsonValue) + + XCTAssertEqual(detail.getValue(at: "test"), .string("value")) + XCTAssertEqual(detail.getValue(at: "nested.key"), .number(42)) + } + + // MARK: - Get Value Tests + + func testGetValueSimplePath() { + let detail = CoTDetail(["key": "value"]) + + XCTAssertEqual(detail.getValue(at: "key"), .string("value")) + } + + func testGetValueNestedPath() { + let detail = CoTDetail([ + "level1": [ + "level2": [ + "level3": "deep value" + ] + ] + ]) + + XCTAssertEqual(detail.getValue(at: "level1.level2.level3"), .string("deep value")) + } + + func testGetValueNonExistentPath() { + let detail = CoTDetail(["key": "value"]) + + XCTAssertNil(detail.getValue(at: "nonexistent")) + XCTAssertNil(detail.getValue(at: "key.nonexistent")) + } + + func testGetValuePartialPath() { + let detail = CoTDetail([ + "contact": ["callsign": "ALPHA-1", "phone": "555-1234"] + ]) + + if case .object(let dict) = detail.getValue(at: "contact") { + XCTAssertEqual(dict["callsign"], .string("ALPHA-1")) + XCTAssertEqual(dict["phone"], .string("555-1234")) + } else { + XCTFail("Expected object at contact path") + } + } + + // MARK: - Set Value Tests + + func testSetValueSimplePath() { + let detail = CoTDetail() + let updated = detail.settingValue(.string("test"), at: "key") + + XCTAssertEqual(updated.getValue(at: "key"), .string("test")) + } + + func testSetValueNestedPath() { + let detail = CoTDetail() + let updated = detail.settingValue(.string("deep"), at: "level1.level2.level3") + + XCTAssertEqual(updated.getValue(at: "level1.level2.level3"), .string("deep")) + } + + func testSetValueOverwriteExisting() { + let detail = CoTDetail(["key": "old"]) + let updated = detail.settingValue(.string("new"), at: "key") + + XCTAssertEqual(updated.getValue(at: "key"), .string("new")) + } + + func testSetValuePreservesOtherValues() { + let detail = CoTDetail([ + "keep": "this", + "nested": ["keep": "also"] + ]) + + let updated = detail + .settingValue(.string("new"), at: "added") + .settingValue(.string("updated"), at: "nested.changed") + + XCTAssertEqual(updated.getValue(at: "keep"), .string("this")) + XCTAssertEqual(updated.getValue(at: "nested.keep"), .string("also")) + XCTAssertEqual(updated.getValue(at: "added"), .string("new")) + XCTAssertEqual(updated.getValue(at: "nested.changed"), .string("updated")) + } + + // MARK: - Common Properties Tests + + func testCallsignProperty() { + var detail = CoTDetail() + XCTAssertNil(detail.callsign) + + detail = detail.settingValue(.string("BRAVO-2"), at: "contact.callsign") + XCTAssertEqual(detail.callsign, "BRAVO-2") + } + + func testRemarksProperty() { + var detail = CoTDetail() + XCTAssertNil(detail.remarks) + + detail = detail.settingValue(.string("Test remarks here"), at: "remarks") + XCTAssertEqual(detail.remarks, "Test remarks here") + } + + func testColorProperty() { + var detail = CoTDetail() + XCTAssertNil(detail.color) + + detail = detail.settingValue(.string("FF0000FF"), at: "color.argb") + XCTAssertEqual(detail.color, "FF0000FF") + } + + // MARK: - Codable Tests + + func testEncodeDecode() throws { + let original = CoTDetail([ + "contact": ["callsign": "ALPHA-1"], + "remarks": "Test", + "battery": 85 + ]) + + let encoder = JSONEncoder() + let data = try encoder.encode(original) + + let decoder = JSONDecoder() + let decoded = try decoder.decode(CoTDetail.self, from: data) + + XCTAssertEqual(decoded.callsign, "ALPHA-1") + XCTAssertEqual(decoded.remarks, "Test") + + // Test simple field preservation + XCTAssertEqual(decoded.getValue(at: "battery"), .number(85)) + } + + // MARK: - Complex Scenario Tests + + func testComplexDetailStructure() { + let complexData: [String: Any] = [ + "contact": [ + "callsign": "EAGLE-1", + "phone": "555-0123", + "email": "eagle1@example.com" + ], + "status": [ + "battery": 85, + "fuel": 0.75, + "readiness": "green" + ], + "track": [ + "course": 270, + "speed": 55.5, + "history": [ + ["lat": 34.1, "lon": -118.1, "time": "2024-01-01T12:00:00Z"], + ["lat": 34.2, "lon": -118.2, "time": "2024-01-01T12:05:00Z"] + ] + ], + "remarks": "On patrol, all systems nominal" + ] + + let detail = CoTDetail(complexData) + + // Test various paths + XCTAssertEqual(detail.getValue(at: "contact.email"), .string("eagle1@example.com")) + XCTAssertEqual(detail.getValue(at: "status.battery"), .number(85)) + XCTAssertEqual(detail.getValue(at: "status.fuel"), .number(0.75)) + XCTAssertEqual(detail.getValue(at: "track.course"), .number(270)) + + // Test array access + if case .array(let history) = detail.getValue(at: "track.history") { + XCTAssertEqual(history.count, 2) + } else { + XCTFail("Expected array for track.history") + } + } + + // MARK: - Performance Tests + + func testGetValuePerformance() { + let detail = CoTDetail([ + "level1": [ + "level2": [ + "level3": [ + "level4": [ + "level5": "deep value" + ] + ] + ] + ] + ]) + + measure { + for _ in 0..<10000 { + _ = detail.getValue(at: "level1.level2.level3.level4.level5") + } + } + } + + func testSetValuePerformance() { + let detail = CoTDetail() + + measure { + var current = detail + for i in 0..<1000 { + current = current.settingValue(.number(Double(i)), at: "path.to.value.\(i)") + } + } + } +} \ No newline at end of file diff --git a/swift/Tests/DittoCoTTests/Event/CoTEventTests.swift b/swift/Tests/DittoCoTTests/Event/CoTEventTests.swift new file mode 100644 index 0000000..13d84e7 --- /dev/null +++ b/swift/Tests/DittoCoTTests/Event/CoTEventTests.swift @@ -0,0 +1,598 @@ +import XCTest +@testable import DittoCoTCore + +final class CoTEventTests: XCTestCase { + + // MARK: - Test Data + + private var testDate: Date { + Date(timeIntervalSince1970: 1704067200) // 2024-01-01 00:00:00 UTC + } + + private var testPoint: CoTPoint { + CoTPoint(lat: 34.12345, lon: -118.12345, hae: 150.0, ce: 10.0, le: 5.0) + } + + // MARK: - Initialization Tests + + func testInitializationWithRequiredFields() { + let event = CoTEvent( + uid: "TEST-123", + type: "a-f-G-U-C", + time: testDate, + start: testDate, + stale: testDate.addingTimeInterval(300), + how: "m-g", + point: testPoint + ) + + XCTAssertEqual(event.version, "2.0") + XCTAssertEqual(event.uid, "TEST-123") + XCTAssertEqual(event.type, "a-f-G-U-C") + XCTAssertEqual(event.time, testDate) + XCTAssertEqual(event.start, testDate) + XCTAssertEqual(event.stale, testDate.addingTimeInterval(300)) + XCTAssertEqual(event.how, "m-g") + XCTAssertEqual(event.point, testPoint) + + // Optional fields should be nil + XCTAssertNil(event.access) + XCTAssertNil(event.qos) + XCTAssertNil(event.opex) + XCTAssertNil(event.caveat) + XCTAssertNil(event.releasableTo) + XCTAssertNil(event.detail) + } + + func testInitializationWithAllFields() { + let detail = CoTDetail(["contact": ["callsign": "ALPHA-1"]]) + + let event = CoTEvent( + version: "2.1", + uid: "TEST-456", + type: "a-h-G", + time: testDate, + start: testDate, + stale: testDate.addingTimeInterval(600), + how: "h-g-i-g-o", + point: testPoint, + access: "nato", + qos: "5-r-d", + opex: "e-EXERCISE", + caveat: "FOUO", + releasableTo: "USA NATO", + detail: detail + ) + + XCTAssertEqual(event.version, "2.1") + XCTAssertEqual(event.access, "nato") + XCTAssertEqual(event.qos, "5-r-d") + XCTAssertEqual(event.opex, "e-EXERCISE") + XCTAssertEqual(event.caveat, "FOUO") + XCTAssertEqual(event.releasableTo, "USA NATO") + XCTAssertNotNil(event.detail) + XCTAssertEqual(event.callsign, "ALPHA-1") + } + + // MARK: - Helper Method Tests + + func testIsValid() { + let now = Date() + let validEvent = CoTEvent( + uid: "TEST-1", + type: "a-f-G", + time: now, + start: now.addingTimeInterval(-60), + stale: now.addingTimeInterval(60), + how: "m-g", + point: testPoint + ) + + let staleEvent = CoTEvent( + uid: "TEST-2", + type: "a-f-G", + time: now, + start: now.addingTimeInterval(-120), + stale: now.addingTimeInterval(-60), + how: "m-g", + point: testPoint + ) + + XCTAssertTrue(validEvent.isValid) + XCTAssertFalse(staleEvent.isValid) + } + + func testIsStale() { + let now = Date() + let freshEvent = CoTEvent( + uid: "TEST-1", + type: "a-f-G", + time: now, + start: now, + stale: now.addingTimeInterval(60), + how: "m-g", + point: testPoint + ) + + let staleEvent = CoTEvent( + uid: "TEST-2", + type: "a-f-G", + time: now, + start: now.addingTimeInterval(-120), + stale: now.addingTimeInterval(-60), + how: "m-g", + point: testPoint + ) + + XCTAssertFalse(freshEvent.isStale) + XCTAssertTrue(staleEvent.isStale) + } + + func testTypeComponents() { + let event = CoTEvent( + uid: "TEST", + type: "a-f-G-U-C-I", + time: testDate, + start: testDate, + stale: testDate.addingTimeInterval(300), + how: "m-g", + point: testPoint + ) + + XCTAssertEqual(event.typeComponents, ["a", "f", "G", "U", "C", "I"]) + XCTAssertEqual(event.primaryType, "a") + XCTAssertTrue(event.isAtom) + } + + func testNonAtomType() { + let event = CoTEvent( + uid: "TEST", + type: "b-m-p-s-p-i", + time: testDate, + start: testDate, + stale: testDate.addingTimeInterval(300), + how: "m-g", + point: testPoint + ) + + XCTAssertEqual(event.primaryType, "b") + XCTAssertFalse(event.isAtom) + } + + // MARK: - Equatable Tests + + func testEquality() { + let event1 = CoTEvent( + uid: "TEST-123", + type: "a-f-G-U-C", + time: testDate, + start: testDate, + stale: testDate.addingTimeInterval(300), + how: "m-g", + point: testPoint + ) + + let event2 = CoTEvent( + uid: "TEST-123", + type: "a-f-G-U-C", + time: testDate, + start: testDate, + stale: testDate.addingTimeInterval(300), + how: "m-g", + point: testPoint + ) + + XCTAssertEqual(event1, event2) + } + + func testInequality() { + let baseEvent = CoTEvent( + uid: "TEST-123", + type: "a-f-G-U-C", + time: testDate, + start: testDate, + stale: testDate.addingTimeInterval(300), + how: "m-g", + point: testPoint + ) + + let differentUID = CoTEvent( + uid: "TEST-456", + type: "a-f-G-U-C", + time: testDate, + start: testDate, + stale: testDate.addingTimeInterval(300), + how: "m-g", + point: testPoint + ) + + let differentType = CoTEvent( + uid: "TEST-123", + type: "a-h-G", + time: testDate, + start: testDate, + stale: testDate.addingTimeInterval(300), + how: "m-g", + point: testPoint + ) + + XCTAssertNotEqual(baseEvent, differentUID) + XCTAssertNotEqual(baseEvent, differentType) + } + + // MARK: - Codable Tests + + func testEncodeDecode() throws { + let detail = CoTDetail([ + "contact": ["callsign": "BRAVO-6"], + "remarks": "Test event" + ]) + + let original = CoTEvent( + uid: "TEST-789", + type: "a-f-G-U-C", + time: testDate, + start: testDate, + stale: testDate.addingTimeInterval(300), + how: "m-g", + point: testPoint, + access: "unrestricted", + qos: "1-r-c", + detail: detail + ) + + let encoder = JSONEncoder() + encoder.dateEncodingStrategy = .iso8601 + let data = try encoder.encode(original) + + let decoder = JSONDecoder() + decoder.dateDecodingStrategy = .iso8601 + let decoded = try decoder.decode(CoTEvent.self, from: data) + + XCTAssertEqual(original, decoded) + XCTAssertEqual(decoded.callsign, "BRAVO-6") + } + + // MARK: - CustomStringConvertible Tests + + func testDescription() { + let event = CoTEvent( + uid: "DESC-TEST", + type: "a-f-G", + time: testDate, + start: testDate, + stale: testDate.addingTimeInterval(300), + how: "m-g", + point: testPoint + ) + + let description = event.description + + XCTAssertTrue(description.contains("DESC-TEST")) + XCTAssertTrue(description.contains("a-f-G")) + XCTAssertTrue(description.contains("34.12345")) + XCTAssertTrue(description.contains("-118.12345")) + } + + // MARK: - Complex Scenario Tests + + func testMilitaryUnitEvent() { + let detail = CoTDetail([ + "contact": [ + "callsign": "EAGLE-1", + "dsn": "312-555-0123", + "email": "eagle1@mil.example" + ], + "group": [ + "name": "1st Platoon", + "role": "Team Lead" + ], + "_flow-tags_": [ + "ATAK": ["TAK-Server-1"] + ], + "remarks": "On patrol, sector clear" + ]) + + let event = CoTEvent( + uid: "MIL-UNIT-001", + type: "a-f-G-U-C-I", + time: Date(), + start: Date(), + stale: Date().addingTimeInterval(3600), + how: "m-g", + point: CoTPoint(lat: 33.5, lon: -117.2, hae: 25.0, ce: 5.0, le: 2.0), + access: "coalition", + qos: "3-r-d", + opex: "o-OPERATION-FREEDOM", + caveat: "FOUO", + releasableTo: "USA GBR CAN AUS NZL", + detail: detail + ) + + XCTAssertEqual(event.callsign, "EAGLE-1") + XCTAssertEqual(event.detail?.getValue(at: "group.name"), .string("1st Platoon")) + XCTAssertEqual(event.opex, "o-OPERATION-FREEDOM") + } + + // MARK: - XML Serialization Tests + + func testXMLSerialization() throws { + let event = CoTEvent( + uid: "XML-TEST-123", + type: "a-f-G-U-C", + time: testDate, + start: testDate, + stale: testDate.addingTimeInterval(300), + how: "m-g", + point: testPoint, + access: "unrestricted", + qos: "1-r-c" + ) + + let xml = try event.toXML() + + XCTAssertTrue(xml.contains(" + + + """ + + let event = try CoTEvent.fromXML(xmlString) + + XCTAssertEqual(event.uid, "XML-PARSE-TEST") + XCTAssertEqual(event.type, "a-f-G") + XCTAssertEqual(event.point.lat, 34.12345) + XCTAssertEqual(event.point.lon, -118.12345) + XCTAssertEqual(event.point.hae, 150.0) + } + + func testXMLRoundTrip() throws { + let original = CoTEvent( + uid: "ROUNDTRIP-TEST", + type: "a-f-G-U-C", + time: testDate, + start: testDate, + stale: testDate.addingTimeInterval(300), + how: "m-g", + point: testPoint, + access: "coalition", + qos: "2-r-c" + ) + + let xml = try original.toXML() + let parsed = try CoTEvent.fromXML(xml) + + XCTAssertEqual(original.uid, parsed.uid) + XCTAssertEqual(original.type, parsed.type) + XCTAssertEqual(original.point, parsed.point) + XCTAssertEqual(original.access, parsed.access) + XCTAssertEqual(original.qos, parsed.qos) + } + + func testXMLPrettyPrint() throws { + let event = CoTEvent( + uid: "PRETTY-TEST", + type: "a-f-G", + time: testDate, + start: testDate, + stale: testDate.addingTimeInterval(300), + how: "m-g", + point: testPoint + ) + + let prettyXML = try event.toXML(prettyPrint: true) + let compactXML = try event.toXML(prettyPrint: false) + + XCTAssertTrue(prettyXML.contains("\n")) + XCTAssertFalse(compactXML.contains("\n")) + XCTAssertGreaterThan(prettyXML.count, compactXML.count) + } + + func testXMLWithoutDetail() throws { + // Note: Detail support is not implemented in basic XML serialization + let event = CoTEvent( + uid: "NO-DETAIL-XML-TEST", + type: "a-f-G-U-C", + time: testDate, + start: testDate, + stale: testDate.addingTimeInterval(300), + how: "m-g", + point: testPoint + ) + + let xml = try event.toXML(prettyPrint: true) + let parsed = try CoTEvent.fromXML(xml) + + XCTAssertEqual(parsed.uid, "NO-DETAIL-XML-TEST") + XCTAssertEqual(parsed.type, "a-f-G-U-C") + XCTAssertNil(parsed.detail) // Detail is not supported in basic XML + } + + func testInvalidXMLHandling() { + let invalidXML = "not a cot event" + + XCTAssertThrowsError(try CoTEvent.fromXML(invalidXML)) { error in + XCTAssertTrue(error is DecodingError) + } + } + + // MARK: - Swift Idiomatic Features Tests + + func testStaticFactoryMethods() { + let point = CoTPoint(lat: 40.0, lon: -74.0) + + let blueForce = CoTEvent.blueForceTrack(uid: "BF-123", at: point, callsign: "ALPHA-1") + XCTAssertEqual(blueForce.uid, "BF-123") + XCTAssertEqual(blueForce.type, "a-f-G") + XCTAssertEqual(blueForce.callsign, "ALPHA-1") + + let emergency = CoTEvent.emergency(uid: "EMRG-456", at: point, message: "Help needed") + XCTAssertEqual(emergency.uid, "EMRG-456") + XCTAssertEqual(emergency.type, "b-a-o-tbl") + XCTAssertEqual(emergency.detail?.remarks, "Help needed") + } + + func testResultBasedBuilder() { + let point = CoTPoint(lat: 34.0, lon: -118.0) + + // Test successful build + let successResult = CoTEvent.builder() + .uid("TEST-SUCCESS") + .type("a-f-G") + .point(point) + .buildResult() + + switch successResult { + case .success(let event): + XCTAssertEqual(event.uid, "TEST-SUCCESS") + case .failure: + XCTFail("Expected success") + } + + // Test failure build + let failureResult = CoTEvent.builder() + .uid("TEST-FAILURE") + // Missing type and point + .buildResult() + + switch failureResult { + case .success: + XCTFail("Expected failure") + case .failure(let error): + XCTAssertTrue(error.localizedDescription.contains("Missing required field")) + } + } + + func testEventValidation() { + let validEvent = CoTEvent( + uid: "VALID-123", + type: "a-f-G-U-C", + time: testDate, + start: testDate, + stale: testDate.addingTimeInterval(300), + how: "m-g", + point: CoTPoint(lat: 45.0, lon: -90.0) + ) + + XCTAssertTrue(validEvent.isValidEvent) + + switch validEvent.validationResult { + case .success: + // Expected + break + case .failure(let error): + XCTFail("Validation should succeed: \(error)") + } + + // Test invalid version (since CoTPoint prevents invalid coordinates at creation) + let invalidVersionEvent = CoTEvent( + version: "1.0", // Invalid version + uid: "INVALID-123", + type: "a-f-G", + time: testDate, + start: testDate, + stale: testDate.addingTimeInterval(300), + how: "m-g", + point: CoTPoint(lat: 45.0, lon: -90.0) + ) + + XCTAssertFalse(invalidVersionEvent.isValidEvent) + + switch invalidVersionEvent.validationResult { + case .success: + XCTFail("Validation should fail") + case .failure(let error): + XCTAssertTrue(error.localizedDescription.contains("Invalid CoT version")) + } + + // Test invalid type format + let invalidTypeEvent = CoTEvent( + uid: "INVALID-TYPE", + type: "invalid_type!", // Invalid characters + time: testDate, + start: testDate, + stale: testDate.addingTimeInterval(300), + how: "m-g", + point: CoTPoint(lat: 45.0, lon: -90.0) + ) + + XCTAssertFalse(invalidTypeEvent.isValidEvent) + + switch invalidTypeEvent.validationResult { + case .success: + XCTFail("Validation should fail") + case .failure(let error): + XCTAssertTrue(error.localizedDescription.contains("Invalid event type format")) + } + } + + // MARK: - Performance Tests + + func testCreationPerformance() { + measure { + for i in 0..<1000 { + _ = CoTEvent( + uid: "PERF-\(i)", + type: "a-f-G-U-C", + time: Date(), + start: Date(), + stale: Date().addingTimeInterval(300), + how: "m-g", + point: testPoint + ) + } + } + } + + func testCodablePerformance() throws { + let event = CoTEvent( + uid: "PERF-TEST", + type: "a-f-G-U-C", + time: testDate, + start: testDate, + stale: testDate.addingTimeInterval(300), + how: "m-g", + point: testPoint, + detail: CoTDetail(["test": "data"]) + ) + + let encoder = JSONEncoder() + let decoder = JSONDecoder() + + measure { + for _ in 0..<1000 { + let data = try! encoder.encode(event) + _ = try! decoder.decode(CoTEvent.self, from: data) + } + } + } + + func testXMLPerformance() throws { + let event = CoTEvent( + uid: "XML-PERF-TEST", + type: "a-f-G-U-C", + time: testDate, + start: testDate, + stale: testDate.addingTimeInterval(300), + how: "m-g", + point: testPoint, + detail: CoTDetail(["test": "data"]) + ) + + measure { + for _ in 0..<100 { + let xml = try! event.toXML() + _ = try! CoTEvent.fromXML(xml) + } + } + } +} \ No newline at end of file diff --git a/swift/Tests/DittoCoTTests/Event/CoTPointTests.swift b/swift/Tests/DittoCoTTests/Event/CoTPointTests.swift new file mode 100644 index 0000000..69319e2 --- /dev/null +++ b/swift/Tests/DittoCoTTests/Event/CoTPointTests.swift @@ -0,0 +1,155 @@ +import XCTest +@testable import DittoCoTCore + +final class CoTPointTests: XCTestCase { + + // MARK: - Initialization Tests + + func testInitializationWithDefaultValues() { + let point = CoTPoint(lat: 34.12345, lon: -118.12345) + + XCTAssertEqual(point.lat, 34.12345) + XCTAssertEqual(point.lon, -118.12345) + XCTAssertEqual(point.hae, 0.0) + XCTAssertEqual(point.ce, 999999.0) + XCTAssertEqual(point.le, 999999.0) + } + + func testInitializationWithAllValues() { + let point = CoTPoint(lat: 34.12345, lon: -118.12345, hae: 150.0, ce: 10.0, le: 5.0) + + XCTAssertEqual(point.lat, 34.12345) + XCTAssertEqual(point.lon, -118.12345) + XCTAssertEqual(point.hae, 150.0) + XCTAssertEqual(point.ce, 10.0) + XCTAssertEqual(point.le, 5.0) + } + + // MARK: - Boundary Tests + + func testValidLatitudeBoundaries() { + // Test minimum latitude + let minPoint = CoTPoint(lat: -90.0, lon: 0.0) + XCTAssertEqual(minPoint.lat, -90.0) + + // Test maximum latitude + let maxPoint = CoTPoint(lat: 90.0, lon: 0.0) + XCTAssertEqual(maxPoint.lat, 90.0) + } + + func testValidLongitudeBoundaries() { + // Test minimum longitude + let minPoint = CoTPoint(lat: 0.0, lon: -180.0) + XCTAssertEqual(minPoint.lon, -180.0) + + // Test maximum longitude + let maxPoint = CoTPoint(lat: 0.0, lon: 180.0) + XCTAssertEqual(maxPoint.lon, 180.0) + } + + // MARK: - Precondition Tests + // Note: These tests will trap in debug builds, so they're commented out + // In production, you might want to use throwing initializers instead + + /* + func testInvalidLatitudePrecondition() { + // This would trap: CoTPoint(lat: 91.0, lon: 0.0) + // This would trap: CoTPoint(lat: -91.0, lon: 0.0) + } + + func testInvalidLongitudePrecondition() { + // This would trap: CoTPoint(lat: 0.0, lon: 181.0) + // This would trap: CoTPoint(lat: 0.0, lon: -181.0) + } + + func testInvalidErrorValuesPrecondition() { + // This would trap: CoTPoint(lat: 0.0, lon: 0.0, hae: 0.0, ce: -1.0, le: 5.0) + // This would trap: CoTPoint(lat: 0.0, lon: 0.0, hae: 0.0, ce: 5.0, le: -1.0) + } + */ + + // MARK: - Equatable Tests + + func testEquality() { + let point1 = CoTPoint(lat: 34.12345, lon: -118.12345, hae: 150.0, ce: 10.0, le: 5.0) + let point2 = CoTPoint(lat: 34.12345, lon: -118.12345, hae: 150.0, ce: 10.0, le: 5.0) + + XCTAssertEqual(point1, point2) + } + + func testInequality() { + let point1 = CoTPoint(lat: 34.12345, lon: -118.12345) + let point2 = CoTPoint(lat: 34.12346, lon: -118.12345) + let point3 = CoTPoint(lat: 34.12345, lon: -118.12346) + let point4 = CoTPoint(lat: 34.12345, lon: -118.12345, hae: 150.0) + + XCTAssertNotEqual(point1, point2) + XCTAssertNotEqual(point1, point3) + XCTAssertNotEqual(point1, point4) + } + + // MARK: - Codable Tests + + func testEncodeDecode() throws { + let original = CoTPoint(lat: 34.12345, lon: -118.12345, hae: 150.0, ce: 10.0, le: 5.0) + + let encoder = JSONEncoder() + let data = try encoder.encode(original) + + let decoder = JSONDecoder() + let decoded = try decoder.decode(CoTPoint.self, from: data) + + XCTAssertEqual(original, decoded) + } + + func testJSONRepresentation() throws { + let point = CoTPoint(lat: 34.12345, lon: -118.12345, hae: 150.0, ce: 10.0, le: 5.0) + + let encoder = JSONEncoder() + encoder.outputFormatting = [.sortedKeys, .prettyPrinted] + let data = try encoder.encode(point) + let json = String(data: data, encoding: .utf8)! + + XCTAssertTrue(json.contains("\"lat\" : 34.12345")) + XCTAssertTrue(json.contains("\"lon\" : -118.12345")) + XCTAssertTrue(json.contains("\"hae\" : 150")) + XCTAssertTrue(json.contains("\"ce\" : 10")) + XCTAssertTrue(json.contains("\"le\" : 5")) + } + + // MARK: - CustomStringConvertible Tests + + func testDescription() { + let point = CoTPoint(lat: 34.12345, lon: -118.12345, hae: 150.0, ce: 10.0, le: 5.0) + let description = point.description + + XCTAssertTrue(description.contains("34.12345")) + XCTAssertTrue(description.contains("-118.12345")) + XCTAssertTrue(description.contains("150.0")) + XCTAssertTrue(description.contains("10.0")) + XCTAssertTrue(description.contains("5.0")) + } + + // MARK: - Performance Tests + + func testInitializationPerformance() { + measure { + for _ in 0..<10000 { + _ = CoTPoint(lat: 34.12345, lon: -118.12345, hae: 150.0, ce: 10.0, le: 5.0) + } + } + } + + func testCodablePerformance() throws { + let point = CoTPoint(lat: 34.12345, lon: -118.12345, hae: 150.0, ce: 10.0, le: 5.0) + let encoder = JSONEncoder() + let decoder = JSONDecoder() + + measure { + for _ in 0..<1000 { + let data = try! encoder.encode(point) + _ = try! decoder.decode(CoTPoint.self, from: data) + } + } + } +} \ No newline at end of file diff --git a/swift/Tests/IntegrationTests/IntegrationTests.swift b/swift/Tests/IntegrationTests/IntegrationTests.swift new file mode 100644 index 0000000..b1e0f4f --- /dev/null +++ b/swift/Tests/IntegrationTests/IntegrationTests.swift @@ -0,0 +1,35 @@ +import XCTest +@testable import DittoCoTCore + +final class IntegrationTests: XCTestCase { + func testUnionTypeDecoding() { + // For now, just test that we can create the union type + let apiDoc = ApiDocument( + _id: "test-id", + _c: 1, + _r: false, + a: "peer-key", + b: 12345, + d: "test-uid", + e: "test-callsign", + contentType: "application/json", + data: "test-data", + isFile: false, + isRemoved: false, + mime: "application/json", + source: "test-source", + tag: "test-tag", + timeMillis: 1234567890, + title: "Test Title" + ) + + let unionDoc = DittoCoTDocument.api(apiDoc) + + switch unionDoc { + case .api(let doc): + XCTAssertEqual(doc.type, "api") + default: + XCTFail("Expected API document") + } + } +} \ No newline at end of file diff --git a/swift/build_macos_app.sh b/swift/build_macos_app.sh new file mode 100755 index 0000000..a8a705f --- /dev/null +++ b/swift/build_macos_app.sh @@ -0,0 +1,201 @@ +#!/bin/bash + +# Build script for creating a proper macOS CoTExampleApp.app bundle + +set -e + +echo "๐Ÿ”จ Building CoTExampleApp for macOS..." + +# Clean any previous builds +rm -rf CoTExampleApp.app + +# Build the executable (force rebuild) +echo "๐Ÿงน Cleaning previous build..." +swift package clean +rm -rf .build +echo "๐Ÿ”จ Building fresh..." +swift build --product CoTExampleApp --configuration release + +# Get the built executable path +EXECUTABLE_PATH=$(swift build --show-bin-path --configuration release)/CoTExampleApp + +echo "๐Ÿ“ฆ Creating app bundle..." + +# Create the app bundle structure +APP_NAME="CoTExampleApp" +APP_BUNDLE="${APP_NAME}.app" +CONTENTS_DIR="${APP_BUNDLE}/Contents" +MACOS_DIR="${CONTENTS_DIR}/MacOS" +RESOURCES_DIR="${CONTENTS_DIR}/Resources" + +mkdir -p "${MACOS_DIR}" +mkdir -p "${RESOURCES_DIR}" + +# Copy the executable +cp "${EXECUTABLE_PATH}" "${MACOS_DIR}/${APP_NAME}" + +# Copy .env file if it exists +if [[ -f ".env" ]]; then + echo "๐Ÿ“„ Copying .env file..." + cp ".env" "${RESOURCES_DIR}/" + echo " โœ… Copied .env to app bundle" +else + echo " โš ๏ธ No .env file found - app may require manual configuration" +fi + +# Find and copy required frameworks +echo "๐Ÿ“š Copying required frameworks..." +FRAMEWORKS_DIR="${CONTENTS_DIR}/Frameworks" +mkdir -p "${FRAMEWORKS_DIR}" + +# Find the DittoSwift framework in the Swift Package Manager cache +SWIFT_BUILD_DIR=$(swift build --show-bin-path --configuration release) +SWIFT_BUILD_BASE=$(dirname "${SWIFT_BUILD_DIR}") + +# Look for required frameworks +REQUIRED_FRAMEWORKS=("DittoSwift.framework" "DittoObjC.framework") + +for framework_name in "${REQUIRED_FRAMEWORKS[@]}"; do + echo " Looking for $framework_name..." + + FRAMEWORK_PATHS=( + "${SWIFT_BUILD_BASE}/release/$framework_name" + "${SWIFT_BUILD_BASE}/debug/$framework_name" + "${SWIFT_BUILD_BASE}/artifacts/ditto-swift-package/DittoSwift/DittoSwift.xcframework/macos-arm64_x86_64/$framework_name" + "${SWIFT_BUILD_BASE}/checkouts/DittoSwiftPackage/DittoSwift.xcframework/macos-arm64_x86_64/$framework_name" + "$(find ~/.swiftpm -name "$framework_name" -path "*/macos-arm64_x86_64/*" 2>/dev/null | head -1)" + ) + + FOUND_FRAMEWORK="" + for framework_path in "${FRAMEWORK_PATHS[@]}"; do + if [[ -d "$framework_path" ]]; then + FOUND_FRAMEWORK="$framework_path" + echo " Found $framework_name at: $framework_path" + break + fi + done + + if [[ -z "$FOUND_FRAMEWORK" ]]; then + echo " โŒ Could not find $framework_name" + echo " Searching for frameworks..." + find ~/.swiftpm -name "$framework_name" 2>/dev/null || true + find "${SWIFT_BUILD_BASE}" -name "$framework_name" 2>/dev/null || true + echo " Please ensure DittoSwift package is resolved: swift package resolve" + exit 1 + fi + + # Copy the framework + cp -R "${FOUND_FRAMEWORK}" "${FRAMEWORKS_DIR}/" + echo " โœ… Copied $framework_name to app bundle" +done + +# Create Info.plist +cat > "${CONTENTS_DIR}/Info.plist" << EOF + + + + + CFBundleExecutable + ${APP_NAME} + CFBundleIdentifier + live.ditto.cot.example + CFBundleName + CoT Example + CFBundleDisplayName + CoT Example + CFBundleVersion + 1.0 + CFBundleShortVersionString + 1.0 + CFBundlePackageType + APPL + CFBundleSignature + ???? + LSMinimumSystemVersion + 14.0 + NSHighResolutionCapable + + NSHumanReadableCopyright + Copyright ยฉ 2025 Ditto. All rights reserved. + LSApplicationCategoryType + public.app-category.developer-tools + NSBluetoothAlwaysUsageDescription + This app uses Bluetooth to discover and sync with nearby devices running Ditto. + NSLocationWhenInUseUsageDescription + This app uses your location to display CoT events on the map. + NSLocationAlwaysAndWhenInUseUsageDescription + This app uses your location to display and share CoT events with other users. + + +EOF + +# Create entitlements file for modern macOS compatibility +cat > "${CONTENTS_DIR}/entitlements.plist" << EOF + + + + + com.apple.security.app-sandbox + + com.apple.security.network.client + + com.apple.security.network.server + + com.apple.security.files.user-selected.read-write + + + +EOF + +# Make the executable actually executable +chmod +x "${MACOS_DIR}/${APP_NAME}" + +# Fix the @rpath in the executable to point to the bundled frameworks +echo "๐Ÿ”ง Fixing framework paths..." +install_name_tool -add_rpath "@executable_path/../Frameworks" "${MACOS_DIR}/${APP_NAME}" + +# Also fix the frameworks themselves to ensure they have correct install names +for framework_name in "${REQUIRED_FRAMEWORKS[@]}"; do + framework_path="${FRAMEWORKS_DIR}/$framework_name" + if [[ -d "$framework_path" ]]; then + # Get the binary name (remove .framework extension) + binary_name="${framework_name%.framework}" + binary_path="$framework_path/$binary_name" + + # If it's a versioned framework, update the main binary path + if [[ -f "$framework_path/Versions/A/$binary_name" ]]; then + binary_path="$framework_path/Versions/A/$binary_name" + fi + + if [[ -f "$binary_path" ]]; then + echo " Updating install name for $binary_name" + install_name_tool -id "@rpath/$framework_name/$binary_name" "$binary_path" 2>/dev/null || true + fi + fi +done + +# Try to sign the app (this will work if you have a developer certificate, otherwise it will fail gracefully) +echo "๐Ÿ” Attempting to sign the application..." +if codesign --sign - --force --deep "${APP_BUNDLE}" 2>/dev/null; then + echo " โœ… App signed successfully" +else + echo " โš ๏ธ App signing failed - app may require manual approval in System Preferences" +fi + +echo "โœ… Created ${APP_BUNDLE}" +echo "๐Ÿš€ You can now run: open ${APP_BUNDLE}" +echo "" +echo "Or double-click the app in Finder to launch it properly as a macOS application." + +# Check if we should kill any existing instances first +if [[ "$1" == "--relaunch" || "$2" == "--relaunch" ]]; then + echo "๐Ÿ”„ Killing any existing instances..." + pkill -f "CoTExampleApp" || true + sleep 1 +fi + +# Optionally launch it +if [[ "$1" == "--launch" || "$1" == "--relaunch" ]]; then + echo "๐Ÿš€ Launching ${APP_BUNDLE}..." + open "${APP_BUNDLE}" +fi \ No newline at end of file diff --git a/swift/check_app_logs.sh b/swift/check_app_logs.sh new file mode 100755 index 0000000..15b1539 --- /dev/null +++ b/swift/check_app_logs.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +# Script to check if the app is running and view its logs + +echo "๐Ÿ” Checking if CoTExampleApp is running..." + +# Check if the app is running +if pgrep -f "CoTExampleApp" > /dev/null; then + echo "โœ… CoTExampleApp is running" + PID=$(pgrep -f "CoTExampleApp") + echo " Process ID: $PID" +else + echo "โŒ CoTExampleApp is not running" +fi + +echo "" +echo "๐Ÿ“‹ Options:" +echo "1. Default: Show recent logs from last 5 minutes" +echo "2. 'stream' or 'live': Stream live logs (press Ctrl+C to stop)" +echo "3. 'terminal': Run app directly in terminal to see console output" +echo "" + +if [[ "$1" == "stream" || "$1" == "live" ]]; then + echo "๐Ÿ”ด Streaming live logs for CoTExampleApp (press Ctrl+C to stop)..." + echo "" + log stream --predicate 'process == "CoTExampleApp"' --level debug +elif [[ "$1" == "terminal" ]]; then + echo "๐Ÿš€ Running app directly in terminal to see console output..." + echo "" + cd "$(dirname "$0")" + if [[ -d "CoTExampleApp.app" ]]; then + ./CoTExampleApp.app/Contents/MacOS/CoTExampleApp + else + echo "โŒ CoTExampleApp.app not found. Run './build_macos_app.sh --launch' first." + exit 1 + fi +else + echo "๐Ÿ“‹ Recent app logs (last 5 minutes):" + echo "=======================================" + + # Show recent logs from the app + log show --predicate 'process == "CoTExampleApp"' --last 5m --style syslog | tail -50 + + echo "" + echo "To view real-time logs, run:" + echo "./check_app_logs.sh stream" + echo "" + echo "To run app in terminal with direct console output:" + echo "./check_app_logs.sh terminal" +fi \ No newline at end of file diff --git a/swift/clean_build.sh b/swift/clean_build.sh new file mode 100755 index 0000000..9842ae6 --- /dev/null +++ b/swift/clean_build.sh @@ -0,0 +1,32 @@ +#!/bin/bash +set -e + +echo "๐Ÿงน Cleaning all build artifacts..." + +# Clean Swift Package Manager +echo " Cleaning Swift Package Manager..." +swift package clean + +# Remove build directories +echo " Removing .build directory..." +rm -rf .build + +# Remove any built apps +echo " Removing built apps..." +rm -rf CoTExampleApp.app +rm -rf Build/ +rm -rf DerivedData/ + +# Clear module cache +echo " Clearing module cache..." +rm -rf ~/Library/Caches/org.swift.swiftpm + +# Clear Xcode derived data for anything CoT related +echo " Clearing Xcode derived data..." +rm -rf ~/Library/Developer/Xcode/DerivedData/*CoT* 2>/dev/null || true + +echo "โœ… Clean complete!" +echo "" +echo "To rebuild the app, run:" +echo " swift build" +echo " or open in Xcode and build" \ No newline at end of file diff --git a/swift/debug_output.log b/swift/debug_output.log new file mode 100644 index 0000000..97860b4 --- /dev/null +++ b/swift/debug_output.log @@ -0,0 +1,245 @@ +2025-07-27T07:43:25.843421+10:00 INFO init_logging:init_tracing{config.service_name="ditto" tracing_format="json" rust_log="trace"}: tracing_config: initializing tracing opentelemetry_enabled=false loki_enabled=false +2025-07-27T07:43:25.843502+10:00 INFO post_init_logging: ditto_logging: successfully initialized logging +2025-07-27T07:43:25.843508+10:00 INFO post_init_logging: ditto_logging: installed tracing-log compatibility layer originator=tracing-config +2025-07-27T07:43:25.855712+10:00 INFO ditto_init: ditto_auth: initializing auth client identity=SharedKey { app_id: "ccc19f27-2357-4a3b-a571-d09644aa7132" } +2025-07-27T07:43:25.858889+10:00 INFO ditto_init: ditto_core: starting Ditto... app_id=ccc19f27-2357-4a3b-a571-d09644aa7132 local.peer_id=pkAocCgkMCJXL6CqX-suvARB1nCPRcDhk8c4v_pcETXE80qECxaSc sdk.platform=macOS sdk.language=Swift sdk.version=4.11.1 sdk.commit=c8da640ff8 persistence_directory="/Users/kitplummer/Documents/DittoCoTExample_1753566205" +2025-07-27T07:43:25.875107+10:00 INFO dittoffi: Successfully activated Ditto. +2025-07-27T07:43:25.879855+10:00 INFO dittoffi: Starting BLE transport +2025-07-27T07:43:25.880783+10:00 INFO dittoffi: Starting AWDL transport +2025-07-27T07:43:25.887872+10:00 INFO dittoffi: Starting mDNS discovery +2025-07-27T07:43:25.894405+10:00 INFO dittoffi: Starting multicast discovery +2025-07-27T07:43:25.894476+10:00 INFO dittoffi: Starting TCP server bind="[::]:0" +2025-07-27T07:43:36.718193+10:00 INFO ditto_multiplexer: physical connection started remote=pkAocCgkMDfvFFbAYiV7xkB14wLMBQi3aEjSUcw_xTa3XNpVmN11s role=Server transport_type=Bluetooth +2025-07-27T07:43:37.060142+10:00 INFO ditto_multiplexer: Attempting to perform blocking upgrade for app "ccc19f27-2357-4a3b-a571-d09644aa7132" after encountering remote with protocol flags of [NoV3, NoV2] +2025-07-27T07:43:37.063076+10:00 INFO ditto_multiplexer: Successfully performed blocking upgrade for app app_name="ccc19f27-2357-4a3b-a571-d09644aa7132" +2025-07-27T07:43:37.063198+10:00 INFO ditto_multiplexer: physical connection ended remote=pkAocCgkMDfvFFbAYiV7xkB14wLMBQi3aEjSUcw_xTa3XNpVmN11s role=Server transport_type=Bluetooth +2025-07-27T07:43:43.076837+10:00 ERROR ditto_mesh_topology: failed to connect to peer error=Connect failed to complete before a timeout deadline was reached remote_peer=BleClientRemotePeer { id: ConnectionId(7), transport_id: TransportId(1), local_announce: Announce { outer_protocol_version: Some('2'), os: Some(MacOS), network_id: Some(2151289801), device_name: Some("DTO-A158") }, remote_announce: None } +2025-07-27T07:43:45.101187+10:00 INFO ditto_multiplexer: physical connection started remote=pkAocCgkMDfvFFbAYiV7xkB14wLMBQi3aEjSUcw_xTa3XNpVmN11s role=Server transport_type=Bluetooth +2025-07-27T07:43:45.397796+10:00 INFO ditto_multiplexer: switching active transport remote=pkAocCgkMDfvFFbAYiV7xkB14wLMBQi3aEjSUcw_xTa3XNpVmN11s old_conn_type=None new_conn_type=Some(Bluetooth) +2025-07-27T07:43:45.687091+10:00 INFO channel{service=replication local.peer_id=pk.+qECxaSc remote.peer_id=pk.+pVmN11s}:session{operation=receive_message}:outbound_cycle{update_index=13841451259651235697 trigger=BeginSync}:create_sending_update: ditto_sync_docs: clearing scan marker for outbound updates reason=local_subscription_change +2025-07-27T07:43:46.277510+10:00 INFO channel{service=replication local.peer_id=pk.+qECxaSc remote.peer_id=pk.+pVmN11s}:session{operation=receive_message}:inbound_cycle:integrate_received_update:integrate_update_without_handling_result: ditto_sync_docs: clearing scan marker for outbound updates reason=remote_subscription_change sub_change=true id_sub_change=false +2025-07-27T07:43:59.006337+10:00 ERROR ditto_mesh_topology: failed to connect to peer error=Connect failed to complete before a timeout deadline was reached remote_peer=BleClientRemotePeer { id: ConnectionId(8), transport_id: TransportId(1), local_announce: Announce { outer_protocol_version: Some('2'), os: Some(MacOS), network_id: Some(2151289801), device_name: Some("DTO-A158") }, remote_announce: Some(Announce { outer_protocol_version: Some('2'), os: Some(Android), network_id: Some(3944083714), device_name: Some("Te2d3d91") }) } +๐Ÿ”ง Initializing Ditto with App ID: ccc19f27-2357-4a3b-a571-d09644aa7132 +๐Ÿ”ง Using persistence directory: /Users/kitplummer/Documents/DittoCoTExample_1753566205 +โœ… Ditto instance created successfully +๐Ÿ”ง Setting license token... +โœ… License token set successfully +Ditto initialized with App ID: ccc19f27-2357-4a3b-a571-d09644aa7132 +Ditto activated with license token +๐Ÿ” [2025-07-26 21:43:25 +0000] Setting up live queries for collection: cot_events +๐Ÿ—‚๏ธ Checking all collections in Ditto store... +๐Ÿ“ก Creating subscription: + Collection: 'cot_events' + DQL Query: '_r != true' +๐Ÿ“ก Primary subscription created - this will sync remote changes into local database +๐Ÿ“ก Creating additional subscriptions to alternative collections... + โœ… Subscribed to 'chat' + โœ… Live query observer added for 'chat' + โœ… Subscribed to 'mapitem' + โœ… Live query observer added for 'mapitem' + โœ… Subscribed to 'track' + โœ… Live query observer added for 'track' + โœ… Subscribed to 'api' + โœ… Live query observer added for 'api' + โœ… Subscribed to 'file' + โœ… Live query observer added for 'file' +โœ… Primary subscription is active and syncing +๐Ÿ”ง Setting up live query observer... +๐Ÿ”ง Live query observer setup complete +๐Ÿ—‚๏ธ Current documents in collection: 0 +๐Ÿ—‚๏ธ Active documents after filtering: 0 +๐Ÿ‘ฅ Setting up presence observer +Ditto sync started successfully +๐Ÿ‘ฅ Setting up presence observer +CoT event observation started +๐Ÿ”„ Manual refresh found 0 events from main collection +Initial data refresh completed +๐Ÿ”ฅ LIVE QUERY TRIGGERED for 'chat'! + ๐Ÿ“ฅ Received 0 documents + ๐Ÿ“‹ Event type: DittoLiveQueryEvent - initial +๐Ÿ”ฅ LIVE QUERY TRIGGERED for 'mapitem'! + ๐Ÿ“ฅ Received 0 documents + ๐Ÿ“‹ Event type: DittoLiveQueryEvent - initial +๐Ÿ”ฅ LIVE QUERY TRIGGERED for 'track'! + ๐Ÿ“ฅ Received 0 documents + ๐Ÿ“‹ Event type: DittoLiveQueryEvent - initial +๐Ÿ”ฅ LIVE QUERY TRIGGERED for 'api'! + ๐Ÿ“ฅ Received 0 documents + ๐Ÿ“‹ Event type: DittoLiveQueryEvent - initial +๐Ÿ”ฅ LIVE QUERY TRIGGERED for 'file'! + ๐Ÿ“ฅ Received 0 documents + ๐Ÿ“‹ Event type: DittoLiveQueryEvent - initial +๐Ÿ”ฅ LIVE QUERY CALLBACK TRIGGERED! +๐Ÿ“ฅ Live query received update: 0 documents +๐Ÿ“‹ Event type: DittoLiveQueryEvent - initial + This includes both local changes AND remote changes synced by subscription +โœ… Filtered to 0 active events (from 0 total) +๐Ÿ“Š CoTEventViewModel: Converting 0 documents to models... +โœ… Successfully converted 0 documents to models +๐Ÿ’ฌ CoTEventViewModel: Processing 0 potential chat documents... +๐Ÿ’ฌ Successfully converted 0 chat messages +๐Ÿ“Š CoTEventViewModel: Converting 0 documents to models... +โœ… Successfully converted 0 documents to models +๐Ÿ’ฌ CoTEventViewModel: Processing 0 potential chat documents... +๐Ÿ’ฌ Successfully converted 0 chat messages +โœ… Updated events array with 0 active events +๐Ÿ’ฌ CoTEventViewModel: Processing 0 potential chat documents... +๐Ÿ’ฌ Successfully converted 0 chat messages +๐Ÿ’ฌ CoTEventViewModel: Processing 0 potential chat documents... +๐Ÿ’ฌ Successfully converted 0 chat messages +๐Ÿ“Š CoTEventViewModel: Converting 0 documents to models... +โœ… Successfully converted 0 documents to models +๐Ÿ“Š CoTEventViewModel: Converting 0 documents to models... +โœ… Successfully converted 0 documents to models +๐Ÿ’ฌ CoTEventViewModel: Processing 0 potential chat documents... +๐Ÿ’ฌ Successfully converted 0 chat messages +๐Ÿ’ฌ CoTEventViewModel: Processing 0 potential chat documents... +๐Ÿ’ฌ Successfully converted 0 chat messages +๐Ÿ“Š CoTEventViewModel: Converting 0 documents to models... +โœ… Successfully converted 0 documents to models +๐Ÿ“Š CoTEventViewModel: Converting 0 documents to models... +โœ… Successfully converted 0 documents to models +๐Ÿ‘ฅ Presence updated: 1 remote peer(s) + โ€ข Te2d3d91 via bluetooth +๐Ÿ”ฅ LIVE QUERY TRIGGERED for 'track'! + ๐Ÿ“ฅ Received 1 documents + ๐Ÿ“‹ Event type: DittoLiveQueryEvent - update: oldDocs count 0 + โœ… 1 active events in 'track' +๐Ÿ”ฅ LIVE QUERY TRIGGERED for 'chat'! + ๐Ÿ“ฅ Received 6 documents + ๐Ÿ“‹ Event type: DittoLiveQueryEvent - update: oldDocs count 0 + โœ… 6 active events in 'chat' +๐Ÿ”ฅ LIVE QUERY TRIGGERED for 'mapitem'! + ๐Ÿ“ฅ Received 1 documents + ๐Ÿ“‹ Event type: DittoLiveQueryEvent - update: oldDocs count 0 + โœ… 1 active events in 'mapitem' + โž• Added 1 new events from 'track' + โž• Added 6 new events from 'chat' + โž• Added 1 new events from 'mapitem' +๐Ÿ’ฌ CoTEventViewModel: Processing 0 potential chat documents... +๐Ÿ’ฌ Successfully converted 0 chat messages +๐Ÿ’ฌ CoTEventViewModel: Processing 0 potential chat documents... +๐Ÿ’ฌ Successfully converted 0 chat messages +๐Ÿ“Š CoTEventViewModel: Converting 1 documents to models... +โœ… Successfully converted 1 documents to models +๐Ÿ“Š CoTEventViewModel: Converting 1 documents to models... +โœ… Successfully converted 1 documents to models +๐Ÿ’ฌ CoTEventViewModel: Processing 6 potential chat documents... +๐Ÿ“ฑ Converting chat document 0dea71de-3e65-4ad5-a91a-5cdd6daa429c directly: helo landing zone +โš ๏ธ No timestamp found in document 0dea71de-3e65-4ad5-a91a-5cdd6daa429c, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "0dea71de-3e65-4ad5-a91a-5cdd6daa429c" -> Liquid: helo landing zone +๐Ÿ“ฑ Converting chat document 18ee5287-a2b8-41bf-bb33-02a634af45a5 directly: in position +โš ๏ธ No timestamp found in document 18ee5287-a2b8-41bf-bb33-02a634af45a5, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "18ee5287-a2b8-41bf-bb33-02a634af45a5" -> Liquid: in position +๐Ÿ“ฑ Converting chat document 7156c134-8336-463b-8cde-0af154611191 directly: Area Clear +โš ๏ธ No timestamp found in document 7156c134-8336-463b-8cde-0af154611191, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "7156c134-8336-463b-8cde-0af154611191" -> Liquid: Area Clear +๐Ÿ“ฑ Converting chat document 76b1f805-77e8-4695-bd4a-29da69c0c44a directly: in position +โš ๏ธ No timestamp found in document 76b1f805-77e8-4695-bd4a-29da69c0c44a, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "76b1f805-77e8-4695-bd4a-29da69c0c44a" -> Liquid: in position +๐Ÿ“ฑ Converting chat document 8a3a09db-9c1c-452b-a136-ca2a5ea45e84 directly: dropzone +โš ๏ธ No timestamp found in document 8a3a09db-9c1c-452b-a136-ca2a5ea45e84, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "8a3a09db-9c1c-452b-a136-ca2a5ea45e84" -> Liquid: dropzone +๐Ÿ“ฑ Converting chat document 9e6e4897-0d0b-448e-8409-b07358b4ba9c directly: helo landing zone +โš ๏ธ No timestamp found in document 9e6e4897-0d0b-448e-8409-b07358b4ba9c, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "9e6e4897-0d0b-448e-8409-b07358b4ba9c" -> Liquid: helo landing zone +๐Ÿ’ฌ Successfully converted 6 chat messages +๐Ÿ’ฌ CoTEventViewModel: Processing 6 potential chat documents... +๐Ÿ“ฑ Converting chat document 0dea71de-3e65-4ad5-a91a-5cdd6daa429c directly: helo landing zone +โš ๏ธ No timestamp found in document 0dea71de-3e65-4ad5-a91a-5cdd6daa429c, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "0dea71de-3e65-4ad5-a91a-5cdd6daa429c" -> Liquid: helo landing zone +๐Ÿ“ฑ Converting chat document 18ee5287-a2b8-41bf-bb33-02a634af45a5 directly: in position +โš ๏ธ No timestamp found in document 18ee5287-a2b8-41bf-bb33-02a634af45a5, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "18ee5287-a2b8-41bf-bb33-02a634af45a5" -> Liquid: in position +๐Ÿ“ฑ Converting chat document 7156c134-8336-463b-8cde-0af154611191 directly: Area Clear +โš ๏ธ No timestamp found in document 7156c134-8336-463b-8cde-0af154611191, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "7156c134-8336-463b-8cde-0af154611191" -> Liquid: Area Clear +๐Ÿ“ฑ Converting chat document 76b1f805-77e8-4695-bd4a-29da69c0c44a directly: in position +โš ๏ธ No timestamp found in document 76b1f805-77e8-4695-bd4a-29da69c0c44a, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "76b1f805-77e8-4695-bd4a-29da69c0c44a" -> Liquid: in position +๐Ÿ“ฑ Converting chat document 8a3a09db-9c1c-452b-a136-ca2a5ea45e84 directly: dropzone +โš ๏ธ No timestamp found in document 8a3a09db-9c1c-452b-a136-ca2a5ea45e84, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "8a3a09db-9c1c-452b-a136-ca2a5ea45e84" -> Liquid: dropzone +๐Ÿ“ฑ Converting chat document 9e6e4897-0d0b-448e-8409-b07358b4ba9c directly: helo landing zone +โš ๏ธ No timestamp found in document 9e6e4897-0d0b-448e-8409-b07358b4ba9c, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "9e6e4897-0d0b-448e-8409-b07358b4ba9c" -> Liquid: helo landing zone +๐Ÿ’ฌ Successfully converted 6 chat messages +๐Ÿ“Š CoTEventViewModel: Converting 7 documents to models... +โœ… Successfully converted 7 documents to models +๐Ÿ“Š CoTEventViewModel: Converting 7 documents to models... +โœ… Successfully converted 7 documents to models +๐Ÿ’ฌ CoTEventViewModel: Processing 6 potential chat documents... +๐Ÿ“ฑ Converting chat document 0dea71de-3e65-4ad5-a91a-5cdd6daa429c directly: helo landing zone +โš ๏ธ No timestamp found in document 0dea71de-3e65-4ad5-a91a-5cdd6daa429c, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "0dea71de-3e65-4ad5-a91a-5cdd6daa429c" -> Liquid: helo landing zone +๐Ÿ“ฑ Converting chat document 18ee5287-a2b8-41bf-bb33-02a634af45a5 directly: in position +โš ๏ธ No timestamp found in document 18ee5287-a2b8-41bf-bb33-02a634af45a5, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "18ee5287-a2b8-41bf-bb33-02a634af45a5" -> Liquid: in position +๐Ÿ“ฑ Converting chat document 7156c134-8336-463b-8cde-0af154611191 directly: Area Clear +โš ๏ธ No timestamp found in document 7156c134-8336-463b-8cde-0af154611191, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "7156c134-8336-463b-8cde-0af154611191" -> Liquid: Area Clear +๐Ÿ“ฑ Converting chat document 76b1f805-77e8-4695-bd4a-29da69c0c44a directly: in position +โš ๏ธ No timestamp found in document 76b1f805-77e8-4695-bd4a-29da69c0c44a, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "76b1f805-77e8-4695-bd4a-29da69c0c44a" -> Liquid: in position +๐Ÿ“ฑ Converting chat document 8a3a09db-9c1c-452b-a136-ca2a5ea45e84 directly: dropzone +โš ๏ธ No timestamp found in document 8a3a09db-9c1c-452b-a136-ca2a5ea45e84, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "8a3a09db-9c1c-452b-a136-ca2a5ea45e84" -> Liquid: dropzone +๐Ÿ“ฑ Converting chat document 9e6e4897-0d0b-448e-8409-b07358b4ba9c directly: helo landing zone +โš ๏ธ No timestamp found in document 9e6e4897-0d0b-448e-8409-b07358b4ba9c, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "9e6e4897-0d0b-448e-8409-b07358b4ba9c" -> Liquid: helo landing zone +๐Ÿ’ฌ Successfully converted 6 chat messages +๐Ÿ’ฌ CoTEventViewModel: Processing 6 potential chat documents... +๐Ÿ“ฑ Converting chat document 0dea71de-3e65-4ad5-a91a-5cdd6daa429c directly: helo landing zone +โš ๏ธ No timestamp found in document 0dea71de-3e65-4ad5-a91a-5cdd6daa429c, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "0dea71de-3e65-4ad5-a91a-5cdd6daa429c" -> Liquid: helo landing zone +๐Ÿ“ฑ Converting chat document 18ee5287-a2b8-41bf-bb33-02a634af45a5 directly: in position +โš ๏ธ No timestamp found in document 18ee5287-a2b8-41bf-bb33-02a634af45a5, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "18ee5287-a2b8-41bf-bb33-02a634af45a5" -> Liquid: in position +๐Ÿ“ฑ Converting chat document 7156c134-8336-463b-8cde-0af154611191 directly: Area Clear +โš ๏ธ No timestamp found in document 7156c134-8336-463b-8cde-0af154611191, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "7156c134-8336-463b-8cde-0af154611191" -> Liquid: Area Clear +๐Ÿ“ฑ Converting chat document 76b1f805-77e8-4695-bd4a-29da69c0c44a directly: in position +โš ๏ธ No timestamp found in document 76b1f805-77e8-4695-bd4a-29da69c0c44a, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "76b1f805-77e8-4695-bd4a-29da69c0c44a" -> Liquid: in position +๐Ÿ“ฑ Converting chat document 8a3a09db-9c1c-452b-a136-ca2a5ea45e84 directly: dropzone +โš ๏ธ No timestamp found in document 8a3a09db-9c1c-452b-a136-ca2a5ea45e84, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "8a3a09db-9c1c-452b-a136-ca2a5ea45e84" -> Liquid: dropzone +๐Ÿ“ฑ Converting chat document 9e6e4897-0d0b-448e-8409-b07358b4ba9c directly: helo landing zone +โš ๏ธ No timestamp found in document 9e6e4897-0d0b-448e-8409-b07358b4ba9c, using current time: 2025-07-26 21:43:49 +0000 +๐Ÿ“‹ Document fields: ["_c", "_id", "_r", "_v", "a", "authorLoc", "authorType", "b", "d", "e", "msg", "parent", "room", "roomId"] + โœ… Converted chat document: "9e6e4897-0d0b-448e-8409-b07358b4ba9c" -> Liquid: helo landing zone +๐Ÿ’ฌ Successfully converted 6 chat messages +๐Ÿ“Š CoTEventViewModel: Converting 8 documents to models... +โœ… Successfully converted 8 documents to models +๐Ÿ“Š CoTEventViewModel: Converting 8 documents to models... +โœ… Successfully converted 8 documents to models +๐Ÿ”ฅ LIVE QUERY TRIGGERED for 'track'! + ๐Ÿ“ฅ Received 1 documents + ๐Ÿ“‹ Event type: DittoLiveQueryEvent - update: oldDocs count 1 + โœ… 1 2025-07-27T07:48:25.878831+10:00 INFO diagnostics_logger: ditto_periodic_log: outbound_diff_count_per_update mean=0.9090909090909091 count=11 delta_from_previous=None +2025-07-27T07:48:25.879474+10:00 INFO diagnostics_logger: ditto_periodic_log: outbound_create_update_delay mean=1.138359ms count=11 delta_from_previous=None +2025-07-27T07:48:25.879533+10:00 INFO diagnostics_logger: ditto_periodic_log: outbound_cycle_duration mean=466.252356ms count=11 delta_from_previous=None +2025-07-27T07:50:03.882786+10:00 INFO tombstone_reaper: ditto_small_peer_store: Found expired tombstones in 0 collections diff --git a/swift/minimal_ditto_test.swift b/swift/minimal_ditto_test.swift new file mode 100644 index 0000000..6f93188 --- /dev/null +++ b/swift/minimal_ditto_test.swift @@ -0,0 +1,57 @@ +#!/usr/bin/env swift + +import Foundation +import DittoSwift + +// Create a minimal test to see if the DQL error is in the Ditto SDK itself + +print("๐Ÿ”ฌ MINIMAL DITTO TEST: Starting...") + +// Load environment +guard let appId = ProcessInfo.processInfo.environment["DITTO_APP_ID"], + let sharedKey = ProcessInfo.processInfo.environment["DITTO_SHARED_KEY"], + let licenseToken = ProcessInfo.processInfo.environment["DITTO_LICENSE_TOKEN"] else { + print("โŒ Missing environment variables") + exit(1) +} + +print("๐Ÿ”ฌ Creating unique persistence directory...") +let documentsPath = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first! +let timestamp = Int(Date().timeIntervalSince1970) +let randomID = Int.random(in: 1000...9999) +let persistenceDir = documentsPath.appendingPathComponent("MinimalDittoTest_\(timestamp)_\(randomID)") + +print("๐Ÿ”ฌ Initializing Ditto...") +do { + let ditto = Ditto( + identity: .sharedKey( + appID: appId, + sharedKey: sharedKey, + siteID: UInt64.random(in: 1...UInt64.max) + ), + persistenceDirectory: persistenceDir + ) + + print("๐Ÿ”ฌ Setting license token...") + try ditto.setOfflineOnlyLicenseToken(licenseToken) + + print("๐Ÿ”ฌ Starting sync...") + try ditto.startSync() + + print("๐Ÿ”ฌ Testing basic collection access...") + let collection = ditto.store.collection("test") + + print("๐Ÿ”ฌ Testing simple query...") + let docs = collection.find("_r != true").exec() + print("๐Ÿ”ฌ SUCCESS: Found \(docs.count) documents") + + print("๐Ÿ”ฌ Testing subscription...") + let subscription = collection.find("_r != true").subscribe() + print("๐Ÿ”ฌ SUCCESS: Subscription created") + + print("๐Ÿ”ฌ All tests passed! Ditto SDK is working correctly.") + +} catch { + print("โŒ MINIMAL TEST FAILED: \(error)") + exit(1) +} \ No newline at end of file diff --git a/swift/monitor_logs.sh b/swift/monitor_logs.sh new file mode 100755 index 0000000..1f1db60 --- /dev/null +++ b/swift/monitor_logs.sh @@ -0,0 +1,2 @@ +#!/bin/bash +log stream --predicate 'process == "CoTExampleApp"' | grep -E "(timestamp|๐Ÿ“|๐Ÿ•|Event [0-9]+:|Found [0-9]+ existing)" \ No newline at end of file diff --git a/swift/test_init.swift b/swift/test_init.swift new file mode 100644 index 0000000..fd92b9d --- /dev/null +++ b/swift/test_init.swift @@ -0,0 +1,41 @@ +import Foundation +import DittoCoTCore + +// Test what Swift thinks the ChatDocument initializer signature is +let test = ChatDocument( + _id: "test", + a: "test", + b: 123, // This should be Int + d: "test", + _c: 0, + _r: false, + e: "test", + authorCallsign: "test", + authorType: "test", + authorUid: "test", + g: "test", + h: 0.0, + i: 0.0, + j: 0.0, + k: 0.0, + l: 0.0, + location: "test", + message: "test", + n: 456, // This should be Int + o: 789, // This should be Int + p: "test", + parent: "test", + q: "test", + r: JSONValue([:]), + room: "test", + roomId: "test", + s: "test", + source: "test", + t: "test", + time: "test", + u: "test", + v: "test", + w: "test" +) + +print("Test completed successfully") \ No newline at end of file