internal static TriggerDependencyReference DeserializeTriggerDependencyReference(JsonElement element)
        {
            if (element.TryGetProperty("type", out JsonElement discriminator))
            {
                switch (discriminator.GetString())
                {
                case "TumblingWindowTriggerDependencyReference": return(TumblingWindowTriggerDependencyReference.DeserializeTumblingWindowTriggerDependencyReference(element));
                }
            }
            TriggerReference referenceTrigger = default;
            string           type             = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("referenceTrigger"))
                {
                    referenceTrigger = TriggerReference.DeserializeTriggerReference(property.Value);
                    continue;
                }
                if (property.NameEquals("type"))
                {
                    type = property.Value.GetString();
                    continue;
                }
            }
            return(new TriggerDependencyReference(type, referenceTrigger));
        }
Beispiel #2
0
        internal static TumblingWindowTriggerDependencyReference DeserializeTumblingWindowTriggerDependencyReference(JsonElement element)
        {
            Optional <string> offset           = default;
            Optional <string> size             = default;
            TriggerReference  referenceTrigger = default;
            string            type             = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("offset"))
                {
                    offset = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("size"))
                {
                    size = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("referenceTrigger"))
                {
                    referenceTrigger = TriggerReference.DeserializeTriggerReference(property.Value);
                    continue;
                }
                if (property.NameEquals("type"))
                {
                    type = property.Value.GetString();
                    continue;
                }
            }
            return(new TumblingWindowTriggerDependencyReference(type, referenceTrigger, offset.Value, size.Value));
        }
Beispiel #3
0
        public TumblingWindowTriggerDependencyReference(TriggerReference referenceTrigger) : base(referenceTrigger)
        {
            if (referenceTrigger == null)
            {
                throw new ArgumentNullException(nameof(referenceTrigger));
            }

            Type = "TumblingWindowTriggerDependencyReference";
        }
Beispiel #4
0
        public TriggerDependencyReference(TriggerReference referenceTrigger)
        {
            if (referenceTrigger == null)
            {
                throw new ArgumentNullException(nameof(referenceTrigger));
            }

            ReferenceTrigger = referenceTrigger;
            Type             = "TriggerDependencyReference";
        }
Beispiel #5
0
 internal TriggerDependencyReference(string type, TriggerReference referenceTrigger) : base(type)
 {
     ReferenceTrigger = referenceTrigger;
     Type             = type ?? "TriggerDependencyReference";
 }
Beispiel #6
0
 internal TumblingWindowTriggerDependencyReference(string type, TriggerReference referenceTrigger, string offset, string size) : base(type, referenceTrigger)
 {
     Offset = offset;
     Size   = size;
     Type   = type ?? "TumblingWindowTriggerDependencyReference";
 }