...

Source file src/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/doc.go

Documentation: go.mongodb.org/mongo-driver/x/bsonx/bsoncore

     1  // Copyright (C) MongoDB, Inc. 2022-present.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License"); you may
     4  // not use this file except in compliance with the License. You may obtain
     5  // a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
     6  
     7  // Package bsoncore contains functions that can be used to encode and decode BSON
     8  // elements and values to or from a slice of bytes. These functions are aimed at
     9  // allowing low level manipulation of BSON and can be used to build a higher
    10  // level BSON library.
    11  //
    12  // The Read* functions within this package return the values of the element and
    13  // a boolean indicating if the values are valid. A boolean was used instead of
    14  // an error because any error that would be returned would be the same: not
    15  // enough bytes. This library attempts to do no validation, it will only return
    16  // false if there are not enough bytes for an item to be read. For example, the
    17  // ReadDocument function checks the length, if that length is larger than the
    18  // number of bytes available, it will return false, if there are enough bytes, it
    19  // will return those bytes and true. It is the consumers responsibility to
    20  // validate those bytes.
    21  //
    22  // The Append* functions within this package will append the type value to the
    23  // given dst slice. If the slice has enough capacity, it will not grow the
    24  // slice. The Append*Element functions within this package operate in the same
    25  // way, but additionally append the BSON type and the key before the value.
    26  //
    27  // Warning: Package bsoncore is unstable and there is no backward compatibility
    28  // guarantee. It is experimental and subject to change.
    29  package bsoncore
    30  

View as plain text