mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-11-03 18:42:25 -06:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright (C) MongoDB, Inc. 2017-present.
 | 
						|
//
 | 
						|
// Licensed under the Apache License, Version 2.0 (the "License"); you may
 | 
						|
// not use this file except in compliance with the License. You may obtain
 | 
						|
// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
 | 
						|
package bsonrw
 | 
						|
 | 
						|
import (
 | 
						|
	"go.mongodb.org/mongo-driver/bson/bsontype"
 | 
						|
	"go.mongodb.org/mongo-driver/bson/primitive"
 | 
						|
)
 | 
						|
 | 
						|
// ArrayReader is implemented by types that allow reading values from a BSON
 | 
						|
// array.
 | 
						|
type ArrayReader interface {
 | 
						|
	ReadValue() (ValueReader, error)
 | 
						|
}
 | 
						|
 | 
						|
// DocumentReader is implemented by types that allow reading elements from a
 | 
						|
// BSON document.
 | 
						|
type DocumentReader interface {
 | 
						|
	ReadElement() (string, ValueReader, error)
 | 
						|
}
 | 
						|
 | 
						|
// ValueReader is a generic interface used to read values from BSON. This type
 | 
						|
// is implemented by several types with different underlying representations of
 | 
						|
// BSON, such as a bson.Document, raw BSON bytes, or extended JSON.
 | 
						|
type ValueReader interface {
 | 
						|
	Type() bsontype.Type
 | 
						|
	Skip() error
 | 
						|
 | 
						|
	ReadArray() (ArrayReader, error)
 | 
						|
	ReadBinary() (b []byte, btype byte, err error)
 | 
						|
	ReadBoolean() (bool, error)
 | 
						|
	ReadDocument() (DocumentReader, error)
 | 
						|
	ReadCodeWithScope() (code string, dr DocumentReader, err error)
 | 
						|
	ReadDBPointer() (ns string, oid primitive.ObjectID, err error)
 | 
						|
	ReadDateTime() (int64, error)
 | 
						|
	ReadDecimal128() (primitive.Decimal128, error)
 | 
						|
	ReadDouble() (float64, error)
 | 
						|
	ReadInt32() (int32, error)
 | 
						|
	ReadInt64() (int64, error)
 | 
						|
	ReadJavascript() (code string, err error)
 | 
						|
	ReadMaxKey() error
 | 
						|
	ReadMinKey() error
 | 
						|
	ReadNull() error
 | 
						|
	ReadObjectID() (primitive.ObjectID, error)
 | 
						|
	ReadRegex() (pattern, options string, err error)
 | 
						|
	ReadString() (string, error)
 | 
						|
	ReadSymbol() (symbol string, err error)
 | 
						|
	ReadTimestamp() (t, i uint32, err error)
 | 
						|
	ReadUndefined() error
 | 
						|
}
 | 
						|
 | 
						|
// BytesReader is a generic interface used to read BSON bytes from a
 | 
						|
// ValueReader. This imterface is meant to be a superset of ValueReader, so that
 | 
						|
// types that implement ValueReader may also implement this interface.
 | 
						|
//
 | 
						|
// The bytes of the value will be appended to dst.
 | 
						|
//
 | 
						|
// Deprecated: BytesReader will not be supported in Go Driver 2.0.
 | 
						|
type BytesReader interface {
 | 
						|
	ReadValueBytes(dst []byte) (bsontype.Type, []byte, error)
 | 
						|
}
 |