Nimble Prime Musketeers

    data-mask

    0.0.4 • Public • Published

    data-mask

    A small string masking library in javascript.

    npm version Bower version Build Status

    INSTALLATION

    With bower:

    bower install --save data-mask

    With npm:

    npm install --save data-mask

    USAGE

    Use it by using DataMasker instance with plain text:

    /**
     * options parameter is optional in the constructor.
     */
    var dataMasker = new DataMasker('lorem ipsum', options); //options is optional
    var output = '';
     
    output = dataMasker.maskLeft(2);   //"**rem **sum"
    output = dataMasker.maskRight(2);  //"lor** ips**"
    output = dataMasker.maskRandom(2); //"lo*e* ip**m" etc (random chars)
     
    //options can be override on function call
    output = dataMasker.maskLeft(2, ' ', '#');   //"##rem ##sum"
    output = dataMasker.maskRight(2, ' ', '@');  //"lor@@ ips@@"
    output = dataMasker.maskRandom(2, ' ', '-'); //"lo-e- ip--m" etc (random chars)
    output = dataMasker.maskLeft(2, 4, '?');     //"??re??ip??m"" (fixed chuks)
     
    //before & after mask functions.
    output = dataMasker.maskLeft(2, ' ', '?', beforeMaskFn, afterMaskFn);
     
    //or just call mask function
    output = dataMasker.mask(2, ' ', '#', 1);   //"##rem ##sum"
     
    //also static calls available.
    output = DataMasker.maskLeft('lorem ipsum', 2, ' ', '#');   //"##rem ##sum"
    output = DataMasker.maskRight('lorem ipsum', 2, ' ', '@');  //"lor@@ ips@@"
    output = DataMasker.maskRandom('lorem ipsum', 2, ' ', '-'); //"lo-e- ip--m" etc (random chars)
    output = DataMasker.maskLeft('lorem ipsum', 2, 4, '?');     //"??re??ip??m"" (fixed chuks)

    OPTIONS

    Options for constructor or method params:

    Option Description
    maskChar An one-length string used for mask (Default *)
    deliminator A deliminator string or integer for fixed chunks (Default ' ' or min 1)
    direction Mask positions. Left, right or random chars "1, -1, 0" (Default 1)
    range Mask character count or percentage for token (0 < range < 1), range=0 is random character count.
    beforeMask Callback function on before mask for each token. fn(token, range, maskChar, deliminator), a string token expected. Return false for prevent masking.
    aftermask Callback function on after mask for each token. fn(token, range, maskChar, deliminator), a string token expected. Return false for exclude token.

    beforeMask and afterMask examples:

    function beforeMask(token, range, maskChar, deliminator) {
        if(token=='lorem'){
            return 'LOREM'; //Uppercase 'lorem'
        }
        else if(token == 'ipsum'){
            return false; //Not mask 'ipsum'
        }
        else{
            return token;
        }
    }
     
    function afterMask(token, range, maskChar, deliminator) {
        if(token === maskChar){
            return false; //Ignore one-length masked tokens like '*', '#' etc.
        }
        else{
            return token;
        }
    }

    LICENSE

    Copyright (c) 2016 Soner Çökmen

    Licensed under the MIT license.

    Install

    npm i data-mask

    DownloadsWeekly Downloads

    2,111

    Version

    0.0.4

    License

    MIT

    Last publish

    Collaborators

    • scokmen