35 lines
1.9 KiB
Go
35 lines
1.9 KiB
Go
// Copyright (C) MongoDB, Inc. 2022-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 bsoncore is intended for internal use only. It is made available to
|
|
// facilitate use cases that require access to internal MongoDB driver
|
|
// functionality and state. The API of this package is not stable and there is
|
|
// no backward compatibility guarantee.
|
|
//
|
|
// WARNING: THIS PACKAGE IS EXPERIMENTAL AND MAY BE MODIFIED OR REMOVED WITHOUT
|
|
// NOTICE! USE WITH EXTREME CAUTION!
|
|
//
|
|
// Package bsoncore contains functions that can be used to encode and decode
|
|
// BSON elements and values to or from a slice of bytes. These functions are
|
|
// aimed at allowing low level manipulation of BSON and can be used to build a
|
|
// higher level BSON library.
|
|
//
|
|
// The Read* functions within this package return the values of the element and
|
|
// a boolean indicating if the values are valid. A boolean was used instead of
|
|
// an error because any error that would be returned would be the same: not
|
|
// enough bytes. This library attempts to do no validation, it will only return
|
|
// false if there are not enough bytes for an item to be read. For example, the
|
|
// ReadDocument function checks the length, if that length is larger than the
|
|
// number of bytes available, it will return false, if there are enough bytes,
|
|
// it will return those bytes and true. It is the consumers responsibility to
|
|
// validate those bytes.
|
|
//
|
|
// The Append* functions within this package will append the type value to the
|
|
// given dst slice. If the slice has enough capacity, it will not grow the
|
|
// slice. The Append*Element functions within this package operate in the same
|
|
// way, but additionally append the BSON type and the key before the value.
|
|
package bsoncore
|