Simplify Node.js API Docs

API Docs for:
Show:

File: lib/simplifyUtils.js

                        /*
                         * Copyright (c) 2013 - 2024 MasterCard International Incorporated
                         * All rights reserved.
                         * 
                         * Redistribution and use in source and binary forms, with or without modification, are 
                         * permitted provided that the following conditions are met:
                         * 
                         * Redistributions of source code must retain the above copyright notice, this list of 
                         * conditions and the following disclaimer.
                         * Redistributions in binary form must reproduce the above copyright notice, this list of 
                         * conditions and the following disclaimer in the documentation and/or other materials 
                         * provided with the distribution.
                         * Neither the name of the MasterCard International Incorporated nor the names of its 
                         * contributors may be used to endorse or promote products derived from this software 
                         * without specific prior written permission.
                         * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
                         * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
                         * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 
                         * SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
                         * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
                         * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
                         * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 
                         * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 
                         * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
                         * SUCH DAMAGE.
                         */
                        
                        /**
                         * This module exposes the different domain
                         * object on which different API calls can be
                         * invoked upon.
                         *
                         * @class SimplifyUtils
                         * @static
                         */
                        
                        var SimplifyUtils = {},
                            crypto = require('crypto');
                        
                        /**
                         * Function to generate a random number.
                         *
                         * @method generateRandomNumber
                         * @return {String} Returns a generated number
                         */
                        SimplifyUtils.generateRandomNumber = function() {
                            var current_date = (new Date()).valueOf().toString();
                            return crypto.createHash('sha256').update(current_date).digest('hex');
                        }
                        
                        /**
                         * Function to check whether an API key is live or not.
                         *
                         * @method isLiveKey
                         * @param {String} key API key to check
                         * @return {Boolean} Returns true is the key is a public API key
                         */
                        SimplifyUtils.isLiveKey = function(key) {
                            return (key.length >= 4 && key.substring(0, 4) === "lvpb");
                        }
                        
                        /**
                         * Function to check whether a value/object is undefined.
                         *
                         * @method isUndefined
                         * @param {Object} value Object to check if it's type is 'undefined'
                         * @return {Boolean} Returns true if object's type is 'undefined'
                         */
                        SimplifyUtils.isUndefined = function(value) {
                            return typeof value === "undefined";
                        }
                        
                        // Export our module
                        module.exports = SimplifyUtils;