# EncoderMembers

<div class="jsdoc-content"><header>
    
        <h2><span class="attribs"><span class="type-signature">(abstract) </span></span>EncoderMembers<span class="signature">(encodingOptions)</span><span class="type-signature"></span></h2>
        
            <div class="class-description"><p>Declares the privileged instance members.
Due to historical reasons, it was always separate from Encoder.
It's likely because previously Encoder was exposed in the API (it no longer is)
and such separation allowed to keep members of this class private (invisible in the public API docs).
Currently it's kept separate to easier code reading / editing.
This class focuses on encoding/decoding methods for individual types,
while Encoder &quot;public&quot; (only for the driver) part of the API.
You can only use this class through Encoder, and do not instantiate it directly.</p></div>
        
    
</header>


    
        

    
    </div>

## Constructor

<div class="jsdoc-content">
    

    
    <h4 class="name" id="EncoderMembers"><span class="type-signature">(abstract) </span>new EncoderMembers<span class="signature">(encodingOptions)</span><span class="type-signature"></span></h4>
    

    











    <h5>Parameters:</h5>
    

<table class="params docutils align-default">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>encodingOptions</code></td>
            

            <td class="type">
            
                
<span class="param-type">\*</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

    
    </tbody>
</table>






<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/encoder.js#L131" target="_blank" rel="noopener">encoder.js, line 131</a></p></div>




















    
    

    

    

    

    

    

    

    

    
        </div>

## Methods

<div class="jsdoc-content">

        
            

    

    
    <h4 class="name" id="encodeCustom"><span class="type-signature"></span>encodeCustom<span class="signature">(value, columnInfo)</span><span class="type-signature"> &rarr; {Buffer}</span></h4>
    

    











    <h5>Parameters:</h5>
    

<table class="params docutils align-default">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>value</code></td>
            

            <td class="type">
            
                
<span class="param-type">any</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>columnInfo</code></td>
            

            <td class="type">
            
                
<span class="param-type">OtherCustomColumnInfo</span>
|

<span class="param-type">VectorColumnInfo</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

    
    </tbody>
</table>






<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/encoder.js#L1022" target="_blank" rel="noopener">encoder.js, line 1022</a></p></div>















<h5>Returns:</h5>

        


<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">Buffer</span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="encodeSet"><span class="type-signature"></span>encodeSet<span class="signature">(value, columnInfo)</span><span class="type-signature"> &rarr; {Buffer}</span></h4>
    

    











    <h5>Parameters:</h5>
    

<table class="params docutils align-default">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>value</code></td>
            

            <td class="type">
            
                
<span class="param-type">Array&lt;any></span>
|

<span class="param-type">Object</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>columnInfo</code></td>
            

            <td class="type">
            
                
<span class="param-type">\*</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

    
    </tbody>
</table>






<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/encoder.js#L1148" target="_blank" rel="noopener">encoder.js, line 1148</a></p></div>















<h5>Returns:</h5>

        


<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">Buffer</span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="encodeUdt"><span class="type-signature"></span>encodeUdt<span class="signature">(value, columnInfo)</span><span class="type-signature"> &rarr; {Buffer}</span></h4>
    

    











    <h5>Parameters:</h5>
    

<table class="params docutils align-default">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>value</code></td>
            

            <td class="type">
            
                
<span class="param-type">any</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>columnInfo</code></td>
            

            <td class="type">
            
                
<span class="param-type">UdtColumnInfo</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

    
    </tbody>
</table>






<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/encoder.js#L1235" target="_blank" rel="noopener">encoder.js, line 1235</a></p></div>















<h5>Returns:</h5>

        


<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">Buffer</span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="encodeVector"><span class="type-signature"></span>encodeVector<span class="signature">(value, params)</span><span class="type-signature"> &rarr; {Buffer}</span></h4>
    

    











    <h5>Parameters:</h5>
    

<table class="params docutils align-default">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>value</code></td>
            

            <td class="type">
            
                
<span class="param-type">Vector</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>params</code></td>
            

            <td class="type">
            
                
<span class="param-type">VectorColumnInfo</span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

    
    </tbody>
</table>






<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/encoder.js#L1395" target="_blank" rel="noopener">encoder.js, line 1395</a></p></div>















<h5>Returns:</h5>

        


<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">Buffer</span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="serializationSizeIfFixed"><span class="type-signature"></span>serializationSizeIfFixed<span class="signature">(cqlType)</span><span class="type-signature"> &rarr; {Number}</span></h4>
    

    











    <h5>Parameters:</h5>
    

<table class="params docutils align-default">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>cqlType</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="ColumnInfo.html">ColumnInfo</a></span>


            
            </td>

            

            

            <td class="description last"></td>
        </tr>

    
    </tbody>
</table>






<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/encoder.js#L1353" target="_blank" rel="noopener">encoder.js, line 1353</a></p></div>















<h5>Returns:</h5>

        


<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">Number</span>


    </dd>
</dl></div>
