@@ -73,7 +73,7 @@ export class Binary {
73
73
* @param buffer - a buffer object containing the binary data.
74
74
* @param subType - the option binary type.
75
75
*/
76
- constructor ( buffer ?: string | BinarySequence | Binary , subType ?: number ) {
76
+ constructor ( buffer ?: string | BinarySequence , subType ?: number ) {
77
77
if ( ! ( this instanceof Binary ) ) return new Binary ( buffer , subType ) ;
78
78
79
79
if (
@@ -88,32 +88,26 @@ export class Binary {
88
88
) ;
89
89
}
90
90
91
- if ( buffer != null && ( buffer as Binary ) . _bsontype === 'Binary' ) {
92
- this . sub_type = ( buffer as Binary ) . sub_type ;
93
- this . buffer = ( buffer as Binary ) . buffer ;
94
- this . position = ( buffer as Binary ) . position ;
95
- } else {
96
- this . sub_type = subType ?? Binary . BSON_BINARY_SUBTYPE_DEFAULT ;
91
+ this . sub_type = subType ?? Binary . BSON_BINARY_SUBTYPE_DEFAULT ;
97
92
98
- if ( buffer == null ) {
99
- // create an empty binary buffer
100
- this . buffer = Buffer . alloc ( Binary . BUFFER_SIZE ) ;
101
- this . position = 0 ;
93
+ if ( buffer == null ) {
94
+ // create an empty binary buffer
95
+ this . buffer = Buffer . alloc ( Binary . BUFFER_SIZE ) ;
96
+ this . position = 0 ;
97
+ } else {
98
+ if ( typeof buffer === 'string' ) {
99
+ // string
100
+ this . buffer = Buffer . from ( buffer , 'binary' ) ;
101
+ } else if ( Array . isArray ( buffer ) ) {
102
+ // number[]
103
+ this . buffer = Buffer . from ( buffer ) ;
102
104
} else {
103
- if ( typeof buffer === 'string' ) {
104
- // string
105
- this . buffer = Buffer . from ( buffer , 'binary' ) ;
106
- } else if ( Array . isArray ( buffer ) ) {
107
- // number[]
108
- this . buffer = Buffer . from ( buffer ) ;
109
- } else {
110
- // Buffer | TypedArray | ArrayBuffer
111
- this . buffer = ensureBuffer ( buffer ) ;
112
- }
113
-
114
- this . position = this . buffer . byteLength ;
105
+ // Buffer | TypedArray | ArrayBuffer
106
+ this . buffer = ensureBuffer ( buffer ) ;
115
107
}
116
- }
108
+
109
+ this . position = this . buffer . byteLength ;
110
+
117
111
}
118
112
119
113
/**
0 commit comments