// 
// Decompiled by Procyon v0.6.0
// 

package com.hypixel.hytale.codec.codecs;

import com.hypixel.hytale.codec.schema.config.ObjectSchema;
import com.hypixel.hytale.codec.schema.config.Schema;
import com.hypixel.hytale.codec.schema.SchemaContext;
import java.io.IOException;
import com.hypixel.hytale.codec.util.RawJsonReader;
import com.hypixel.hytale.codec.ExtraInfo;
import javax.annotation.Nonnull;
import org.bson.BsonValue;
import org.bson.BsonDocument;
import com.hypixel.hytale.codec.Codec;

@Deprecated
public class BsonDocumentCodec implements Codec<BsonDocument>
{
    @Override
    public BsonDocument decode(@Nonnull final BsonValue bsonValue, final ExtraInfo extraInfo) {
        return bsonValue.asDocument();
    }
    
    @Override
    public BsonValue encode(final BsonDocument document, final ExtraInfo extraInfo) {
        return document;
    }
    
    @Override
    public BsonDocument decodeJson(@Nonnull final RawJsonReader reader, final ExtraInfo extraInfo) throws IOException {
        return RawJsonReader.readBsonValue(reader).asDocument();
    }
    
    @Nonnull
    @Override
    public Schema toSchema(@Nonnull final SchemaContext context) {
        return new ObjectSchema();
    }
}
