async UniTask Test <T>(T data, ISerializationProvider serializationProvider)
            {
                var serialized   = await serializationProvider.SerializeAsync(data);
                var deserialized = await serializationProvider.DeserializeAsync <T>(serialized);

                Assert.AreEqual(data, deserialized);
            }
Ejemplo n.º 2
0
        /// <summary>
        /// Transforms data back to the original object.
        /// <para>Data was serialized, compressed, then encrypted. So here it is decrypted, decompressed, and deserialized.</para>
        /// </summary>
        /// <typeparam name="TOut"></typeparam>
        /// <param name="data"></param>
        /// <returns></returns>
        public Task <TOut> DeserializeAsync <TOut>(ReadOnlyMemory <byte> data)
        {
            if (_encryptionProvider != null && _compressionProvider != null)
            {
                return(DecryptDecompressDeserializeAsync <TOut>(data));
            }
            else if (_encryptionProvider != null)
            {
                return(DecryptDeserializeAsync <TOut>(data));
            }
            else if (_compressionProvider != null)
            {
                return(DecompressDeserializeAsync <TOut>(data));
            }

            return(_serializationProvider.DeserializeAsync <TOut>(data.AsStream()));
        }
Ejemplo n.º 3
0
 public UniTask <TData> LoadAsync <TData>(string fileName)
 {
     return(_fileProvider.ReadAsync(GetFilePath(fileName))
            .ContinueWith(bytes => _serializationProvider.DeserializeAsync <TData>(bytes)));
 }
 public UniTask <T> DeserializeAsync <T>(byte[] data) =>
 _dataTransform.ReverseAsync(data)
 .ContinueWith(bytes => _baseProvider.DeserializeAsync <T>(bytes));
Ejemplo n.º 5
0
 public UniTask <T> GetDataAsync <T>(string key) =>
 _serializationProvider.DeserializeAsync <T>(GetBytes(key));