# Code coverage report for node-ipc\entities\Defaults.js

# all files / node-ipc/entities/ Defaults.js

96.55% Statements 28/29
57.14% Branches 4/7
100% Functions 2/2
96.55% Lines 28/29

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81

    1×

    3×
    3×
    3×

    3×
    3×
    3×
    3×

    3×

    3×
    3×
    3×
    3×

    3×
    3×
    3×
    3×

    3×
    3×
    3×
    3×

    3×

    1×
    3×
    3×
    3×

    3×

    1×
     'use strict';

    /*eslint no-magic-numbers: ["error", { "ignore": [ 0] }]*/

    /**
     * @module entities
     */

    const os = require('os');

    /**
     * @class Defaults
     * @description Defaults Entity
     */
    class Defaults{

        /**
         * @constructor
         * @method constructor
         * @return {void}
         */
        constructor(){

            this.appspace='app.';
            this.socketRoot='/tmp/';
            this.id=os.hostname();

            this.encoding='utf8';
            this.rawBuffer=false;
            this.sync=false;
            this.unlink=true;

            this.delimiter='\f';

            this.silent=false;
            this.logDepth=5;
            this.logInColor=true;
            this.logger=console.log.bind(console);

            this.maxConnections=100;
            this.retry=500;
            this.maxRetries=Infinity;
            this.stopRetrying=false;

            this.IPType=getIPType();
            this.tls=false;
            this.networkHost = (this.IPType == 'IPv6') ? '::1' : '127.0.0.1';
            this.networkPort = 8000;

            this.interface={
                localAddress:false,
                localPort:false,
                family:false,
                hints:false,
                lookup:false
            }
        }
    }

    /**
     * method to get ip type
     *
     * @method getIPType
     * @return {string} ip type
     */
    function getIPType() {
        const networkInterfaces = os.networkInterfaces();
        let IPType = '';
        Iif (networkInterfaces
            && Array.isArray(networkInterfaces)
            && networkInterfaces.length > 0) {
            // getting the family of first network interface available
            IPType = networkInterfaces [
                Object.keys( networkInterfaces )[0]
            ][0].family;
        }
        return IPType;
    }

    module.exports=Defaults;