Example #1
0
        public static void CallbackBuilder_Build()
        {
            var cbb = new OasCallbackBuilder()
            {
                [OasExpression.Parse("http://test/{$statusCode}")]   = new OasReferable <OasPath>("#/test"),
                [OasExpression.Parse("http://test/1/{$statusCode}")] = new OasReferable <OasPath>("#/test/1"),
            };
            OasCallback cb  = cbb.Build();
            var         rcb = new OasCallbackBuilder(cb);

            Assert.Equal(cbb, cb);
            Assert.Equal(cbb, rcb);
        }
        /// <summary>
        /// Serializes a <see cref="OasCallback"/> value.
        /// </summary>
        /// <param name="value">The <see cref="OasCallback"/> value to serialize.</param>
        /// <returns>The <see cref="JToken"/>.</returns>
        protected virtual JToken SerializeCallback(OasCallback value)
        {
            if (value is null)
            {
                return(null);
            }

            var json = new JObject();

            foreach (var item in value)
            {
                var k = item.Key.ToString();
                var v = Serialize(item.Value);
                json.Add(k, v);
            }

            return(json);
        }