all files / DEV/lib/commands/ getCookie.js

83.33% Statements 10/12
41.67% Branches 5/12
0% Functions 0/3
50% Lines 2/4
6 statements, 5 branches Ignored     
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                                                                                                           
/**
 *
 * Retrieve a [cookie](https://code.google.com/p/selenium/wiki/JsonWireProtocol#Cookie_JSON_Object)
 * visible to the current page. You can query a specific cookie by providing the cookie name or
 * retrieve all.
 *
 * <example>
    :getCookie.js
    client
        .setCookie({name: 'test', value: '123'})
        .getCookie('test').then(function(cookie) {
            console.log(cookie); // outputs: { name: 'test', value: '123' }
        })
        .getCookie().then(function(cookies) {
            console.log(cookies); // outputs: [{ name: 'test', value: '123' }]
        });
 * </example>
 *
 * @param {String=} name name of requested cookie
 * @returns {Object|null} requested cookie if existing
 *
 * @uses protocol/cookie
 * @type cookie
 *
 */
 
'use strict';
 
Object.defineProperty(exports, '__esModule', {
    value: true
});
var getCookie = function getCookie(name) {
    /*!
     * paramter check
     */
    if (typeof name !== 'string') {
        name = null;
    }

    return this.cookie().then(function (res) {
        res.value = res.value || [];
 
        if (typeof name === 'string') {
            return res.value.filter(function (cookie) {
                return cookie.name === name;
            })[0] || null;
        }
 
        return res.value || (typeof name === 'string' ? null : []);
    });
};
 
exports['default'] = getCookie;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvY29tbWFuZHMvZ2V0Q29va2llLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEwQkEsSUFBSSxTQUFTLEdBQUcsU0FBWixTQUFTLENBQWEsSUFBSSxFQUFFOzs7O0FBSTVCLFFBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO0FBQzFCLFlBQUksR0FBRyxJQUFJLENBQUE7S0FDZDs7QUFFRCxXQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBQyxHQUFHLEVBQUs7QUFDL0IsV0FBRyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQTs7QUFFM0IsWUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7QUFDMUIsbUJBQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBQyxNQUFNO3VCQUFLLE1BQU0sQ0FBQyxJQUFJLEtBQUssSUFBSTthQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUE7U0FDdkU7O0FBRUQsZUFBTyxHQUFHLENBQUMsS0FBSyxLQUFLLE9BQU8sSUFBSSxLQUFLLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFBLEFBQUMsQ0FBQTtLQUM3RCxDQUFDLENBQUE7Q0FDTCxDQUFBOztxQkFFYyxTQUFTIiwiZmlsZSI6Ii9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvY29tbWFuZHMvZ2V0Q29va2llLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKlxuICogUmV0cmlldmUgYSBbY29va2llXShodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL3NlbGVuaXVtL3dpa2kvSnNvbldpcmVQcm90b2NvbCNDb29raWVfSlNPTl9PYmplY3QpXG4gKiB2aXNpYmxlIHRvIHRoZSBjdXJyZW50IHBhZ2UuIFlvdSBjYW4gcXVlcnkgYSBzcGVjaWZpYyBjb29raWUgYnkgcHJvdmlkaW5nIHRoZSBjb29raWUgbmFtZSBvclxuICogcmV0cmlldmUgYWxsLlxuICpcbiAqIDxleGFtcGxlPlxuICAgIDpnZXRDb29raWUuanNcbiAgICBjbGllbnRcbiAgICAgICAgLnNldENvb2tpZSh7bmFtZTogJ3Rlc3QnLCB2YWx1ZTogJzEyMyd9KVxuICAgICAgICAuZ2V0Q29va2llKCd0ZXN0JykudGhlbihmdW5jdGlvbihjb29raWUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGNvb2tpZSk7IC8vIG91dHB1dHM6IHsgbmFtZTogJ3Rlc3QnLCB2YWx1ZTogJzEyMycgfVxuICAgICAgICB9KVxuICAgICAgICAuZ2V0Q29va2llKCkudGhlbihmdW5jdGlvbihjb29raWVzKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhjb29raWVzKTsgLy8gb3V0cHV0czogW3sgbmFtZTogJ3Rlc3QnLCB2YWx1ZTogJzEyMycgfV1cbiAgICAgICAgfSk7XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogQHBhcmFtIHtTdHJpbmc9fSBuYW1lIG5hbWUgb2YgcmVxdWVzdGVkIGNvb2tpZVxuICogQHJldHVybnMge09iamVjdHxudWxsfSByZXF1ZXN0ZWQgY29va2llIGlmIGV4aXN0aW5nXG4gKlxuICogQHVzZXMgcHJvdG9jb2wvY29va2llXG4gKiBAdHlwZSBjb29raWVcbiAqXG4gKi9cblxubGV0IGdldENvb2tpZSA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgLyohXG4gICAgICogcGFyYW10ZXIgY2hlY2tcbiAgICAgKi9cbiAgICBpZiAodHlwZW9mIG5hbWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIG5hbWUgPSBudWxsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY29va2llKCkudGhlbigocmVzKSA9PiB7XG4gICAgICAgIHJlcy52YWx1ZSA9IHJlcy52YWx1ZSB8fCBbXVxuXG4gICAgICAgIGlmICh0eXBlb2YgbmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiByZXMudmFsdWUuZmlsdGVyKChjb29raWUpID0+IGNvb2tpZS5uYW1lID09PSBuYW1lKVswXSB8fCBudWxsXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzLnZhbHVlIHx8ICh0eXBlb2YgbmFtZSA9PT0gJ3N0cmluZycgPyBudWxsIDogW10pXG4gICAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgZ2V0Q29va2llXG4iXX0=