public static Task SetAsync <T>(this IKeyValueStore keyValueStore,
                                        string key, T value, Moment?expiresAt, CancellationToken cancellationToken = default)
        {
            var sValue = JsonSerialized.New(value).SerializedValue;

            return(keyValueStore.SetAsync(key, sValue, expiresAt, cancellationToken));
        }
Beispiel #2
0
        public static Task Set <T>(this ISandboxedKeyValueStore keyValueStore,
                                   Session session, string key, T value, Moment?expiresAt, CancellationToken cancellationToken = default)
        {
            var sValue = JsonSerialized.New(value).SerializedValue;

            return(keyValueStore.Set(session, key, sValue, expiresAt, cancellationToken));
        }
Beispiel #3
0
        public static T PassThroughJsonSerialized <T>(this T value)
        {
            var v1 = JsonSerialized.New(value);
            var v2 = JsonSerialized.New <T>(v1.Data);

            return(v2.Value);
        }
Beispiel #4
0
        public static (T, string) PassThroughJsonSerializedWithOutput <T>(this T value)
        {
            var v1 = JsonSerialized.New(value);
            var v2 = JsonSerialized.New <T>(v1.Data);

            return(v2.Value, v1.Data);
        }
        public void ObjectExtensions_ToJson_PrivateFields_Should_Be_Serialized()
        {
            var obj = new JsonSerialized("public", "private");

            var result = obj.ToJson(true);

            result.Should().Contain("_privateData");
        }
Beispiel #6
0
        public void ConvertToJsonTest()
        {
            var xyz            = new XYZ();
            var jsonSerialized = new JsonSerialized <XYZ>(xyz);
            var deserializer   = new JavaScriptSerializer();
            var xyz2           = deserializer.Deserialize <XYZ>(jsonSerialized.SerializedValue);

            Assert.AreEqual(xyz2.X, 2);
            Assert.AreEqual(xyz2.Y, "7");
            Assert.IsTrue(xyz2.Z.Length == 2);
            Assert.AreEqual(xyz2.Z[0], 23);
            Assert.AreEqual(xyz2.Z[1], 17);
        }
        public void ObjectExtensions_ToJson_SpecificContracts_Should_Be_Used()
        {
            var contract = new Mock <IJsonContractDefinition>();

            contract.Setup(m => m.SetSerialisationPropertyContractDefinition(It.IsAny <JsonProperty>(), It.IsAny <MemberInfo>()))
            .Callback((JsonProperty prop, MemberInfo m) =>
            {
                if (m.Name == "PublicData")
                {
                    prop.ShouldSerialize = _ => false;
                }
            });

            var obj = new JsonSerialized("public", "private");

            var result = obj.ToJson(contract.Object);

            result.Should().NotBeNullOrEmpty();
            result.Should().NotContain("PublicData");
        }
Beispiel #8
0
 public virtual TGameState DeserializeState(string stateJson)
 => JsonSerialized.New <TGameState>(stateJson).Value;
Beispiel #9
0
 public virtual string SerializeState(TGameState state)
 => JsonSerialized.New(state).SerializedValue;