protected override void OnProcessOutputSchema(MutableObject newSchema) { if (MutableObject.KeyAContainsB(EntriesTarget.AbsoluteKey, Scope.AbsoluteKey)) { throw new Exception("This scope combination will result in an infinitely nested mutable object. Keys are " + EntriesTarget.AbsoluteKey + " and " + Scope.AbsoluteKey); } foreach (var entry in MetaScope.GetEntries(newSchema)) { EntriesTarget.SetValue( new List <MutableObject> { Scope.GetEntries(entry).First().Last() }, entry); } Router.TransmitAllSchema(newSchema); }
public override IEnumerator ReceivePayload(VisualPayload payload) { if (MutableObject.KeyAContainsB(EntriesTarget.AbsoluteKey, Scope.AbsoluteKey)) { throw new Exception("This scope combination will result in an infinitely nested mutable object. Keys are " + EntriesTarget.AbsoluteKey + " and " + Scope.AbsoluteKey); } foreach (var entry in MetaScope.GetEntries(payload.Data)) { EntriesTarget.SetValue(DiscriminatedList(entry), entry); } var iterator = Router.TransmitAll(payload); while (iterator.MoveNext()) { yield return(null); } }