package me.wener.jraphql.schema;
import com.github.wenerme.wava.util.JSON;
import com.google.common.base.Suppliers;
import com.google.common.io.ByteStreams;
import java.io.ByteArrayInputStream;
import java.util.Base64;
import java.util.function.Supplier;
import java.util.zip.GZIPInputStream;
import lombok.SneakyThrows;
import me.wener.jraphql.lang.Document;
/**
* @author wener
* @since 2018/4/3
*/
public class MetaSchema {
private static final String BASE64 =
"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";
private static final Supplier DOCUMENT_SUPPLIER =
Suppliers.memoize(MetaSchema::parseDoc);
public static Document getDocument() {
return DOCUMENT_SUPPLIER.get();
}
@SneakyThrows
private static Document parseDoc() {
byte[] bytes = Base64.getMimeDecoder().decode(BASE64);
GZIPInputStream stream = new GZIPInputStream(new ByteArrayInputStream(bytes));
return JSON.parse(ByteStreams.toByteArray(stream), Document.class);
}
}