documentation for DDP message

This commit is contained in:
Peter 2015-11-01 12:13:03 -05:00
commit fcd32d2127
2 changed files with 27 additions and 3 deletions

View File

@ -27,12 +27,15 @@
D0C71B561BC172F40089B6CE /* Meteor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C71B551BC172F40089B6CE /* Meteor.swift */; settings = {ASSET_TAGS = (); }; }; D0C71B561BC172F40089B6CE /* Meteor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C71B551BC172F40089B6CE /* Meteor.swift */; settings = {ASSET_TAGS = (); }; };
D0C71B581BC173030089B6CE /* SwiftMeteor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C71B571BC173030089B6CE /* SwiftMeteor.swift */; settings = {ASSET_TAGS = (); }; }; D0C71B581BC173030089B6CE /* SwiftMeteor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C71B571BC173030089B6CE /* SwiftMeteor.swift */; settings = {ASSET_TAGS = (); }; };
D0C71B5B1BC174280089B6CE /* Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C71B5A1BC174280089B6CE /* Data.swift */; settings = {ASSET_TAGS = (); }; }; D0C71B5B1BC174280089B6CE /* Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C71B5A1BC174280089B6CE /* Data.swift */; settings = {ASSET_TAGS = (); }; };
<<<<<<< HEAD
D0CF8A0D1BE2AC1700EC9F12 /* MeteorCoreData.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CF8A091BE2AC1700EC9F12 /* MeteorCoreData.swift */; settings = {ASSET_TAGS = (); }; }; D0CF8A0D1BE2AC1700EC9F12 /* MeteorCoreData.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CF8A091BE2AC1700EC9F12 /* MeteorCoreData.swift */; settings = {ASSET_TAGS = (); }; };
D0CF8A0E1BE2AC1700EC9F12 /* MeteorCoreDataStack.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CF8A0A1BE2AC1700EC9F12 /* MeteorCoreDataStack.swift */; settings = {ASSET_TAGS = (); }; }; D0CF8A0E1BE2AC1700EC9F12 /* MeteorCoreDataStack.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CF8A0A1BE2AC1700EC9F12 /* MeteorCoreDataStack.swift */; settings = {ASSET_TAGS = (); }; };
D0CF8A0F1BE2AC1700EC9F12 /* MeteorCoreDataCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CF8A0B1BE2AC1700EC9F12 /* MeteorCoreDataCollection.swift */; settings = {ASSET_TAGS = (); }; }; D0CF8A0F1BE2AC1700EC9F12 /* MeteorCoreDataCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CF8A0B1BE2AC1700EC9F12 /* MeteorCoreDataCollection.swift */; settings = {ASSET_TAGS = (); }; };
D0CF8A101BE2AC1700EC9F12 /* CoreDataExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CF8A0C1BE2AC1700EC9F12 /* CoreDataExtensions.swift */; settings = {ASSET_TAGS = (); }; }; D0CF8A101BE2AC1700EC9F12 /* CoreDataExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CF8A0C1BE2AC1700EC9F12 /* CoreDataExtensions.swift */; settings = {ASSET_TAGS = (); }; };
D0CF8A201BE2CA1800EC9F12 /* MeteorCoreDataTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CF8A1F1BE2CA1800EC9F12 /* MeteorCoreDataTableViewController.swift */; settings = {ASSET_TAGS = (); }; }; D0CF8A201BE2CA1800EC9F12 /* MeteorCoreDataTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CF8A1F1BE2CA1800EC9F12 /* MeteorCoreDataTableViewController.swift */; settings = {ASSET_TAGS = (); }; };
D0CF8A221BE2D65300EC9F12 /* MeteorCollectionChange.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CF8A211BE2D65300EC9F12 /* MeteorCollectionChange.swift */; settings = {ASSET_TAGS = (); }; }; D0CF8A221BE2D65300EC9F12 /* MeteorCollectionChange.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CF8A211BE2D65300EC9F12 /* MeteorCollectionChange.swift */; settings = {ASSET_TAGS = (); }; };
=======
>>>>>>> 692a8c69685a23f24bfee8ce944b254d97f417fc
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */ /* Begin PBXContainerItemProxy section */
@ -91,12 +94,15 @@
D0C71B551BC172F40089B6CE /* Meteor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Meteor.swift; sourceTree = "<group>"; }; D0C71B551BC172F40089B6CE /* Meteor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Meteor.swift; sourceTree = "<group>"; };
D0C71B571BC173030089B6CE /* SwiftMeteor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftMeteor.swift; sourceTree = "<group>"; }; D0C71B571BC173030089B6CE /* SwiftMeteor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftMeteor.swift; sourceTree = "<group>"; };
D0C71B5A1BC174280089B6CE /* Data.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Data.swift; sourceTree = "<group>"; }; D0C71B5A1BC174280089B6CE /* Data.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Data.swift; sourceTree = "<group>"; };
<<<<<<< HEAD
D0CF8A091BE2AC1700EC9F12 /* MeteorCoreData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MeteorCoreData.swift; sourceTree = "<group>"; }; D0CF8A091BE2AC1700EC9F12 /* MeteorCoreData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MeteorCoreData.swift; sourceTree = "<group>"; };
D0CF8A0A1BE2AC1700EC9F12 /* MeteorCoreDataStack.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MeteorCoreDataStack.swift; sourceTree = "<group>"; }; D0CF8A0A1BE2AC1700EC9F12 /* MeteorCoreDataStack.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MeteorCoreDataStack.swift; sourceTree = "<group>"; };
D0CF8A0B1BE2AC1700EC9F12 /* MeteorCoreDataCollection.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MeteorCoreDataCollection.swift; sourceTree = "<group>"; }; D0CF8A0B1BE2AC1700EC9F12 /* MeteorCoreDataCollection.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MeteorCoreDataCollection.swift; sourceTree = "<group>"; };
D0CF8A0C1BE2AC1700EC9F12 /* CoreDataExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CoreDataExtensions.swift; sourceTree = "<group>"; }; D0CF8A0C1BE2AC1700EC9F12 /* CoreDataExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CoreDataExtensions.swift; sourceTree = "<group>"; };
D0CF8A1F1BE2CA1800EC9F12 /* MeteorCoreDataTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MeteorCoreDataTableViewController.swift; sourceTree = "<group>"; }; D0CF8A1F1BE2CA1800EC9F12 /* MeteorCoreDataTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MeteorCoreDataTableViewController.swift; sourceTree = "<group>"; };
D0CF8A211BE2D65300EC9F12 /* MeteorCollectionChange.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MeteorCollectionChange.swift; sourceTree = "<group>"; }; D0CF8A211BE2D65300EC9F12 /* MeteorCollectionChange.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MeteorCollectionChange.swift; sourceTree = "<group>"; };
=======
>>>>>>> 692a8c69685a23f24bfee8ce944b254d97f417fc
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@ -153,7 +159,6 @@
children = ( children = (
D0CF8A131BE2AC4C00EC9F12 /* DDP */, D0CF8A131BE2AC4C00EC9F12 /* DDP */,
D0CF8A121BE2AC4400EC9F12 /* Meteor */, D0CF8A121BE2AC4400EC9F12 /* Meteor */,
D0CF8A111BE2AC3300EC9F12 /* MeteorCoreData */,
D02A71E11BBEFBCA00940C17 /* Info.plist */, D02A71E11BBEFBCA00940C17 /* Info.plist */,
); );
path = SwiftDDP; path = SwiftDDP;
@ -188,6 +193,7 @@
path = SwiftDDPTests; path = SwiftDDPTests;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
<<<<<<< HEAD
D0CF8A111BE2AC3300EC9F12 /* MeteorCoreData */ = { D0CF8A111BE2AC3300EC9F12 /* MeteorCoreData */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -201,6 +207,8 @@
name = MeteorCoreData; name = MeteorCoreData;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
=======
>>>>>>> 692a8c69685a23f24bfee8ce944b254d97f417fc
D0CF8A121BE2AC4400EC9F12 /* Meteor */ = { D0CF8A121BE2AC4400EC9F12 /* Meteor */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -366,18 +374,19 @@
isa = PBXSourcesBuildPhase; isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
<<<<<<< HEAD
D0CF8A201BE2CA1800EC9F12 /* MeteorCoreDataTableViewController.swift in Sources */, D0CF8A201BE2CA1800EC9F12 /* MeteorCoreDataTableViewController.swift in Sources */,
D0CF8A221BE2D65300EC9F12 /* MeteorCollectionChange.swift in Sources */, D0CF8A221BE2D65300EC9F12 /* MeteorCollectionChange.swift in Sources */,
D0CF8A0F1BE2AC1700EC9F12 /* MeteorCoreDataCollection.swift in Sources */, D0CF8A0F1BE2AC1700EC9F12 /* MeteorCoreDataCollection.swift in Sources */,
D0CF8A101BE2AC1700EC9F12 /* CoreDataExtensions.swift in Sources */, D0CF8A101BE2AC1700EC9F12 /* CoreDataExtensions.swift in Sources */,
=======
>>>>>>> 692a8c69685a23f24bfee8ce944b254d97f417fc
D02A72101BBEFCD300940C17 /* DDPClient.swift in Sources */, D02A72101BBEFCD300940C17 /* DDPClient.swift in Sources */,
D0CF8A0E1BE2AC1700EC9F12 /* MeteorCoreDataStack.swift in Sources */,
D02B30831BDA8E2200E1DB72 /* DDPMethodResult.swift in Sources */, D02B30831BDA8E2200E1DB72 /* DDPMethodResult.swift in Sources */,
D02A72111BBEFCD300940C17 /* DDPMessage.swift in Sources */, D02A72111BBEFCD300940C17 /* DDPMessage.swift in Sources */,
D016D0071BC6DF2F009652C3 /* MeteorErrors.swift in Sources */, D016D0071BC6DF2F009652C3 /* MeteorErrors.swift in Sources */,
D02A72121BBEFCD300940C17 /* DDPExtensions.swift in Sources */, D02A72121BBEFCD300940C17 /* DDPExtensions.swift in Sources */,
D0C71B561BC172F40089B6CE /* Meteor.swift in Sources */, D0C71B561BC172F40089B6CE /* Meteor.swift in Sources */,
D0CF8A0D1BE2AC1700EC9F12 /* MeteorCoreData.swift in Sources */,
D02A72131BBEFCD300940C17 /* DDPEvents.swift in Sources */, D02A72131BBEFCD300940C17 /* DDPEvents.swift in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;

View File

@ -73,7 +73,12 @@ public struct DDPMessage {
/** /**
The message's properties, stored as an NSDictionary The message's properties, stored as an NSDictionary
*/ */
public var json:NSDictionary!
/**
The message properties in an NSDictionary
*/
public var json:NSDictionary! public var json:NSDictionary!
/** /**
@ -134,6 +139,11 @@ public struct DDPMessage {
} }
internal func hasProperty(name:String) -> Bool { internal func hasProperty(name:String) -> Bool {
public var keys:[String] {
return json.allKeys as! [String]
}
public func hasProperty(name:String) -> Bool {
if let property = json[name] where ((property as! NSObject) != NSNull()) { if let property = json[name] where ((property as! NSObject) != NSNull()) {
return true return true
} }
@ -298,6 +308,11 @@ public struct DDPError {
/** /**
Helper variable that returns true if the struct has both an error code and a reason Helper variable that returns true if the struct has both an error code and a reason
*/ */
public var error:String? { return json?["error"] as? String } // Error code
public var reason:String? { return json?["reason"] as? String }
public var details:String? { return json?["details"] as? String }
public var offendingMessage:String? { return json?["offendingMessage"] as? String }
var isValid:Bool { var isValid:Bool {
if let _ = error { return true } if let _ = error { return true }
if let _ = reason { return true } if let _ = reason { return true }