@@ -61,8 +61,47 @@ export class Binary extends BSONValue {
61
61
/** User BSON type */
62
62
static readonly SUBTYPE_USER_DEFINED = 128 ;
63
63
64
+ /**
65
+ * The bytes of the Binary value.
66
+ *
67
+ * The format of a Binary value in BSON is defined as:
68
+ * ```txt
69
+ * binary ::= int32 subtype (byte*)
70
+ * ```
71
+ *
72
+ * This `buffer` is the "(byte*)" segment.
73
+ *
74
+ * Unless the value is subtype 2, then deserialize will read the first 4 bytes as an int32 and set this to the remaining bytes.
75
+ *
76
+ * ```txt
77
+ * binary ::= int32 unsigned_byte(2) int32 (byte*)
78
+ * ```
79
+ *
80
+ * @see https://bsonspec.org/spec.html
81
+ */
64
82
public buffer : Uint8Array ;
83
+ /**
84
+ * The binary subtype.
85
+ *
86
+ * Current defined values are:
87
+ *
88
+ * - `unsigned_byte(0)` Generic binary subtype
89
+ * - `unsigned_byte(1)` Function
90
+ * - `unsigned_byte(2)` Binary (Deprecated)
91
+ * - `unsigned_byte(3)` UUID (Deprecated)
92
+ * - `unsigned_byte(4)` UUID
93
+ * - `unsigned_byte(5)` MD5
94
+ * - `unsigned_byte(6)` Encrypted BSON value
95
+ * - `unsigned_byte(7)` Compressed BSON column
96
+ * - `unsigned_byte(8)` Sensitive
97
+ * - `unsigned_byte(9)` Vector
98
+ * - `unsigned_byte(128)` - `unsigned_byte(255)` User defined
99
+ */
65
100
public sub_type : number ;
101
+ /**
102
+ * The Binary's `buffer` can be larger than the Binary's content.
103
+ * This property is used to determine where the content ends in the buffer.
104
+ */
66
105
public position : number ;
67
106
68
107
/**
0 commit comments