package activitypub // ID designates an unique global identifier. // All Objects in [ActivityStreams] should have unique global identifiers. // ActivityPub extends this requirement; all objects distributed by the ActivityPub protocol MUST // have unique global identifiers, unless they are intentionally transient // (short lived activities that are not intended to be able to be looked up, // such as some kinds of chat messages or game notifications). // These identifiers must fall into one of the following groups: // // 1. Publicly dereferenceable URIs, such as HTTPS URIs, with their authority belonging // to that of their originating server. (Publicly facing content SHOULD use HTTPS URIs). // 2. An ID explicitly specified as the JSON null object, which implies an anonymous object // (a part of its parent context) type ID = IRI func (i *ID) IsValid() bool { return i != nil && len(*i) > 0 }