Best JavaScript code snippet using testcafe
selector-native-coverage.js
Source:selector-native-coverage.js  
...31    calledFunctions: 0,32    path: "build/selector-native/selector-native.js",33    code: []34};35_yuitest_coverage["build/selector-native/selector-native.js"].code=["YUI.add('selector-native', function (Y, NAME) {","","(function(Y) {","/**"," * The selector-native module provides support for native querySelector"," * @module dom"," * @submodule selector-native"," * @for Selector"," */","","/**"," * Provides support for using CSS selectors to query the DOM "," * @class Selector "," * @static"," * @for Selector"," */","","Y.namespace('Selector'); // allow native module to standalone","","var COMPARE_DOCUMENT_POSITION = 'compareDocumentPosition',","    OWNER_DOCUMENT = 'ownerDocument';","","var Selector = {","    _types: {","        esc: {","            token: '\\uE000',","            re: /\\\\[:\\[\\]\\(\\)#\\.\\'\\>+~\"]/gi","        },","","        attr: {","            token: '\\uE001',","            re: /(\\[[^\\]]*\\])/g","        },","","        pseudo: {","            token: '\\uE002',","            re: /(\\([^\\)]*\\))/g","        }","    },","","    useNative: true,","","    _escapeId: function(id) {","        if (id) {","            id = id.replace(/([:\\[\\]\\(\\)#\\.'<>+~\"])/g,'\\\\$1');","        }","        return id;","    },","","    _compare: ('sourceIndex' in Y.config.doc.documentElement) ?","        function(nodeA, nodeB) {","            var a = nodeA.sourceIndex,","                b = nodeB.sourceIndex;","","            if (a === b) {","                return 0;","            } else if (a > b) {","                return 1;","            }","","            return -1;","","        } : (Y.config.doc.documentElement[COMPARE_DOCUMENT_POSITION] ?","        function(nodeA, nodeB) {","            if (nodeA[COMPARE_DOCUMENT_POSITION](nodeB) & 4) {","                return -1;","            } else {","                return 1;","            }","        } :","        function(nodeA, nodeB) {","            var rangeA, rangeB, compare;","            if (nodeA && nodeB) {","                rangeA = nodeA[OWNER_DOCUMENT].createRange();","                rangeA.setStart(nodeA, 0);","                rangeB = nodeB[OWNER_DOCUMENT].createRange();","                rangeB.setStart(nodeB, 0);","                compare = rangeA.compareBoundaryPoints(1, rangeB); // 1 === Range.START_TO_END","            }","","            return compare;","        ","    }),","","    _sort: function(nodes) {","        if (nodes) {","            nodes = Y.Array(nodes, 0, true);","            if (nodes.sort) {","                nodes.sort(Selector._compare);","            }","        }","","        return nodes;","    },","","    _deDupe: function(nodes) {","        var ret = [],","            i, node;","","        for (i = 0; (node = nodes[i++]);) {","            if (!node._found) {","                ret[ret.length] = node;","                node._found = true;","            }","        }","","        for (i = 0; (node = ret[i++]);) {","            node._found = null;","            node.removeAttribute('_found');","        }","","        return ret;","    },","","    /**","     * Retrieves a set of nodes based on a given CSS selector. ","     * @method query","     *","     * @param {string} selector The CSS Selector to test the node against.","     * @param {HTMLElement} root optional An HTMLElement to start the query from. Defaults to Y.config.doc","     * @param {Boolean} firstOnly optional Whether or not to return only the first match.","     * @return {Array} An array of nodes that match the given selector.","     * @static","     */","    query: function(selector, root, firstOnly, skipNative) {","        root = root || Y.config.doc;","        var ret = [],","            useNative = (Y.Selector.useNative && Y.config.doc.querySelector && !skipNative),","            queries = [[selector, root]],","            query,","            result,","            i,","            fn = (useNative) ? Y.Selector._nativeQuery : Y.Selector._bruteQuery;","","        if (selector && fn) {","            // split group into seperate queries","            if (!skipNative && // already done if skipping","                    (!useNative || root.tagName)) { // split native when element scoping is needed","                queries = Selector._splitQueries(selector, root);","            }","","            for (i = 0; (query = queries[i++]);) {","                result = fn(query[0], query[1], firstOnly);","                if (!firstOnly) { // coerce DOM Collection to Array","                    result = Y.Array(result, 0, true);","                }","                if (result) {","                    ret = ret.concat(result);","                }","            }","","            if (queries.length > 1) { // remove dupes and sort by doc order ","                ret = Selector._sort(Selector._deDupe(ret));","            }","        }","","        return (firstOnly) ? (ret[0] || null) : ret;","","    },","","    _replaceSelector: function(selector) {","        var esc = Y.Selector._parse('esc', selector), // pull escaped colon, brackets, etc. ","            attrs,","            pseudos;","","        // first replace escaped chars, which could be present in attrs or pseudos","        selector = Y.Selector._replace('esc', selector);","","        // then replace pseudos before attrs to avoid replacing :not([foo])","        pseudos = Y.Selector._parse('pseudo', selector);","        selector = Selector._replace('pseudo', selector);","","        attrs = Y.Selector._parse('attr', selector);","        selector = Y.Selector._replace('attr', selector);","","        return {","            esc: esc,","            attrs: attrs,","            pseudos: pseudos,","            selector: selector","        };","    },","","    _restoreSelector: function(replaced) {","        var selector = replaced.selector;","        selector = Y.Selector._restore('attr', selector, replaced.attrs);","        selector = Y.Selector._restore('pseudo', selector, replaced.pseudos);","        selector = Y.Selector._restore('esc', selector, replaced.esc);","        return selector;","    },","","    _replaceCommas: function(selector) {","        var replaced = Y.Selector._replaceSelector(selector),","            selector = replaced.selector;","","        if (selector) {","            selector = selector.replace(/,/g, '\\uE007');","            replaced.selector = selector;","            selector = Y.Selector._restoreSelector(replaced);","        }","        return selector;","    },","","    // allows element scoped queries to begin with combinator","    // e.g. query('> p', document.body) === query('body > p')","    _splitQueries: function(selector, node) {","        if (selector.indexOf(',') > -1) {","            selector = Y.Selector._replaceCommas(selector);","        }","","        var groups = selector.split('\\uE007'), // split on replaced comma token","            queries = [],","            prefix = '',","            id,","            i,","            len;","","        if (node) {","            // enforce for element scoping","            if (node.nodeType === 1) { // Elements only","                id = Y.Selector._escapeId(Y.DOM.getId(node));","","                if (!id) {","                    id = Y.guid();","                    Y.DOM.setId(node, id);","                }","            ","                prefix = '[id=\"' + id + '\"] ';","            }","","            for (i = 0, len = groups.length; i < len; ++i) {","                selector =  prefix + groups[i];","                queries.push([selector, node]);","            }","        }","","        return queries;","    },","","    _nativeQuery: function(selector, root, one) {","        if (Y.UA.webkit && selector.indexOf(':checked') > -1 &&","                (Y.Selector.pseudos && Y.Selector.pseudos.checked)) { // webkit (chrome, safari) fails to pick up \"selected\"  with \"checked\"","            return Y.Selector.query(selector, root, one, true); // redo with skipNative true to try brute query","        }","        try {","            return root['querySelector' + (one ? '' : 'All')](selector);","        } catch(e) { // fallback to brute if available","            return Y.Selector.query(selector, root, one, true); // redo with skipNative true","        }","    },","","    filter: function(nodes, selector) {","        var ret = [],","            i, node;","","        if (nodes && selector) {","            for (i = 0; (node = nodes[i++]);) {","                if (Y.Selector.test(node, selector)) {","                    ret[ret.length] = node;","                }","            }","        } else {","        }","","        return ret;","    },","","    test: function(node, selector, root) {","        var ret = false,","            useFrag = false,","            groups,","            parent,","            item,","            items,","            frag,","            id,","            i, j, group;","","        if (node && node.tagName) { // only test HTMLElements","","            if (typeof selector == 'function') { // test with function","                ret = selector.call(node, node);","            } else { // test with query","                // we need a root if off-doc","                groups = selector.split(',');","                if (!root && !Y.DOM.inDoc(node)) {","                    parent = node.parentNode;","                    if (parent) { ","                        root = parent;","                    } else { // only use frag when no parent to query","                        frag = node[OWNER_DOCUMENT].createDocumentFragment();","                        frag.appendChild(node);","                        root = frag;","                        useFrag = true;","                    }","                }","                root = root || node[OWNER_DOCUMENT];","","                id = Y.Selector._escapeId(Y.DOM.getId(node));","                if (!id) {","                    id = Y.guid();","                    Y.DOM.setId(node, id);","                }","","                for (i = 0; (group = groups[i++]);) { // TODO: off-dom test","                    group += '[id=\"' + id + '\"]';","                    items = Y.Selector.query(group, root);","","                    for (j = 0; item = items[j++];) {","                        if (item === node) {","                            ret = true;","                            break;","                        }","                    }","                    if (ret) {","                        break;","                    }","                }","","                if (useFrag) { // cleanup","                    frag.removeChild(node);","                }","            };","        }","","        return ret;","    },","","    /**","     * A convenience function to emulate Y.Node's aNode.ancestor(selector).","     * @param {HTMLElement} element An HTMLElement to start the query from.","     * @param {String} selector The CSS selector to test the node against.","     * @return {HTMLElement} The ancestor node matching the selector, or null.","     * @param {Boolean} testSelf optional Whether or not to include the element in the scan ","     * @static","     * @method ancestor","     */","    ancestor: function (element, selector, testSelf) {","        return Y.DOM.ancestor(element, function(n) {","            return Y.Selector.test(n, selector);","        }, testSelf);","    },","","    _parse: function(name, selector) {","        return selector.match(Y.Selector._types[name].re);","    },","","    _replace: function(name, selector) {","        var o = Y.Selector._types[name];","        return selector.replace(o.re, o.token);","    },","","    _restore: function(name, selector, items) {","        if (items) {","            var token = Y.Selector._types[name].token,","                i, len;","            for (i = 0, len = items.length; i < len; ++i) {","                selector = selector.replace(token, items[i]);","            }","        }","        return selector;","    }","};","","Y.mix(Y.Selector, Selector, true);","","})(Y);","","","}, '3.7.3', {\"requires\": [\"dom-base\"]});"];36_yuitest_coverage["build/selector-native/selector-native.js"].lines = {"1":0,"3":0,"18":0,"20":0,"23":0,"44":0,"45":0,"47":0,"52":0,"55":0,"56":0,"57":0,"58":0,"61":0,"65":0,"66":0,"68":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"81":0,"86":0,"87":0,"88":0,"89":0,"93":0,"97":0,"100":0,"101":0,"102":0,"103":0,"107":0,"108":0,"109":0,"112":0,"126":0,"127":0,"135":0,"137":0,"139":0,"142":0,"143":0,"144":0,"145":0,"147":0,"148":0,"152":0,"153":0,"157":0,"162":0,"167":0,"170":0,"171":0,"173":0,"174":0,"176":0,"185":0,"186":0,"187":0,"188":0,"189":0,"193":0,"196":0,"197":0,"198":0,"199":0,"201":0,"207":0,"208":0,"211":0,"218":0,"220":0,"221":0,"223":0,"224":0,"225":0,"228":0,"231":0,"232":0,"233":0,"237":0,"241":0,"243":0,"245":0,"246":0,"248":0,"253":0,"256":0,"257":0,"258":0,"259":0,"265":0,"269":0,"279":0,"281":0,"282":0,"285":0,"286":0,"287":0,"288":0,"289":0,"291":0,"292":0,"293":0,"294":0,"297":0,"299":0,"300":0,"301":0,"302":0,"305":0,"306":0,"307":0,"309":0,"310":0,"311":0,"312":0,"315":0,"316":0,"320":0,"321":0,"323":0,"326":0,"339":0,"340":0,"345":0,"349":0,"350":0,"354":0,"355":0,"357":0,"358":0,"361":0,"365":0};37_yuitest_coverage["build/selector-native/selector-native.js"].functions = {"_escapeId:43":0,"(anonymous 3):51":0,"(anonymous 4):64":0,"}:71":0,"_sort:85":0,"_deDupe:96":0,"query:125":0,"_replaceSelector:161":0,"_restoreSelector:184":0,"_replaceCommas:192":0,"_splitQueries:206":0,"_nativeQuery:240":0,"filter:252":0,"test:268":0,"(anonymous 5):339":0,"ancestor:338":0,"_parse:344":0,"_replace:348":0,"_restore:353":0,"(anonymous 2):3":0,"(anonymous 1):1":0};38_yuitest_coverage["build/selector-native/selector-native.js"].coveredLines = 138;39_yuitest_coverage["build/selector-native/selector-native.js"].coveredFunctions = 21;40_yuitest_coverline("build/selector-native/selector-native.js", 1);41YUI.add('selector-native', function (Y, NAME) {42_yuitest_coverfunc("build/selector-native/selector-native.js", "(anonymous 1)", 1);43_yuitest_coverline("build/selector-native/selector-native.js", 3);44(function(Y) {45/**46 * The selector-native module provides support for native querySelector47 * @module dom48 * @submodule selector-native49 * @for Selector50 */51/**52 * Provides support for using CSS selectors to query the DOM 53 * @class Selector 54 * @static55 * @for Selector56 */57_yuitest_coverfunc("build/selector-native/selector-native.js", "(anonymous 2)", 3);58_yuitest_coverline("build/selector-native/selector-native.js", 18);59Y.namespace('Selector'); // allow native module to standalone60_yuitest_coverline("build/selector-native/selector-native.js", 20);61var COMPARE_DOCUMENT_POSITION = 'compareDocumentPosition',62    OWNER_DOCUMENT = 'ownerDocument';63_yuitest_coverline("build/selector-native/selector-native.js", 23);64var Selector = {65    _types: {66        esc: {67            token: '\uE000',68            re: /\\[:\[\]\(\)#\.\'\>+~"]/gi69        },70        attr: {71            token: '\uE001',72            re: /(\[[^\]]*\])/g73        },74        pseudo: {75            token: '\uE002',76            re: /(\([^\)]*\))/g77        }78    },79    useNative: true,80    _escapeId: function(id) {81        _yuitest_coverfunc("build/selector-native/selector-native.js", "_escapeId", 43);82_yuitest_coverline("build/selector-native/selector-native.js", 44);83if (id) {84            _yuitest_coverline("build/selector-native/selector-native.js", 45);85id = id.replace(/([:\[\]\(\)#\.'<>+~"])/g,'\\$1');86        }87        _yuitest_coverline("build/selector-native/selector-native.js", 47);88return id;89    },90    _compare: ('sourceIndex' in Y.config.doc.documentElement) ?91        function(nodeA, nodeB) {92            _yuitest_coverfunc("build/selector-native/selector-native.js", "(anonymous 3)", 51);93_yuitest_coverline("build/selector-native/selector-native.js", 52);94var a = nodeA.sourceIndex,95                b = nodeB.sourceIndex;96            _yuitest_coverline("build/selector-native/selector-native.js", 55);97if (a === b) {98                _yuitest_coverline("build/selector-native/selector-native.js", 56);99return 0;100            } else {_yuitest_coverline("build/selector-native/selector-native.js", 57);101if (a > b) {102                _yuitest_coverline("build/selector-native/selector-native.js", 58);103return 1;104            }}105            _yuitest_coverline("build/selector-native/selector-native.js", 61);106return -1;107        } : (Y.config.doc.documentElement[COMPARE_DOCUMENT_POSITION] ?108        function(nodeA, nodeB) {109            _yuitest_coverfunc("build/selector-native/selector-native.js", "(anonymous 4)", 64);110_yuitest_coverline("build/selector-native/selector-native.js", 65);111if (nodeA[COMPARE_DOCUMENT_POSITION](nodeB) & 4) {112                _yuitest_coverline("build/selector-native/selector-native.js", 66);113return -1;114            } else {115                _yuitest_coverline("build/selector-native/selector-native.js", 68);116return 1;117            }118        } :119        function(nodeA, nodeB) {120            _yuitest_coverfunc("build/selector-native/selector-native.js", "}", 71);121_yuitest_coverline("build/selector-native/selector-native.js", 72);122var rangeA, rangeB, compare;123            _yuitest_coverline("build/selector-native/selector-native.js", 73);124if (nodeA && nodeB) {125                _yuitest_coverline("build/selector-native/selector-native.js", 74);126rangeA = nodeA[OWNER_DOCUMENT].createRange();127                _yuitest_coverline("build/selector-native/selector-native.js", 75);128rangeA.setStart(nodeA, 0);129                _yuitest_coverline("build/selector-native/selector-native.js", 76);130rangeB = nodeB[OWNER_DOCUMENT].createRange();131                _yuitest_coverline("build/selector-native/selector-native.js", 77);132rangeB.setStart(nodeB, 0);133                _yuitest_coverline("build/selector-native/selector-native.js", 78);134compare = rangeA.compareBoundaryPoints(1, rangeB); // 1 === Range.START_TO_END135            }136            _yuitest_coverline("build/selector-native/selector-native.js", 81);137return compare;138        139    }),140    _sort: function(nodes) {141        _yuitest_coverfunc("build/selector-native/selector-native.js", "_sort", 85);142_yuitest_coverline("build/selector-native/selector-native.js", 86);143if (nodes) {144            _yuitest_coverline("build/selector-native/selector-native.js", 87);145nodes = Y.Array(nodes, 0, true);146            _yuitest_coverline("build/selector-native/selector-native.js", 88);147if (nodes.sort) {148                _yuitest_coverline("build/selector-native/selector-native.js", 89);149nodes.sort(Selector._compare);150            }151        }152        _yuitest_coverline("build/selector-native/selector-native.js", 93);153return nodes;154    },155    _deDupe: function(nodes) {156        _yuitest_coverfunc("build/selector-native/selector-native.js", "_deDupe", 96);157_yuitest_coverline("build/selector-native/selector-native.js", 97);158var ret = [],159            i, node;160        _yuitest_coverline("build/selector-native/selector-native.js", 100);161for (i = 0; (node = nodes[i++]);) {162            _yuitest_coverline("build/selector-native/selector-native.js", 101);163if (!node._found) {164                _yuitest_coverline("build/selector-native/selector-native.js", 102);165ret[ret.length] = node;166                _yuitest_coverline("build/selector-native/selector-native.js", 103);167node._found = true;168            }169        }170        _yuitest_coverline("build/selector-native/selector-native.js", 107);171for (i = 0; (node = ret[i++]);) {172            _yuitest_coverline("build/selector-native/selector-native.js", 108);173node._found = null;174            _yuitest_coverline("build/selector-native/selector-native.js", 109);175node.removeAttribute('_found');176        }177        _yuitest_coverline("build/selector-native/selector-native.js", 112);178return ret;179    },180    /**181     * Retrieves a set of nodes based on a given CSS selector. 182     * @method query183     *184     * @param {string} selector The CSS Selector to test the node against.185     * @param {HTMLElement} root optional An HTMLElement to start the query from. Defaults to Y.config.doc186     * @param {Boolean} firstOnly optional Whether or not to return only the first match.187     * @return {Array} An array of nodes that match the given selector.188     * @static189     */190    query: function(selector, root, firstOnly, skipNative) {191        _yuitest_coverfunc("build/selector-native/selector-native.js", "query", 125);192_yuitest_coverline("build/selector-native/selector-native.js", 126);193root = root || Y.config.doc;194        _yuitest_coverline("build/selector-native/selector-native.js", 127);195var ret = [],196            useNative = (Y.Selector.useNative && Y.config.doc.querySelector && !skipNative),197            queries = [[selector, root]],198            query,199            result,200            i,201            fn = (useNative) ? Y.Selector._nativeQuery : Y.Selector._bruteQuery;202        _yuitest_coverline("build/selector-native/selector-native.js", 135);203if (selector && fn) {204            // split group into seperate queries205            _yuitest_coverline("build/selector-native/selector-native.js", 137);206if (!skipNative && // already done if skipping207                    (!useNative || root.tagName)) { // split native when element scoping is needed208                _yuitest_coverline("build/selector-native/selector-native.js", 139);209queries = Selector._splitQueries(selector, root);210            }211            _yuitest_coverline("build/selector-native/selector-native.js", 142);212for (i = 0; (query = queries[i++]);) {213                _yuitest_coverline("build/selector-native/selector-native.js", 143);214result = fn(query[0], query[1], firstOnly);215                _yuitest_coverline("build/selector-native/selector-native.js", 144);216if (!firstOnly) { // coerce DOM Collection to Array217                    _yuitest_coverline("build/selector-native/selector-native.js", 145);218result = Y.Array(result, 0, true);219                }220                _yuitest_coverline("build/selector-native/selector-native.js", 147);221if (result) {222                    _yuitest_coverline("build/selector-native/selector-native.js", 148);223ret = ret.concat(result);224                }225            }226            _yuitest_coverline("build/selector-native/selector-native.js", 152);227if (queries.length > 1) { // remove dupes and sort by doc order 228                _yuitest_coverline("build/selector-native/selector-native.js", 153);229ret = Selector._sort(Selector._deDupe(ret));230            }231        }232        _yuitest_coverline("build/selector-native/selector-native.js", 157);233return (firstOnly) ? (ret[0] || null) : ret;234    },235    _replaceSelector: function(selector) {236        _yuitest_coverfunc("build/selector-native/selector-native.js", "_replaceSelector", 161);237_yuitest_coverline("build/selector-native/selector-native.js", 162);238var esc = Y.Selector._parse('esc', selector), // pull escaped colon, brackets, etc. 239            attrs,240            pseudos;241        // first replace escaped chars, which could be present in attrs or pseudos242        _yuitest_coverline("build/selector-native/selector-native.js", 167);243selector = Y.Selector._replace('esc', selector);244        // then replace pseudos before attrs to avoid replacing :not([foo])245        _yuitest_coverline("build/selector-native/selector-native.js", 170);246pseudos = Y.Selector._parse('pseudo', selector);247        _yuitest_coverline("build/selector-native/selector-native.js", 171);248selector = Selector._replace('pseudo', selector);249        _yuitest_coverline("build/selector-native/selector-native.js", 173);250attrs = Y.Selector._parse('attr', selector);251        _yuitest_coverline("build/selector-native/selector-native.js", 174);252selector = Y.Selector._replace('attr', selector);253        _yuitest_coverline("build/selector-native/selector-native.js", 176);254return {255            esc: esc,256            attrs: attrs,257            pseudos: pseudos,258            selector: selector259        };260    },261    _restoreSelector: function(replaced) {262        _yuitest_coverfunc("build/selector-native/selector-native.js", "_restoreSelector", 184);263_yuitest_coverline("build/selector-native/selector-native.js", 185);264var selector = replaced.selector;265        _yuitest_coverline("build/selector-native/selector-native.js", 186);266selector = Y.Selector._restore('attr', selector, replaced.attrs);267        _yuitest_coverline("build/selector-native/selector-native.js", 187);268selector = Y.Selector._restore('pseudo', selector, replaced.pseudos);269        _yuitest_coverline("build/selector-native/selector-native.js", 188);270selector = Y.Selector._restore('esc', selector, replaced.esc);271        _yuitest_coverline("build/selector-native/selector-native.js", 189);272return selector;273    },274    _replaceCommas: function(selector) {275        _yuitest_coverfunc("build/selector-native/selector-native.js", "_replaceCommas", 192);276_yuitest_coverline("build/selector-native/selector-native.js", 193);277var replaced = Y.Selector._replaceSelector(selector),278            selector = replaced.selector;279        _yuitest_coverline("build/selector-native/selector-native.js", 196);280if (selector) {281            _yuitest_coverline("build/selector-native/selector-native.js", 197);282selector = selector.replace(/,/g, '\uE007');283            _yuitest_coverline("build/selector-native/selector-native.js", 198);284replaced.selector = selector;285            _yuitest_coverline("build/selector-native/selector-native.js", 199);286selector = Y.Selector._restoreSelector(replaced);287        }288        _yuitest_coverline("build/selector-native/selector-native.js", 201);289return selector;290    },291    // allows element scoped queries to begin with combinator292    // e.g. query('> p', document.body) === query('body > p')293    _splitQueries: function(selector, node) {294        _yuitest_coverfunc("build/selector-native/selector-native.js", "_splitQueries", 206);295_yuitest_coverline("build/selector-native/selector-native.js", 207);296if (selector.indexOf(',') > -1) {297            _yuitest_coverline("build/selector-native/selector-native.js", 208);298selector = Y.Selector._replaceCommas(selector);299        }300        _yuitest_coverline("build/selector-native/selector-native.js", 211);...project.spec.js
Source:project.spec.js  
1const INPUT_PLAYER_NAME_SELECTOR = '[data-testid="input-player-name"]';2const INPUT_PLAYER_EMAIL_SELECTOR = '[data-testid="input-gravatar-email"]';3const BUTTON_PLAY_SELECTOR = '[data-testid="btn-play"]';4const HEADER_IMAGE_SELECTOR = '[data-testid="header-profile-picture"]';5const HEADER_NAME_SELECTOR = '[data-testid="header-player-name"]';6const HEADER_SCORE_SELECTOR = '[data-testid="header-score"]';7const QUESTION_CATEGORY_SELECTOR = '[data-testid="question-category"]';8const QUESTION_TEXT_SELECTOR = '[data-testid="question-text"]';9const CORRECT_ALTERNATIVE_SELECTOR = '[data-testid="correct-answer"]';10const WRONG_ALTERNATIVES_SELECTOR = '[data-testid*="wrong-answer"]';11const LOCAL_STORAGE_STATE_KEY = 'state';12const BUTTON_NEXT_QUESTION_SELECTOR = '[data-testid="btn-next"]';13const FEEDBACK_TEXT_SELECTOR = '[data-testid="feedback-text"]';14const BUTTON_SETTINGS_SELECTOR = '[data-testid="btn-settings"]';15const SETTINGS_TITLE_SELECTOR = '[data-testid="settings-title"]';16const TOKEN_KEY = 'token';17const name = 'Nome da pessoa';18const email = 'email@pessoa.com';19const name1 = 'Nome da pessoa';20const email1 = 'email@pessoa.com';21const name2 = 'Outra pessoa';22const email2 = 'outra@pessoa.com';23const name3 = 'Mais uma pessoa';24const email3 = 'mais@pessoa.com';25const LOCAL_STORAGE_RANKING_KEY = 'ranking';26const BUTTON_RANKING_SELECTOR = '[data-testid="btn-ranking"]';27const RANKING_TITLE_SELECTOR = '[data-testid="ranking-title"]';28const RANKING_PLAYERS_NAME_SELECTOR = '[data-testid*="player-name"]';29const BUTTON_GO_HOME_SELECTOR = '[data-testid="btn-go-home"]';30const FEEDBACK_TOTAL_SCORE_SELECTOR = '[data-testid="feedback-total-score"]';31const FEEDBACK_TOTAL_QUESTION_SELECTOR = '[data-testid="feedback-total-question"]';32const BUTTON_PLAY_AGAIN_SELECTOR = '[data-testid="btn-play-again"]';33// login34describe('1 - [TELA DE LOGIN] Crie a tela de login, onde a pessoa que joga deve preencher as informações para iniciar um jogo', () => {35  beforeEach(() => {36    cy.visit('http://localhost:3000/');37  });38  it('Escreve o nome da pessoa jogadora', () => {39    cy.get(INPUT_PLAYER_NAME_SELECTOR).type('Nome da pessoa');40  });41  it('Escreve o email da pessoa jogadora', () => {42    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type('email@pessoa.com');43  });44  it('Botão Jogar desabilitado quando pessoa jogadora não preencher nenhum campo', () => {45    cy.get(BUTTON_PLAY_SELECTOR).should('be.disabled');46  });47  it('Botão Jogar desabilitado quando pessoa jogadora escrever apenas o nome', () => {48    cy.get(INPUT_PLAYER_NAME_SELECTOR).type('Nome da pessoa');49    cy.get(BUTTON_PLAY_SELECTOR).should('be.disabled');50  });51  it('Botão Jogar desabilitado quando pessoa jogadora escrever apenas o email', () => {52    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type('email@pessoa.com');53    cy.get(BUTTON_PLAY_SELECTOR).should('be.disabled');54  });55  it('Botão Jogar habilitado quando pessoa jogadora preencher os campos de nome e email', () => {56    cy.get(INPUT_PLAYER_NAME_SELECTOR).type('Nome da pessoa');57    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type('email@pessoa.com');58    cy.get(BUTTON_PLAY_SELECTOR).should('not.be.disabled');59  });60});61describe('2 - [TELA DE LOGIN] Crie o botão de iniciar o jogo', () => {62  beforeEach(() => {63    cy.visit('http://localhost:3000/');64    cy.clearLocalStorage();65  });66  it('Inicia jogo salvando um token de jogador', () => {67    cy.get(INPUT_PLAYER_NAME_SELECTOR).type('Nome da pessoa');68    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type('email@pessoa.com');69    cy.get(BUTTON_PLAY_SELECTOR).click().should(() => {70      expect(localStorage.getItem(TOKEN_KEY)).not.to.be.null;71    });72  });73});74describe('3 - [TELA DE LOGIN] Crie um botão na tela inicial que leve para a tela de configurações', () => {75  beforeEach(() => {76    cy.visit('http://localhost:3000/');77  });78  it('O botão deve existir na página', () => {79    cy.get(BUTTON_SETTINGS_SELECTOR).should('exist');80  });81  it('A tela de configurações deve possuir um tÃtulo', () => {82    cy.get(BUTTON_SETTINGS_SELECTOR).click();83    cy.get(SETTINGS_TITLE_SELECTOR).should('exist');84  });85});86// game87describe('4 - [TELA DE JOGO] Crie um _header_ que deve conter as informações da pessoa jogadora', () => {88  beforeEach(() => {89    cy.visit('http://localhost:3000/');90    cy.clearLocalStorage();91    cy.get(INPUT_PLAYER_NAME_SELECTOR).type(name);92    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type(email);93    cy.get(BUTTON_PLAY_SELECTOR).click();94    cy.get(HEADER_NAME_SELECTOR);95  });96  it('A imagem do Gravatar está presente no header', () => {97    cy.get(HEADER_IMAGE_SELECTOR).should('exist');98  });99  it('O nome da pessoa está presente no header', () => {100    cy.get(HEADER_NAME_SELECTOR).contains(name);101  });102  it('O placar zerado está presente no header', () => {103    cy.get(HEADER_SCORE_SELECTOR).contains('0');104  });105});106describe('5 - [TELA DE JOGO] Crie a página de jogo que deve conter as informações relacionadas à pergunta', () => {107  beforeEach(() => {108    cy.visit('http://localhost:3000/');109    cy.clearLocalStorage();110    cy.get(INPUT_PLAYER_NAME_SELECTOR).type(name);111    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type(email);112    cy.get(BUTTON_PLAY_SELECTOR).click();113  });114  afterEach(() => {115    const storage = Object.keys(localStorage).length;116    expect(storage).to.be.lessThan(4);117  });118  it('A categoria da pergunta está presente', () => {119    cy.get(QUESTION_CATEGORY_SELECTOR).should('exist');120  });121  it('O texto da pergunta está presente', () => {122    cy.get(QUESTION_TEXT_SELECTOR).should('exist');123  });124  it('As alternativas devem estar presentes', () => {125    cy.get(CORRECT_ALTERNATIVE_SELECTOR).should('exist');126    cy.get(WRONG_ALTERNATIVES_SELECTOR).should('exist');127  });128});129describe('6 - [TELA DE JOGO] Desenvolva o jogo onde só deve ser possÃvel escolher uma resposta correta por pergunta', () => {130  beforeEach(() => {131    cy.visit('http://localhost:3000/');132    cy.clearLocalStorage();133    cy.get(INPUT_PLAYER_NAME_SELECTOR).type(name);134    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type(email);135    cy.get(BUTTON_PLAY_SELECTOR).click();136  });137  it('A quantidade de respostas corretas deve ser 1', () => {138    cy.get(CORRECT_ALTERNATIVE_SELECTOR).should('have.length', 1);139  });140});141describe('7 - [TELA DE JOGO] Desenvolva o estilo que, ao clicar em uma resposta, a correta deve ficar verde e as incorretas, vermelhas', () => {142  beforeEach(() => {143    cy.visit('http://localhost:3000/');144    cy.clearLocalStorage();145    cy.get(INPUT_PLAYER_NAME_SELECTOR).type(name);146    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type(email);147    cy.get(BUTTON_PLAY_SELECTOR).click();148  });149  it('Verifica cor da alternativa correta quando acerta a questão', () => {150    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();151    cy.get(CORRECT_ALTERNATIVE_SELECTOR).should('have.css', 'border-color', 'rgb(6, 240, 15)');152    cy.get(CORRECT_ALTERNATIVE_SELECTOR).should('have.css', 'border-style', 'solid');153    cy.get(CORRECT_ALTERNATIVE_SELECTOR).should('have.css', 'border-width', '3px');154  });155  it('Verifica a cor das alternativas incorretas quando acerta a questão', () => {156    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();157    cy.get(WRONG_ALTERNATIVES_SELECTOR).should('have.css', 'border-color', 'rgb(255, 0, 0)');158    cy.get(WRONG_ALTERNATIVES_SELECTOR).should('have.css', 'border-style', 'solid');159    cy.get(WRONG_ALTERNATIVES_SELECTOR).should('have.css', 'border-width', '3px');160  });161  it('Verifica cor da alternativa correta quando erra a questão', () => {162    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();163    cy.get(CORRECT_ALTERNATIVE_SELECTOR).should('have.css', 'border-color', 'rgb(6, 240, 15)');164    cy.get(CORRECT_ALTERNATIVE_SELECTOR).should('have.css', 'border-style', 'solid');165    cy.get(CORRECT_ALTERNATIVE_SELECTOR).should('have.css', 'border-width', '3px');166  });167  it('Verifica a cor das alternativas incorretas quando erra a questão', () => {168    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();169    cy.get(WRONG_ALTERNATIVES_SELECTOR).should('have.css', 'border-color', 'rgb(255, 0, 0)');170    cy.get(WRONG_ALTERNATIVES_SELECTOR).should('have.css', 'border-style', 'solid');171    cy.get(WRONG_ALTERNATIVES_SELECTOR).should('have.css', 'border-width', '3px');172  });173});174describe('8 - [TELA DE JOGO] Desenvolva um timer onde a pessoa que joga tem 30 segundos para responder', () => {175  beforeEach(() => {176    cy.visit('http://localhost:3000/');177    cy.clearLocalStorage();178    cy.get(INPUT_PLAYER_NAME_SELECTOR).type(name);179    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type(email);180    cy.get(BUTTON_PLAY_SELECTOR).click();181  });182  it('Aguarda 5 segundos e responde a alternativa correta', () => {183    cy.wait(5000);184    cy.get(CORRECT_ALTERNATIVE_SELECTOR).should('not.be.disabled').click();185  });186  it('Aguarda mais de 30 segundos para responder', () => {187    cy.wait(32000);188    cy.get(CORRECT_ALTERNATIVE_SELECTOR).should('be.disabled');189  });190});191describe('9 - [TELA DE JOGO] Crie o placar com as seguintes caracterÃsticas:', () => {192  beforeEach(() => {193    cy.visit('http://localhost:3000/');194    cy.clearLocalStorage();195    cy.get(INPUT_PLAYER_NAME_SELECTOR).type(name);196    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type(email);197    cy.get(BUTTON_PLAY_SELECTOR).click();198    cy.get(HEADER_SCORE_SELECTOR);199  });200  afterEach(() => {201    const storage = Object.keys(localStorage).length;202    expect(storage).to.be.lessThan(4);203  });204  it('Soma pontos ao acertar uma questão', () => {205    const then = JSON.parse(localStorage.getItem(LOCAL_STORAGE_STATE_KEY));206    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click().then(() => {207      const now = JSON.parse(localStorage.getItem(LOCAL_STORAGE_STATE_KEY));208      expect(then.player.score).to.be.lt(now.player.score);209    });210  });211  it('Não soma pontos ao errar uma questão', () => {212    const then = JSON.parse(localStorage.getItem(LOCAL_STORAGE_STATE_KEY));213    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click().then(() => {214      const now = JSON.parse(localStorage.getItem(LOCAL_STORAGE_STATE_KEY));215      expect(then.player.score).to.be.eq(now.player.score);216    });217  });218});219describe('10 - [TELA DE JOGO] Crie um botão de \"Próxima\" que apareça após a resposta ser dada', () => {220  beforeEach(() => {221    cy.visit('http://localhost:3000/');222    cy.clearLocalStorage();223    cy.get(INPUT_PLAYER_NAME_SELECTOR).type(name);224    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type(email);225    cy.get(BUTTON_PLAY_SELECTOR).click();226    cy.get(QUESTION_TEXT_SELECTOR);227  });228  it('O botão de próxima pergunta não deve ser visÃvel o inÃcio do jogo', () => {229    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).should('not.be.visible');230  });231  it('Botão de próxima pergunta é visÃvel quando a pergunta é respondida corretamente', () => {232    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();233    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).should('be.visible');234  });235  it('Botão de próxima pergunta é visÃvel quando a pergunta é respondida incorretamente', () => {236    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();237    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).should('be.visible');238  });239});240describe('11 - [TELA DE JOGO] Desenvolva o jogo de forma que a pessoa que joga deve responder 5 perguntas no total', () => {241  beforeEach(() => {242    cy.visit('http://localhost:3000/');243    cy.clearLocalStorage();244    cy.get(INPUT_PLAYER_NAME_SELECTOR).type(name);245    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type(email);246    cy.get(BUTTON_PLAY_SELECTOR).click();247    cy.get(HEADER_SCORE_SELECTOR);248  });249  afterEach(() => {250    const storage = Object.keys(localStorage).length;251    expect(storage).to.be.lessThan(4);252  });253  it('Acerta todas as perguntas', () => {254    const before = JSON.parse(localStorage.getItem(LOCAL_STORAGE_STATE_KEY));255    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();256    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();257    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();258    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();259    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();260    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();261    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();262    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();263    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click().then(() => {264      const after = JSON.parse(localStorage.getItem(LOCAL_STORAGE_STATE_KEY));265      expect(before.player.score).to.be.lt(after.player.score);266    });267  });268  it('Erra todas as perguntas', () => {269    const before = JSON.parse(localStorage.getItem(LOCAL_STORAGE_STATE_KEY));270    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();271    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();272    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();273    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();274    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();275    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();276    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();277    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();278    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click().then(() => {279      const after = JSON.parse(localStorage.getItem(LOCAL_STORAGE_STATE_KEY));280      expect(before.player.score).to.be.eq(after.player.score);281    });282  });283  it('Redireciona para a tela de _feedback_ após a quinta pergunta', () => {284    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();285    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();286    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();287    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();288    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();289    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();290    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();291    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();292    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();293    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();294    cy.get(FEEDBACK_TEXT_SELECTOR).should('exist');295  });296});297// feedback298describe('12 - [TELA DE FEEDBACK] Desenvolva o header de _feedback_ que deve conter as informações da pessoa jogadora', () => {299  beforeEach(() => {300    cy.visit('http://localhost:3000/');301    cy.clearLocalStorage();302    cy.get(INPUT_PLAYER_NAME_SELECTOR).type(name);303    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type(email);304    cy.get(BUTTON_PLAY_SELECTOR).click();305    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();306    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();307    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();308    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();309    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();310    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();311    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();312    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();313    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();314    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();315  });316  afterEach(() => {317    const storage = Object.keys(localStorage).length;318    expect(storage).to.be.lessThan(4);319  });320  it('A imagem do Gravatar está presente no header', () => {321    cy.get(HEADER_IMAGE_SELECTOR).should('exist');322  });323  it('O nome da pessoa está presente no header', () => {324    cy.get(HEADER_NAME_SELECTOR).contains(name);325  });326  it('O placar com o valor atual está presente no header', () => {327    cy.get(HEADER_SCORE_SELECTOR).should(($el) => {328      const state = JSON.parse(localStorage.getItem(LOCAL_STORAGE_STATE_KEY));329      expect(parseInt($el.text())).to.be.eq(state.player.score);330    });331  });332});333describe('13 - [TELA DE FEEDBACK] Crie a mensagem de _feedback_ para ser exibida a pessoa usuária', () => {334  beforeEach(() => {335    cy.visit('http://localhost:3000/');336    cy.clearLocalStorage();337    cy.get(INPUT_PLAYER_NAME_SELECTOR).type(name);338    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type(email);339    cy.get(BUTTON_PLAY_SELECTOR).click();340  });341  it('Acertou menos de 3 perguntas', () => {342    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();343    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();344    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();345    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();346    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();347    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();348    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();349    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();350    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();351    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();352    cy.get(FEEDBACK_TEXT_SELECTOR).contains('Podia ser melhor...');353  });354  it('Acertou 3 perguntas', () => {355    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();356    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();357    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();358    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();359    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();360    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();361    cy.get(CORRECT_ALTERNATIVE_SELECTOR).first().click();362    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();363    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();364    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();365    cy.get(FEEDBACK_TEXT_SELECTOR).contains('Mandou bem!');366  });367  it('Acertou mais de 3 perguntas', () => {368    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();369    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();370    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();371    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();372    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();373    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();374    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();375    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();376    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();377    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();378    cy.get(FEEDBACK_TEXT_SELECTOR).contains('Mandou bem!');379  });380});381describe('14 - [TELA DE FEEDBACK] Exiba as informações relacionadas aos resultados obtidos para a pessoa usuária', () => {382  beforeEach(() => {383    cy.visit('http://localhost:3000/');384    cy.clearLocalStorage();385    cy.get(INPUT_PLAYER_NAME_SELECTOR).type(name);386    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type(email);387    cy.get(BUTTON_PLAY_SELECTOR).click();388  });389  afterEach(() => {390    const storage = Object.keys(localStorage).length;391    expect(storage).to.be.lessThan(4);392  });393  it('Não acertou nenhuma pergunta', () => {394    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();395    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();396    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();397    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();398    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();399    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();400    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();401    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();402    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();403    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();404    cy.get(FEEDBACK_TOTAL_SCORE_SELECTOR).should(($el) => {405      const state = JSON.parse(localStorage.getItem(LOCAL_STORAGE_STATE_KEY));406      expect(parseInt($el.text())).to.be.eq(state.player.score);407    });408    cy.get(FEEDBACK_TOTAL_QUESTION_SELECTOR).should(($el) => {409      const state = JSON.parse(localStorage.getItem(LOCAL_STORAGE_STATE_KEY));410      expect(parseInt($el.text())).to.be.eq(state.player.assertions);411    });412  });413  it('Acertou 2 perguntas', () => {414    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();415    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();416    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();417    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();418    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();419    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();420    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();421    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();422    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();423    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();424    cy.get(FEEDBACK_TOTAL_SCORE_SELECTOR).should(($el) => {425      const state = JSON.parse(localStorage.getItem(LOCAL_STORAGE_STATE_KEY));426      expect(parseInt($el.text())).to.be.eq(state.player.score);427    });428    cy.get(FEEDBACK_TOTAL_QUESTION_SELECTOR).should(($el) => {429      const state = JSON.parse(localStorage.getItem(LOCAL_STORAGE_STATE_KEY));430      expect(parseInt($el.text())).to.be.eq(state.player.assertions);431    });432  });433  it('Acertou 4 perguntas', () => {434    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();435    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();436    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();437    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();438    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();439    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();440    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();441    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();442    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();443    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();444    cy.get(FEEDBACK_TOTAL_SCORE_SELECTOR).should(($el) => {445      const state = JSON.parse(localStorage.getItem(LOCAL_STORAGE_STATE_KEY));446      expect(parseInt($el.text())).to.be.eq(state.player.score);447    });448    cy.get(FEEDBACK_TOTAL_QUESTION_SELECTOR).should(($el) => {449      const state = JSON.parse(localStorage.getItem(LOCAL_STORAGE_STATE_KEY));450      expect(parseInt($el.text())).to.be.eq(state.player.assertions);451    });452  });453});454describe('15 - [TELA DE FEEDBACK] Crie a opção para a pessoa jogadora poder jogar novamente', () => {455  beforeEach(() => {456    cy.visit('http://localhost:3000/');457    cy.clearLocalStorage();458    cy.get(INPUT_PLAYER_NAME_SELECTOR).type(name);459    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type(email);460    cy.get(BUTTON_PLAY_SELECTOR).click();461    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();462    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();463    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();464    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();465    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();466    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();467    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();468    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();469    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();470    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();471  });472  it('A pessoa deve ser redirecionada para tela inicial', () => {473    cy.get(BUTTON_PLAY_AGAIN_SELECTOR).click();474    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).should('exist');475  });476});477describe('16 - [TELA DE FEEDBACK] Crie a opção para a pessoa jogadora poder visualizar a tela de _ranking_', () => {478  beforeEach(() => {479    cy.visit('http://localhost:3000/');480    cy.clearLocalStorage();481    cy.get(INPUT_PLAYER_NAME_SELECTOR).type(name);482    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type(email);483    cy.get(BUTTON_PLAY_SELECTOR).click();484    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();485    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();486    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();487    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();488    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();489    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();490    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();491    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();492    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();493    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();494  });495  it('A pessoa deve ser redirecionada para tela de ranking', () => {496    cy.get(BUTTON_RANKING_SELECTOR).click();497    cy.get(RANKING_TITLE_SELECTOR).should('exist');498  });499});500// ranking501describe('17 - [TELA DE RANKING] Crie a tela de _ranking_', () => {502  beforeEach(() => {503    cy.visit('http://localhost:3000/');504    cy.clearLocalStorage();505    cy.get(INPUT_PLAYER_NAME_SELECTOR).type(name1);506    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type(email1);507    cy.get(BUTTON_PLAY_SELECTOR).click();508    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();509    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();510    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();511    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();512    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();513    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();514    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();515    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();516    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();517    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();518    cy.get(BUTTON_RANKING_SELECTOR).click();519  });520  afterEach(() => {521    const storage = Object.keys(localStorage).length;522    expect(storage).to.be.lessThan(4);523  });524  it('Deve existir uma pessoa no _ranking_', () => {525    cy.get(RANKING_PLAYERS_NAME_SELECTOR).should(($el) => {526      expect($el).to.have.lengthOf(1);527    });528  });529  it('Devem existir duas pessoas no _ranking_', () => {530    cy.get(BUTTON_GO_HOME_SELECTOR).click();531    cy.get(INPUT_PLAYER_NAME_SELECTOR).clear();532    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).clear();533    cy.get(INPUT_PLAYER_NAME_SELECTOR).type(name2);534    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type(email2);535    cy.get(BUTTON_PLAY_SELECTOR).click();536    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();537    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();538    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();539    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();540    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();541    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();542    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();543    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();544    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();545    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();546    cy.get(BUTTON_RANKING_SELECTOR).click();547    cy.get(RANKING_PLAYERS_NAME_SELECTOR).should(($el) => {548      expect($el).to.have.lengthOf(2);549    });550  });551  it('O _ranking_ deve ser ordenado pela pontuação', () => {552    cy.get(BUTTON_GO_HOME_SELECTOR).click();553    cy.get(INPUT_PLAYER_NAME_SELECTOR).clear();554    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).clear();555    cy.get(INPUT_PLAYER_NAME_SELECTOR).type(name2);556    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type(email2);557    cy.get(BUTTON_PLAY_SELECTOR).click();558    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();559    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();560    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();561    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();562    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();563    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();564    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();565    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();566    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();567    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();568    cy.get(BUTTON_RANKING_SELECTOR).click();569    cy.get(BUTTON_GO_HOME_SELECTOR).click();570    cy.get(INPUT_PLAYER_NAME_SELECTOR).clear();571    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).clear();572    cy.get(INPUT_PLAYER_NAME_SELECTOR).type(name3);573    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type(email3);574    cy.get(BUTTON_PLAY_SELECTOR).click();575    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();576    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();577    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();578    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();579    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();580    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();581    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();582    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();583    cy.get(WRONG_ALTERNATIVES_SELECTOR).first().click();584    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();585    cy.get(BUTTON_RANKING_SELECTOR).click();586    const ranking = [name1, name3, name2];587    cy.get(RANKING_PLAYERS_NAME_SELECTOR).should(($el) => {588      expect($el).to.have.lengthOf(3);589    });590    cy.get(RANKING_PLAYERS_NAME_SELECTOR).each(($el, $index) => {591      expect($el.text()).to.be.eq(ranking[$index]);592    });593  });594});595describe('18 - [TELA DE RANKING] Crie um botão para ir ao inÃcio', () => {596  it('Volta para a tela inicial', () => {597    cy.visit('http://localhost:3000/');598    cy.clearLocalStorage();599    cy.get(INPUT_PLAYER_NAME_SELECTOR).type(name1);600    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).type(email1);601    cy.get(BUTTON_PLAY_SELECTOR).click();602    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();603    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();604    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();605    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();606    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();607    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();608    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();609    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();610    cy.get(CORRECT_ALTERNATIVE_SELECTOR).click();611    cy.get(BUTTON_NEXT_QUESTION_SELECTOR).click();612    cy.get(BUTTON_RANKING_SELECTOR).click();613    cy.get(BUTTON_GO_HOME_SELECTOR).click();614    cy.get(INPUT_PLAYER_EMAIL_SELECTOR).should('exist');615  616    const storage = Object.keys(localStorage).length;617    expect(storage).to.be.lessThan(4);618  });...reselect_v4.x.x.js
Source:reselect_v4.x.x.js  
1// flow-typed signature: 8a7a8f67ac996c50b17930f0adc8cbe42// flow-typed version: c6154227d1/reselect_v4.x.x/flow_>=v0.104.x3type ExtractReturnType = <Return>((...rest: any[]) => Return) => Return;4declare module "reselect" {5  declare type InputSelector<-TState, TProps, TResult> =6    (state: TState, props: TProps, ...rest: any[]) => TResult7  declare type OutputSelector<-TState, TProps, TResult> =8    & InputSelector<TState, TProps, TResult>9    & {10    recomputations(): number,11    resetRecomputations(): number,12    resultFunc(state: TState, props: TProps, ...rest: Array<any>): TResult,13    ...14  };15  declare type SelectorCreator = {16    <TState, TProps, TResult, T1>(17      selector1: InputSelector<TState, TProps, T1>,18      resultFunc: (arg1: T1) => TResult19    ): OutputSelector<TState, TProps, TResult>,20    <TState, TProps, TResult, T1>(21      selectors: [InputSelector<TState, TProps, T1>],22      resultFunc: (arg1: T1) => TResult23    ): OutputSelector<TState, TProps, TResult>,24    <TState, TProps, TResult, T1, T2>(25      selector1: InputSelector<TState, TProps, T1>,26      selector2: InputSelector<TState, TProps, T2>,27      resultFunc: (arg1: T1, arg2: T2) => TResult28    ): OutputSelector<TState, TProps, TResult>,29    <TState, TProps, TResult, T1, T2>(30      selectors: [InputSelector<TState, TProps, T1>, InputSelector<TState, TProps, T2>],31      resultFunc: (arg1: T1, arg2: T2) => TResult32    ): OutputSelector<TState, TProps, TResult>,33    <TState, TProps, TResult, T1, T2, T3>(34      selector1: InputSelector<TState, TProps, T1>,35      selector2: InputSelector<TState, TProps, T2>,36      selector3: InputSelector<TState, TProps, T3>,37      resultFunc: (arg1: T1, arg2: T2, arg3: T3) => TResult38    ): OutputSelector<TState, TProps, TResult>,39    <TState, TProps, TResult, T1, T2, T3>(40      selectors: [41        InputSelector<TState, TProps, T1>,42        InputSelector<TState, TProps, T2>,43        InputSelector<TState, TProps, T3>44      ],45      resultFunc: (arg1: T1, arg2: T2, arg3: T3) => TResult46    ): OutputSelector<TState, TProps, TResult>,47    <TState, TProps, TResult, T1, T2, T3, T4>(48      selector1: InputSelector<TState, TProps, T1>,49      selector2: InputSelector<TState, TProps, T2>,50      selector3: InputSelector<TState, TProps, T3>,51      selector4: InputSelector<TState, TProps, T4>,52      resultFunc: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => TResult53    ): OutputSelector<TState, TProps, TResult>,54    <TState, TProps, TResult, T1, T2, T3, T4>(55      selectors: [56        InputSelector<TState, TProps, T1>,57        InputSelector<TState, TProps, T2>,58        InputSelector<TState, TProps, T3>,59        InputSelector<TState, TProps, T4>60      ],61      resultFunc: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => TResult62    ): OutputSelector<TState, TProps, TResult>,63    <TState, TProps, TResult, T1, T2, T3, T4, T5>(64      selector1: InputSelector<TState, TProps, T1>,65      selector2: InputSelector<TState, TProps, T2>,66      selector3: InputSelector<TState, TProps, T3>,67      selector4: InputSelector<TState, TProps, T4>,68      selector5: InputSelector<TState, TProps, T5>,69      resultFunc: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => TResult70    ): OutputSelector<TState, TProps, TResult>,71    <TState, TProps, TResult, T1, T2, T3, T4, T5>(72      selectors: [73        InputSelector<TState, TProps, T1>,74        InputSelector<TState, TProps, T2>,75        InputSelector<TState, TProps, T3>,76        InputSelector<TState, TProps, T4>,77        InputSelector<TState, TProps, T5>78      ],79      resultFunc: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => TResult80    ): OutputSelector<TState, TProps, TResult>,81    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6>(82      selector1: InputSelector<TState, TProps, T1>,83      selector2: InputSelector<TState, TProps, T2>,84      selector3: InputSelector<TState, TProps, T3>,85      selector4: InputSelector<TState, TProps, T4>,86      selector5: InputSelector<TState, TProps, T5>,87      selector6: InputSelector<TState, TProps, T6>,88      resultFunc: (89        arg1: T1,90        arg2: T2,91        arg3: T3,92        arg4: T4,93        arg5: T5,94        arg6: T695      ) => TResult96    ): OutputSelector<TState, TProps, TResult>,97    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6>(98      selectors: [99        InputSelector<TState, TProps, T1>,100        InputSelector<TState, TProps, T2>,101        InputSelector<TState, TProps, T3>,102        InputSelector<TState, TProps, T4>,103        InputSelector<TState, TProps, T5>,104        InputSelector<TState, TProps, T6>105      ],106      resultFunc: (107        arg1: T1,108        arg2: T2,109        arg3: T3,110        arg4: T4,111        arg5: T5,112        arg6: T6113      ) => TResult114    ): OutputSelector<TState, TProps, TResult>,115    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7>(116      selector1: InputSelector<TState, TProps, T1>,117      selector2: InputSelector<TState, TProps, T2>,118      selector3: InputSelector<TState, TProps, T3>,119      selector4: InputSelector<TState, TProps, T4>,120      selector5: InputSelector<TState, TProps, T5>,121      selector6: InputSelector<TState, TProps, T6>,122      selector7: InputSelector<TState, TProps, T7>,123      resultFunc: (124        arg1: T1,125        arg2: T2,126        arg3: T3,127        arg4: T4,128        arg5: T5,129        arg6: T6,130        arg7: T7131      ) => TResult132    ): OutputSelector<TState, TProps, TResult>,133    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7>(134      selectors: [135        InputSelector<TState, TProps, T1>,136        InputSelector<TState, TProps, T2>,137        InputSelector<TState, TProps, T3>,138        InputSelector<TState, TProps, T4>,139        InputSelector<TState, TProps, T5>,140        InputSelector<TState, TProps, T6>,141        InputSelector<TState, TProps, T7>142      ],143      resultFunc: (144        arg1: T1,145        arg2: T2,146        arg3: T3,147        arg4: T4,148        arg5: T5,149        arg6: T6,150        arg7: T7151      ) => TResult152    ): OutputSelector<TState, TProps, TResult>,153    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7, T8>(154      selector1: InputSelector<TState, TProps, T1>,155      selector2: InputSelector<TState, TProps, T2>,156      selector3: InputSelector<TState, TProps, T3>,157      selector4: InputSelector<TState, TProps, T4>,158      selector5: InputSelector<TState, TProps, T5>,159      selector6: InputSelector<TState, TProps, T6>,160      selector7: InputSelector<TState, TProps, T7>,161      selector8: InputSelector<TState, TProps, T8>,162      resultFunc: (163        arg1: T1,164        arg2: T2,165        arg3: T3,166        arg4: T4,167        arg5: T5,168        arg6: T6,169        arg7: T7,170        arg8: T8171      ) => TResult172    ): OutputSelector<TState, TProps, TResult>,173    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7, T8>(174      selectors: [175        InputSelector<TState, TProps, T1>,176        InputSelector<TState, TProps, T2>,177        InputSelector<TState, TProps, T3>,178        InputSelector<TState, TProps, T4>,179        InputSelector<TState, TProps, T5>,180        InputSelector<TState, TProps, T6>,181        InputSelector<TState, TProps, T7>,182        InputSelector<TState, TProps, T8>183      ],184      resultFunc: (185        arg1: T1,186        arg2: T2,187        arg3: T3,188        arg4: T4,189        arg5: T5,190        arg6: T6,191        arg7: T7,192        arg8: T8193      ) => TResult194    ): OutputSelector<TState, TProps, TResult>,195    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7, T8, T9>(196      selector1: InputSelector<TState, TProps, T1>,197      selector2: InputSelector<TState, TProps, T2>,198      selector3: InputSelector<TState, TProps, T3>,199      selector4: InputSelector<TState, TProps, T4>,200      selector5: InputSelector<TState, TProps, T5>,201      selector6: InputSelector<TState, TProps, T6>,202      selector7: InputSelector<TState, TProps, T7>,203      selector8: InputSelector<TState, TProps, T8>,204      selector9: InputSelector<TState, TProps, T9>,205      resultFunc: (206        arg1: T1,207        arg2: T2,208        arg3: T3,209        arg4: T4,210        arg5: T5,211        arg6: T6,212        arg7: T7,213        arg8: T8,214        arg9: T9215      ) => TResult216    ): OutputSelector<TState, TProps, TResult>,217    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7, T8, T9>(218      selectors: [219        InputSelector<TState, TProps, T1>,220        InputSelector<TState, TProps, T2>,221        InputSelector<TState, TProps, T3>,222        InputSelector<TState, TProps, T4>,223        InputSelector<TState, TProps, T5>,224        InputSelector<TState, TProps, T6>,225        InputSelector<TState, TProps, T7>,226        InputSelector<TState, TProps, T8>,227        InputSelector<TState, TProps, T9>228      ],229      resultFunc: (230        arg1: T1,231        arg2: T2,232        arg3: T3,233        arg4: T4,234        arg5: T5,235        arg6: T6,236        arg7: T7,237        arg8: T8,238        arg9: T9239      ) => TResult240    ): OutputSelector<TState, TProps, TResult>,241    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(242      selector1: InputSelector<TState, TProps, T1>,243      selector2: InputSelector<TState, TProps, T2>,244      selector3: InputSelector<TState, TProps, T3>,245      selector4: InputSelector<TState, TProps, T4>,246      selector5: InputSelector<TState, TProps, T5>,247      selector6: InputSelector<TState, TProps, T6>,248      selector7: InputSelector<TState, TProps, T7>,249      selector8: InputSelector<TState, TProps, T8>,250      selector9: InputSelector<TState, TProps, T9>,251      selector10: InputSelector<TState, TProps, T10>,252      resultFunc: (253        arg1: T1,254        arg2: T2,255        arg3: T3,256        arg4: T4,257        arg5: T5,258        arg6: T6,259        arg7: T7,260        arg8: T8,261        arg9: T9,262        arg10: T10263      ) => TResult264    ): OutputSelector<TState, TProps, TResult>,265    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(266      selectors: [267        InputSelector<TState, TProps, T1>,268        InputSelector<TState, TProps, T2>,269        InputSelector<TState, TProps, T3>,270        InputSelector<TState, TProps, T4>,271        InputSelector<TState, TProps, T5>,272        InputSelector<TState, TProps, T6>,273        InputSelector<TState, TProps, T7>,274        InputSelector<TState, TProps, T8>,275        InputSelector<TState, TProps, T9>,276        InputSelector<TState, TProps, T10>277      ],278      resultFunc: (279        arg1: T1,280        arg2: T2,281        arg3: T3,282        arg4: T4,283        arg5: T5,284        arg6: T6,285        arg7: T7,286        arg8: T8,287        arg9: T9,288        arg10: T10289      ) => TResult290    ): OutputSelector<TState, TProps, TResult>,291    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(292      selector1: InputSelector<TState, TProps, T1>,293      selector2: InputSelector<TState, TProps, T2>,294      selector3: InputSelector<TState, TProps, T3>,295      selector4: InputSelector<TState, TProps, T4>,296      selector5: InputSelector<TState, TProps, T5>,297      selector6: InputSelector<TState, TProps, T6>,298      selector7: InputSelector<TState, TProps, T7>,299      selector8: InputSelector<TState, TProps, T8>,300      selector9: InputSelector<TState, TProps, T9>,301      selector10: InputSelector<TState, TProps, T10>,302      selector11: InputSelector<TState, TProps, T11>,303      resultFunc: (304        arg1: T1,305        arg2: T2,306        arg3: T3,307        arg4: T4,308        arg5: T5,309        arg6: T6,310        arg7: T7,311        arg8: T8,312        arg9: T9,313        arg10: T10,314        arg11: T11315      ) => TResult316    ): OutputSelector<TState, TProps, TResult>,317    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(318      selectors: [319        InputSelector<TState, TProps, T1>,320        InputSelector<TState, TProps, T2>,321        InputSelector<TState, TProps, T3>,322        InputSelector<TState, TProps, T4>,323        InputSelector<TState, TProps, T5>,324        InputSelector<TState, TProps, T6>,325        InputSelector<TState, TProps, T7>,326        InputSelector<TState, TProps, T8>,327        InputSelector<TState, TProps, T9>,328        InputSelector<TState, TProps, T10>,329        InputSelector<TState, TProps, T11>330      ],331      resultFunc: (332        arg1: T1,333        arg2: T2,334        arg3: T3,335        arg4: T4,336        arg5: T5,337        arg6: T6,338        arg7: T7,339        arg8: T8,340        arg9: T9,341        arg10: T10,342        arg11: T11343      ) => TResult344    ): OutputSelector<TState, TProps, TResult>,345    <346      TState,347      TProps,348      TResult,349      T1,350      T2,351      T3,352      T4,353      T5,354      T6,355      T7,356      T8,357      T9,358      T10,359      T11,360      T12361    >(362      selector1: InputSelector<TState, TProps, T1>,363      selector2: InputSelector<TState, TProps, T2>,364      selector3: InputSelector<TState, TProps, T3>,365      selector4: InputSelector<TState, TProps, T4>,366      selector5: InputSelector<TState, TProps, T5>,367      selector6: InputSelector<TState, TProps, T6>,368      selector7: InputSelector<TState, TProps, T7>,369      selector8: InputSelector<TState, TProps, T8>,370      selector9: InputSelector<TState, TProps, T9>,371      selector10: InputSelector<TState, TProps, T10>,372      selector11: InputSelector<TState, TProps, T11>,373      selector12: InputSelector<TState, TProps, T12>,374      resultFunc: (375        arg1: T1,376        arg2: T2,377        arg3: T3,378        arg4: T4,379        arg5: T5,380        arg6: T6,381        arg7: T7,382        arg8: T8,383        arg9: T9,384        arg10: T10,385        arg11: T11,386        arg12: T12387      ) => TResult388    ): OutputSelector<TState, TProps, TResult>,389    <390      TState,391      TProps,392      TResult,393      T1,394      T2,395      T3,396      T4,397      T5,398      T6,399      T7,400      T8,401      T9,402      T10,403      T11,404      T12405    >(406      selectors: [407        InputSelector<TState, TProps, T1>,408        InputSelector<TState, TProps, T2>,409        InputSelector<TState, TProps, T3>,410        InputSelector<TState, TProps, T4>,411        InputSelector<TState, TProps, T5>,412        InputSelector<TState, TProps, T6>,413        InputSelector<TState, TProps, T7>,414        InputSelector<TState, TProps, T8>,415        InputSelector<TState, TProps, T9>,416        InputSelector<TState, TProps, T10>,417        InputSelector<TState, TProps, T11>,418        InputSelector<TState, TProps, T12>419      ],420      resultFunc: (421        arg1: T1,422        arg2: T2,423        arg3: T3,424        arg4: T4,425        arg5: T5,426        arg6: T6,427        arg7: T7,428        arg8: T8,429        arg9: T9,430        arg10: T10,431        arg11: T11,432        arg12: T12433      ) => TResult434    ): OutputSelector<TState, TProps, TResult>,435    <436      TState,437      TProps,438      TResult,439      T1,440      T2,441      T3,442      T4,443      T5,444      T6,445      T7,446      T8,447      T9,448      T10,449      T11,450      T12,451      T13452    >(453      selector1: InputSelector<TState, TProps, T1>,454      selector2: InputSelector<TState, TProps, T2>,455      selector3: InputSelector<TState, TProps, T3>,456      selector4: InputSelector<TState, TProps, T4>,457      selector5: InputSelector<TState, TProps, T5>,458      selector6: InputSelector<TState, TProps, T6>,459      selector7: InputSelector<TState, TProps, T7>,460      selector8: InputSelector<TState, TProps, T8>,461      selector9: InputSelector<TState, TProps, T9>,462      selector10: InputSelector<TState, TProps, T10>,463      selector11: InputSelector<TState, TProps, T11>,464      selector12: InputSelector<TState, TProps, T12>,465      selector13: InputSelector<TState, TProps, T13>,466      resultFunc: (467        arg1: T1,468        arg2: T2,469        arg3: T3,470        arg4: T4,471        arg5: T5,472        arg6: T6,473        arg7: T7,474        arg8: T8,475        arg9: T9,476        arg10: T10,477        arg11: T11,478        arg12: T12,479        arg13: T13480      ) => TResult481    ): OutputSelector<TState, TProps, TResult>,482    <483      TState,484      TProps,485      TResult,486      T1,487      T2,488      T3,489      T4,490      T5,491      T6,492      T7,493      T8,494      T9,495      T10,496      T11,497      T12,498      T13499    >(500      selectors: [501        InputSelector<TState, TProps, T1>,502        InputSelector<TState, TProps, T2>,503        InputSelector<TState, TProps, T3>,504        InputSelector<TState, TProps, T4>,505        InputSelector<TState, TProps, T5>,506        InputSelector<TState, TProps, T6>,507        InputSelector<TState, TProps, T7>,508        InputSelector<TState, TProps, T8>,509        InputSelector<TState, TProps, T9>,510        InputSelector<TState, TProps, T10>,511        InputSelector<TState, TProps, T11>,512        InputSelector<TState, TProps, T12>,513        InputSelector<TState, TProps, T13>514      ],515      resultFunc: (516        arg1: T1,517        arg2: T2,518        arg3: T3,519        arg4: T4,520        arg5: T5,521        arg6: T6,522        arg7: T7,523        arg8: T8,524        arg9: T9,525        arg10: T10,526        arg11: T11,527        arg12: T12,528        arg13: T13529      ) => TResult530    ): OutputSelector<TState, TProps, TResult>,531    <532      TState,533      TProps,534      TResult,535      T1,536      T2,537      T3,538      T4,539      T5,540      T6,541      T7,542      T8,543      T9,544      T10,545      T11,546      T12,547      T13,548      T14549    >(550      selector1: InputSelector<TState, TProps, T1>,551      selector2: InputSelector<TState, TProps, T2>,552      selector3: InputSelector<TState, TProps, T3>,553      selector4: InputSelector<TState, TProps, T4>,554      selector5: InputSelector<TState, TProps, T5>,555      selector6: InputSelector<TState, TProps, T6>,556      selector7: InputSelector<TState, TProps, T7>,557      selector8: InputSelector<TState, TProps, T8>,558      selector9: InputSelector<TState, TProps, T9>,559      selector10: InputSelector<TState, TProps, T10>,560      selector11: InputSelector<TState, TProps, T11>,561      selector12: InputSelector<TState, TProps, T12>,562      selector13: InputSelector<TState, TProps, T13>,563      selector14: InputSelector<TState, TProps, T14>,564      resultFunc: (565        arg1: T1,566        arg2: T2,567        arg3: T3,568        arg4: T4,569        arg5: T5,570        arg6: T6,571        arg7: T7,572        arg8: T8,573        arg9: T9,574        arg10: T10,575        arg11: T11,576        arg12: T12,577        arg13: T13,578        arg14: T14579      ) => TResult580    ): OutputSelector<TState, TProps, TResult>,581    <582      TState,583      TProps,584      TResult,585      T1,586      T2,587      T3,588      T4,589      T5,590      T6,591      T7,592      T8,593      T9,594      T10,595      T11,596      T12,597      T13,598      T14599    >(600      selectors: [601        InputSelector<TState, TProps, T1>,602        InputSelector<TState, TProps, T2>,603        InputSelector<TState, TProps, T3>,604        InputSelector<TState, TProps, T4>,605        InputSelector<TState, TProps, T5>,606        InputSelector<TState, TProps, T6>,607        InputSelector<TState, TProps, T7>,608        InputSelector<TState, TProps, T8>,609        InputSelector<TState, TProps, T9>,610        InputSelector<TState, TProps, T10>,611        InputSelector<TState, TProps, T11>,612        InputSelector<TState, TProps, T12>,613        InputSelector<TState, TProps, T13>,614        InputSelector<TState, TProps, T14>615      ],616      resultFunc: (617        arg1: T1,618        arg2: T2,619        arg3: T3,620        arg4: T4,621        arg5: T5,622        arg6: T6,623        arg7: T7,624        arg8: T8,625        arg9: T9,626        arg10: T10,627        arg11: T11,628        arg12: T12,629        arg13: T13,630        arg14: T14631      ) => TResult632    ): OutputSelector<TState, TProps, TResult>,633    <634      TState,635      TProps,636      TResult,637      T1,638      T2,639      T3,640      T4,641      T5,642      T6,643      T7,644      T8,645      T9,646      T10,647      T11,648      T12,649      T13,650      T14,651      T15652    >(653      selector1: InputSelector<TState, TProps, T1>,654      selector2: InputSelector<TState, TProps, T2>,655      selector3: InputSelector<TState, TProps, T3>,656      selector4: InputSelector<TState, TProps, T4>,657      selector5: InputSelector<TState, TProps, T5>,658      selector6: InputSelector<TState, TProps, T6>,659      selector7: InputSelector<TState, TProps, T7>,660      selector8: InputSelector<TState, TProps, T8>,661      selector9: InputSelector<TState, TProps, T9>,662      selector10: InputSelector<TState, TProps, T10>,663      selector11: InputSelector<TState, TProps, T11>,664      selector12: InputSelector<TState, TProps, T12>,665      selector13: InputSelector<TState, TProps, T13>,666      selector14: InputSelector<TState, TProps, T14>,667      selector15: InputSelector<TState, TProps, T15>,668      resultFunc: (669        arg1: T1,670        arg2: T2,671        arg3: T3,672        arg4: T4,673        arg5: T5,674        arg6: T6,675        arg7: T7,676        arg8: T8,677        arg9: T9,678        arg10: T10,679        arg11: T11,680        arg12: T12,681        arg13: T13,682        arg14: T14,683        arg15: T15684      ) => TResult685    ): OutputSelector<TState, TProps, TResult>,686    <687      TState,688      TProps,689      TResult,690      T1,691      T2,692      T3,693      T4,694      T5,695      T6,696      T7,697      T8,698      T9,699      T10,700      T11,701      T12,702      T13,703      T14,704      T15705    >(706      selectors: [707        InputSelector<TState, TProps, T1>,708        InputSelector<TState, TProps, T2>,709        InputSelector<TState, TProps, T3>,710        InputSelector<TState, TProps, T4>,711        InputSelector<TState, TProps, T5>,712        InputSelector<TState, TProps, T6>,713        InputSelector<TState, TProps, T7>,714        InputSelector<TState, TProps, T8>,715        InputSelector<TState, TProps, T9>,716        InputSelector<TState, TProps, T10>,717        InputSelector<TState, TProps, T11>,718        InputSelector<TState, TProps, T12>,719        InputSelector<TState, TProps, T13>,720        InputSelector<TState, TProps, T14>,721        InputSelector<TState, TProps, T15>722      ],723      resultFunc: (724        arg1: T1,725        arg2: T2,726        arg3: T3,727        arg4: T4,728        arg5: T5,729        arg6: T6,730        arg7: T7,731        arg8: T8,732        arg9: T9,733        arg10: T10,734        arg11: T11,735        arg12: T12,736        arg13: T13,737        arg14: T14,738        arg15: T15739      ) => TResult740    ): OutputSelector<TState, TProps, TResult>,741    <742      TState,743      TProps,744      TResult,745      T1,746      T2,747      T3,748      T4,749      T5,750      T6,751      T7,752      T8,753      T9,754      T10,755      T11,756      T12,757      T13,758      T14,759      T15,760      T16761    >(762      selector1: InputSelector<TState, TProps, T1>,763      selector2: InputSelector<TState, TProps, T2>,764      selector3: InputSelector<TState, TProps, T3>,765      selector4: InputSelector<TState, TProps, T4>,766      selector5: InputSelector<TState, TProps, T5>,767      selector6: InputSelector<TState, TProps, T6>,768      selector7: InputSelector<TState, TProps, T7>,769      selector8: InputSelector<TState, TProps, T8>,770      selector9: InputSelector<TState, TProps, T9>,771      selector10: InputSelector<TState, TProps, T10>,772      selector11: InputSelector<TState, TProps, T11>,773      selector12: InputSelector<TState, TProps, T12>,774      selector13: InputSelector<TState, TProps, T13>,775      selector14: InputSelector<TState, TProps, T14>,776      selector15: InputSelector<TState, TProps, T15>,777      selector16: InputSelector<TState, TProps, T16>,778      resultFunc: (779        arg1: T1,780        arg2: T2,781        arg3: T3,782        arg4: T4,783        arg5: T5,784        arg6: T6,785        arg7: T7,786        arg8: T8,787        arg9: T9,788        arg10: T10,789        arg11: T11,790        arg12: T12,791        arg13: T13,792        arg14: T14,793        arg15: T15,794        arg16: T16795      ) => TResult796    ): OutputSelector<TState, TProps, TResult>,797    <798      TState,799      TProps,800      TResult,801      T1,802      T2,803      T3,804      T4,805      T5,806      T6,807      T7,808      T8,809      T9,810      T10,811      T11,812      T12,813      T13,814      T14,815      T15,816      T16817    >(818      selectors: [819        InputSelector<TState, TProps, T1>,820        InputSelector<TState, TProps, T2>,821        InputSelector<TState, TProps, T3>,822        InputSelector<TState, TProps, T4>,823        InputSelector<TState, TProps, T5>,824        InputSelector<TState, TProps, T6>,825        InputSelector<TState, TProps, T7>,826        InputSelector<TState, TProps, T8>,827        InputSelector<TState, TProps, T9>,828        InputSelector<TState, TProps, T10>,829        InputSelector<TState, TProps, T11>,830        InputSelector<TState, TProps, T12>,831        InputSelector<TState, TProps, T13>,832        InputSelector<TState, TProps, T14>,833        InputSelector<TState, TProps, T15>,834        InputSelector<TState, TProps, T16>835      ],836      resultFunc: (837        arg1: T1,838        arg2: T2,839        arg3: T3,840        arg4: T4,841        arg5: T5,842        arg6: T6,843        arg7: T7,844        arg8: T8,845        arg9: T9,846        arg10: T10,847        arg11: T11,848        arg12: T12,849        arg13: T13,850        arg14: T14,851        arg15: T15,852        arg16: T16853      ) => TResult854    ): OutputSelector<TState, TProps, TResult>,855    ...856  };857  declare type Reselect = {858    createSelector: SelectorCreator,859    defaultMemoize: <TFunc: Function>(860      func: TFunc,861      equalityCheck?: (a: any, b: any) => boolean862    ) => TFunc,863    createSelectorCreator: (864      memoize: Function,865      ...memoizeOptions: any[]866    ) => SelectorCreator,867    createStructuredSelector: <TState, TProps, InputSelectors: { [k: string | number]: InputSelector<TState, TProps, any>, ... }>(868      inputSelectors: InputSelectors,869      selectorCreator?: SelectorCreator870    ) => OutputSelector<TState, TProps, $ObjMap<InputSelectors, ExtractReturnType>>,871    ...872  };873  declare module.exports: Reselect;...reselect_v3.x.x.js
Source:reselect_v3.x.x.js  
1// flow-typed signature: e0663523c67e4c7624c0b4f221d8663a2// flow-typed version: ee257adf63/reselect_v3.x.x/flow_>=v0.47.x3declare module "reselect" {4  declare type InputSelector<-TState, TProps, TResult> =5    (state: TState, props: TProps, ...rest: any[]) => TResult6  declare type OutputSelector<-TState, TProps, TResult> =7    & InputSelector<TState, TProps, TResult>8    & {9      recomputations(): number,10      resetRecomputations(): void,11      resultFunc(state: TState, props: TProps, ...rest: Array<any>): TResult,12    };13  declare type SelectorCreator = {14    <TState, TProps, TResult, T1>(15      selector1: InputSelector<TState, TProps, T1>,16      resultFunc: (arg1: T1) => TResult17    ): OutputSelector<TState, TProps, TResult>,18    <TState, TProps, TResult, T1>(19      selectors: [InputSelector<TState, TProps, T1>],20      resultFunc: (arg1: T1) => TResult21    ): OutputSelector<TState, TProps, TResult>,22    <TState, TProps, TResult, T1, T2>(23      selector1: InputSelector<TState, TProps, T1>,24      selector2: InputSelector<TState, TProps, T2>,25      resultFunc: (arg1: T1, arg2: T2) => TResult26    ): OutputSelector<TState, TProps, TResult>,27    <TState, TProps, TResult, T1, T2>(28      selectors: [InputSelector<TState, TProps, T1>, InputSelector<TState, TProps, T2>],29      resultFunc: (arg1: T1, arg2: T2) => TResult30    ): OutputSelector<TState, TProps, TResult>,31    <TState, TProps, TResult, T1, T2, T3>(32      selector1: InputSelector<TState, TProps, T1>,33      selector2: InputSelector<TState, TProps, T2>,34      selector3: InputSelector<TState, TProps, T3>,35      resultFunc: (arg1: T1, arg2: T2, arg3: T3) => TResult36    ): OutputSelector<TState, TProps, TResult>,37    <TState, TProps, TResult, T1, T2, T3>(38      selectors: [39        InputSelector<TState, TProps, T1>,40        InputSelector<TState, TProps, T2>,41        InputSelector<TState, TProps, T3>42      ],43      resultFunc: (arg1: T1, arg2: T2, arg3: T3) => TResult44    ): OutputSelector<TState, TProps, TResult>,45    <TState, TProps, TResult, T1, T2, T3, T4>(46      selector1: InputSelector<TState, TProps, T1>,47      selector2: InputSelector<TState, TProps, T2>,48      selector3: InputSelector<TState, TProps, T3>,49      selector4: InputSelector<TState, TProps, T4>,50      resultFunc: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => TResult51    ): OutputSelector<TState, TProps, TResult>,52    <TState, TProps, TResult, T1, T2, T3, T4>(53      selectors: [54        InputSelector<TState, TProps, T1>,55        InputSelector<TState, TProps, T2>,56        InputSelector<TState, TProps, T3>,57        InputSelector<TState, TProps, T4>58      ],59      resultFunc: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => TResult60    ): OutputSelector<TState, TProps, TResult>,61    <TState, TProps, TResult, T1, T2, T3, T4, T5>(62      selector1: InputSelector<TState, TProps, T1>,63      selector2: InputSelector<TState, TProps, T2>,64      selector3: InputSelector<TState, TProps, T3>,65      selector4: InputSelector<TState, TProps, T4>,66      selector5: InputSelector<TState, TProps, T5>,67      resultFunc: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => TResult68    ): OutputSelector<TState, TProps, TResult>,69    <TState, TProps, TResult, T1, T2, T3, T4, T5>(70      selectors: [71        InputSelector<TState, TProps, T1>,72        InputSelector<TState, TProps, T2>,73        InputSelector<TState, TProps, T3>,74        InputSelector<TState, TProps, T4>,75        InputSelector<TState, TProps, T5>76      ],77      resultFunc: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => TResult78    ): OutputSelector<TState, TProps, TResult>,79    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6>(80      selector1: InputSelector<TState, TProps, T1>,81      selector2: InputSelector<TState, TProps, T2>,82      selector3: InputSelector<TState, TProps, T3>,83      selector4: InputSelector<TState, TProps, T4>,84      selector5: InputSelector<TState, TProps, T5>,85      selector6: InputSelector<TState, TProps, T6>,86      resultFunc: (87        arg1: T1,88        arg2: T2,89        arg3: T3,90        arg4: T4,91        arg5: T5,92        arg6: T693      ) => TResult94    ): OutputSelector<TState, TProps, TResult>,95    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6>(96      selectors: [97        InputSelector<TState, TProps, T1>,98        InputSelector<TState, TProps, T2>,99        InputSelector<TState, TProps, T3>,100        InputSelector<TState, TProps, T4>,101        InputSelector<TState, TProps, T5>,102        InputSelector<TState, TProps, T6>103      ],104      resultFunc: (105        arg1: T1,106        arg2: T2,107        arg3: T3,108        arg4: T4,109        arg5: T5,110        arg6: T6111      ) => TResult112    ): OutputSelector<TState, TProps, TResult>,113    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7>(114      selector1: InputSelector<TState, TProps, T1>,115      selector2: InputSelector<TState, TProps, T2>,116      selector3: InputSelector<TState, TProps, T3>,117      selector4: InputSelector<TState, TProps, T4>,118      selector5: InputSelector<TState, TProps, T5>,119      selector6: InputSelector<TState, TProps, T6>,120      selector7: InputSelector<TState, TProps, T7>,121      resultFunc: (122        arg1: T1,123        arg2: T2,124        arg3: T3,125        arg4: T4,126        arg5: T5,127        arg6: T6,128        arg7: T7129      ) => TResult130    ): OutputSelector<TState, TProps, TResult>,131    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7>(132      selectors: [133        InputSelector<TState, TProps, T1>,134        InputSelector<TState, TProps, T2>,135        InputSelector<TState, TProps, T3>,136        InputSelector<TState, TProps, T4>,137        InputSelector<TState, TProps, T5>,138        InputSelector<TState, TProps, T6>,139        InputSelector<TState, TProps, T7>140      ],141      resultFunc: (142        arg1: T1,143        arg2: T2,144        arg3: T3,145        arg4: T4,146        arg5: T5,147        arg6: T6,148        arg7: T7149      ) => TResult150    ): OutputSelector<TState, TProps, TResult>,151    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7, T8>(152      selector1: InputSelector<TState, TProps, T1>,153      selector2: InputSelector<TState, TProps, T2>,154      selector3: InputSelector<TState, TProps, T3>,155      selector4: InputSelector<TState, TProps, T4>,156      selector5: InputSelector<TState, TProps, T5>,157      selector6: InputSelector<TState, TProps, T6>,158      selector7: InputSelector<TState, TProps, T7>,159      selector8: InputSelector<TState, TProps, T8>,160      resultFunc: (161        arg1: T1,162        arg2: T2,163        arg3: T3,164        arg4: T4,165        arg5: T5,166        arg6: T6,167        arg7: T7,168        arg8: T8169      ) => TResult170    ): OutputSelector<TState, TProps, TResult>,171    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7, T8>(172      selectors: [173        InputSelector<TState, TProps, T1>,174        InputSelector<TState, TProps, T2>,175        InputSelector<TState, TProps, T3>,176        InputSelector<TState, TProps, T4>,177        InputSelector<TState, TProps, T5>,178        InputSelector<TState, TProps, T6>,179        InputSelector<TState, TProps, T7>,180        InputSelector<TState, TProps, T8>181      ],182      resultFunc: (183        arg1: T1,184        arg2: T2,185        arg3: T3,186        arg4: T4,187        arg5: T5,188        arg6: T6,189        arg7: T7,190        arg8: T8191      ) => TResult192    ): OutputSelector<TState, TProps, TResult>,193    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7, T8, T9>(194      selector1: InputSelector<TState, TProps, T1>,195      selector2: InputSelector<TState, TProps, T2>,196      selector3: InputSelector<TState, TProps, T3>,197      selector4: InputSelector<TState, TProps, T4>,198      selector5: InputSelector<TState, TProps, T5>,199      selector6: InputSelector<TState, TProps, T6>,200      selector7: InputSelector<TState, TProps, T7>,201      selector8: InputSelector<TState, TProps, T8>,202      selector9: InputSelector<TState, TProps, T9>,203      resultFunc: (204        arg1: T1,205        arg2: T2,206        arg3: T3,207        arg4: T4,208        arg5: T5,209        arg6: T6,210        arg7: T7,211        arg8: T8,212        arg9: T9213      ) => TResult214    ): OutputSelector<TState, TProps, TResult>,215    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7, T8, T9>(216      selectors: [217        InputSelector<TState, TProps, T1>,218        InputSelector<TState, TProps, T2>,219        InputSelector<TState, TProps, T3>,220        InputSelector<TState, TProps, T4>,221        InputSelector<TState, TProps, T5>,222        InputSelector<TState, TProps, T6>,223        InputSelector<TState, TProps, T7>,224        InputSelector<TState, TProps, T8>,225        InputSelector<TState, TProps, T9>226      ],227      resultFunc: (228        arg1: T1,229        arg2: T2,230        arg3: T3,231        arg4: T4,232        arg5: T5,233        arg6: T6,234        arg7: T7,235        arg8: T8,236        arg9: T9237      ) => TResult238    ): OutputSelector<TState, TProps, TResult>,239    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(240      selector1: InputSelector<TState, TProps, T1>,241      selector2: InputSelector<TState, TProps, T2>,242      selector3: InputSelector<TState, TProps, T3>,243      selector4: InputSelector<TState, TProps, T4>,244      selector5: InputSelector<TState, TProps, T5>,245      selector6: InputSelector<TState, TProps, T6>,246      selector7: InputSelector<TState, TProps, T7>,247      selector8: InputSelector<TState, TProps, T8>,248      selector9: InputSelector<TState, TProps, T9>,249      selector10: InputSelector<TState, TProps, T10>,250      resultFunc: (251        arg1: T1,252        arg2: T2,253        arg3: T3,254        arg4: T4,255        arg5: T5,256        arg6: T6,257        arg7: T7,258        arg8: T8,259        arg9: T9,260        arg10: T10261      ) => TResult262    ): OutputSelector<TState, TProps, TResult>,263    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(264      selectors: [265        InputSelector<TState, TProps, T1>,266        InputSelector<TState, TProps, T2>,267        InputSelector<TState, TProps, T3>,268        InputSelector<TState, TProps, T4>,269        InputSelector<TState, TProps, T5>,270        InputSelector<TState, TProps, T6>,271        InputSelector<TState, TProps, T7>,272        InputSelector<TState, TProps, T8>,273        InputSelector<TState, TProps, T9>,274        InputSelector<TState, TProps, T10>275      ],276      resultFunc: (277        arg1: T1,278        arg2: T2,279        arg3: T3,280        arg4: T4,281        arg5: T5,282        arg6: T6,283        arg7: T7,284        arg8: T8,285        arg9: T9,286        arg10: T10287      ) => TResult288    ): OutputSelector<TState, TProps, TResult>,289    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(290      selector1: InputSelector<TState, TProps, T1>,291      selector2: InputSelector<TState, TProps, T2>,292      selector3: InputSelector<TState, TProps, T3>,293      selector4: InputSelector<TState, TProps, T4>,294      selector5: InputSelector<TState, TProps, T5>,295      selector6: InputSelector<TState, TProps, T6>,296      selector7: InputSelector<TState, TProps, T7>,297      selector8: InputSelector<TState, TProps, T8>,298      selector9: InputSelector<TState, TProps, T9>,299      selector10: InputSelector<TState, TProps, T10>,300      selector11: InputSelector<TState, TProps, T11>,301      resultFunc: (302        arg1: T1,303        arg2: T2,304        arg3: T3,305        arg4: T4,306        arg5: T5,307        arg6: T6,308        arg7: T7,309        arg8: T8,310        arg9: T9,311        arg10: T10,312        arg11: T11313      ) => TResult314    ): OutputSelector<TState, TProps, TResult>,315    <TState, TProps, TResult, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(316      selectors: [317        InputSelector<TState, TProps, T1>,318        InputSelector<TState, TProps, T2>,319        InputSelector<TState, TProps, T3>,320        InputSelector<TState, TProps, T4>,321        InputSelector<TState, TProps, T5>,322        InputSelector<TState, TProps, T6>,323        InputSelector<TState, TProps, T7>,324        InputSelector<TState, TProps, T8>,325        InputSelector<TState, TProps, T9>,326        InputSelector<TState, TProps, T10>,327        InputSelector<TState, TProps, T11>328      ],329      resultFunc: (330        arg1: T1,331        arg2: T2,332        arg3: T3,333        arg4: T4,334        arg5: T5,335        arg6: T6,336        arg7: T7,337        arg8: T8,338        arg9: T9,339        arg10: T10,340        arg11: T11341      ) => TResult342    ): OutputSelector<TState, TProps, TResult>,343    <344      TState,345      TProps,346      TResult,347      T1,348      T2,349      T3,350      T4,351      T5,352      T6,353      T7,354      T8,355      T9,356      T10,357      T11,358      T12359    >(360      selector1: InputSelector<TState, TProps, T1>,361      selector2: InputSelector<TState, TProps, T2>,362      selector3: InputSelector<TState, TProps, T3>,363      selector4: InputSelector<TState, TProps, T4>,364      selector5: InputSelector<TState, TProps, T5>,365      selector6: InputSelector<TState, TProps, T6>,366      selector7: InputSelector<TState, TProps, T7>,367      selector8: InputSelector<TState, TProps, T8>,368      selector9: InputSelector<TState, TProps, T9>,369      selector10: InputSelector<TState, TProps, T10>,370      selector11: InputSelector<TState, TProps, T11>,371      selector12: InputSelector<TState, TProps, T12>,372      resultFunc: (373        arg1: T1,374        arg2: T2,375        arg3: T3,376        arg4: T4,377        arg5: T5,378        arg6: T6,379        arg7: T7,380        arg8: T8,381        arg9: T9,382        arg10: T10,383        arg11: T11,384        arg12: T12385      ) => TResult386    ): OutputSelector<TState, TProps, TResult>,387    <388      TState,389      TProps,390      TResult,391      T1,392      T2,393      T3,394      T4,395      T5,396      T6,397      T7,398      T8,399      T9,400      T10,401      T11,402      T12403    >(404      selectors: [405        InputSelector<TState, TProps, T1>,406        InputSelector<TState, TProps, T2>,407        InputSelector<TState, TProps, T3>,408        InputSelector<TState, TProps, T4>,409        InputSelector<TState, TProps, T5>,410        InputSelector<TState, TProps, T6>,411        InputSelector<TState, TProps, T7>,412        InputSelector<TState, TProps, T8>,413        InputSelector<TState, TProps, T9>,414        InputSelector<TState, TProps, T10>,415        InputSelector<TState, TProps, T11>,416        InputSelector<TState, TProps, T12>417      ],418      resultFunc: (419        arg1: T1,420        arg2: T2,421        arg3: T3,422        arg4: T4,423        arg5: T5,424        arg6: T6,425        arg7: T7,426        arg8: T8,427        arg9: T9,428        arg10: T10,429        arg11: T11,430        arg12: T12431      ) => TResult432    ): OutputSelector<TState, TProps, TResult>,433    <434      TState,435      TProps,436      TResult,437      T1,438      T2,439      T3,440      T4,441      T5,442      T6,443      T7,444      T8,445      T9,446      T10,447      T11,448      T12,449      T13450    >(451      selector1: InputSelector<TState, TProps, T1>,452      selector2: InputSelector<TState, TProps, T2>,453      selector3: InputSelector<TState, TProps, T3>,454      selector4: InputSelector<TState, TProps, T4>,455      selector5: InputSelector<TState, TProps, T5>,456      selector6: InputSelector<TState, TProps, T6>,457      selector7: InputSelector<TState, TProps, T7>,458      selector8: InputSelector<TState, TProps, T8>,459      selector9: InputSelector<TState, TProps, T9>,460      selector10: InputSelector<TState, TProps, T10>,461      selector11: InputSelector<TState, TProps, T11>,462      selector12: InputSelector<TState, TProps, T12>,463      selector13: InputSelector<TState, TProps, T13>,464      resultFunc: (465        arg1: T1,466        arg2: T2,467        arg3: T3,468        arg4: T4,469        arg5: T5,470        arg6: T6,471        arg7: T7,472        arg8: T8,473        arg9: T9,474        arg10: T10,475        arg11: T11,476        arg12: T12,477        arg13: T13478      ) => TResult479    ): OutputSelector<TState, TProps, TResult>,480    <481      TState,482      TProps,483      TResult,484      T1,485      T2,486      T3,487      T4,488      T5,489      T6,490      T7,491      T8,492      T9,493      T10,494      T11,495      T12,496      T13497    >(498      selectors: [499        InputSelector<TState, TProps, T1>,500        InputSelector<TState, TProps, T2>,501        InputSelector<TState, TProps, T3>,502        InputSelector<TState, TProps, T4>,503        InputSelector<TState, TProps, T5>,504        InputSelector<TState, TProps, T6>,505        InputSelector<TState, TProps, T7>,506        InputSelector<TState, TProps, T8>,507        InputSelector<TState, TProps, T9>,508        InputSelector<TState, TProps, T10>,509        InputSelector<TState, TProps, T11>,510        InputSelector<TState, TProps, T12>,511        InputSelector<TState, TProps, T13>512      ],513      resultFunc: (514        arg1: T1,515        arg2: T2,516        arg3: T3,517        arg4: T4,518        arg5: T5,519        arg6: T6,520        arg7: T7,521        arg8: T8,522        arg9: T9,523        arg10: T10,524        arg11: T11,525        arg12: T12,526        arg13: T13527      ) => TResult528    ): OutputSelector<TState, TProps, TResult>,529    <530      TState,531      TProps,532      TResult,533      T1,534      T2,535      T3,536      T4,537      T5,538      T6,539      T7,540      T8,541      T9,542      T10,543      T11,544      T12,545      T13,546      T14547    >(548      selector1: InputSelector<TState, TProps, T1>,549      selector2: InputSelector<TState, TProps, T2>,550      selector3: InputSelector<TState, TProps, T3>,551      selector4: InputSelector<TState, TProps, T4>,552      selector5: InputSelector<TState, TProps, T5>,553      selector6: InputSelector<TState, TProps, T6>,554      selector7: InputSelector<TState, TProps, T7>,555      selector8: InputSelector<TState, TProps, T8>,556      selector9: InputSelector<TState, TProps, T9>,557      selector10: InputSelector<TState, TProps, T10>,558      selector11: InputSelector<TState, TProps, T11>,559      selector12: InputSelector<TState, TProps, T12>,560      selector13: InputSelector<TState, TProps, T13>,561      selector14: InputSelector<TState, TProps, T14>,562      resultFunc: (563        arg1: T1,564        arg2: T2,565        arg3: T3,566        arg4: T4,567        arg5: T5,568        arg6: T6,569        arg7: T7,570        arg8: T8,571        arg9: T9,572        arg10: T10,573        arg11: T11,574        arg12: T12,575        arg13: T13,576        arg14: T14577      ) => TResult578    ): OutputSelector<TState, TProps, TResult>,579    <580      TState,581      TProps,582      TResult,583      T1,584      T2,585      T3,586      T4,587      T5,588      T6,589      T7,590      T8,591      T9,592      T10,593      T11,594      T12,595      T13,596      T14597    >(598      selectors: [599        InputSelector<TState, TProps, T1>,600        InputSelector<TState, TProps, T2>,601        InputSelector<TState, TProps, T3>,602        InputSelector<TState, TProps, T4>,603        InputSelector<TState, TProps, T5>,604        InputSelector<TState, TProps, T6>,605        InputSelector<TState, TProps, T7>,606        InputSelector<TState, TProps, T8>,607        InputSelector<TState, TProps, T9>,608        InputSelector<TState, TProps, T10>,609        InputSelector<TState, TProps, T11>,610        InputSelector<TState, TProps, T12>,611        InputSelector<TState, TProps, T13>,612        InputSelector<TState, TProps, T14>613      ],614      resultFunc: (615        arg1: T1,616        arg2: T2,617        arg3: T3,618        arg4: T4,619        arg5: T5,620        arg6: T6,621        arg7: T7,622        arg8: T8,623        arg9: T9,624        arg10: T10,625        arg11: T11,626        arg12: T12,627        arg13: T13,628        arg14: T14629      ) => TResult630    ): OutputSelector<TState, TProps, TResult>,631    <632      TState,633      TProps,634      TResult,635      T1,636      T2,637      T3,638      T4,639      T5,640      T6,641      T7,642      T8,643      T9,644      T10,645      T11,646      T12,647      T13,648      T14,649      T15650    >(651      selector1: InputSelector<TState, TProps, T1>,652      selector2: InputSelector<TState, TProps, T2>,653      selector3: InputSelector<TState, TProps, T3>,654      selector4: InputSelector<TState, TProps, T4>,655      selector5: InputSelector<TState, TProps, T5>,656      selector6: InputSelector<TState, TProps, T6>,657      selector7: InputSelector<TState, TProps, T7>,658      selector8: InputSelector<TState, TProps, T8>,659      selector9: InputSelector<TState, TProps, T9>,660      selector10: InputSelector<TState, TProps, T10>,661      selector11: InputSelector<TState, TProps, T11>,662      selector12: InputSelector<TState, TProps, T12>,663      selector13: InputSelector<TState, TProps, T13>,664      selector14: InputSelector<TState, TProps, T14>,665      selector15: InputSelector<TState, TProps, T15>,666      resultFunc: (667        arg1: T1,668        arg2: T2,669        arg3: T3,670        arg4: T4,671        arg5: T5,672        arg6: T6,673        arg7: T7,674        arg8: T8,675        arg9: T9,676        arg10: T10,677        arg11: T11,678        arg12: T12,679        arg13: T13,680        arg14: T14,681        arg15: T15682      ) => TResult683    ): OutputSelector<TState, TProps, TResult>,684    <685      TState,686      TProps,687      TResult,688      T1,689      T2,690      T3,691      T4,692      T5,693      T6,694      T7,695      T8,696      T9,697      T10,698      T11,699      T12,700      T13,701      T14,702      T15703    >(704      selectors: [705        InputSelector<TState, TProps, T1>,706        InputSelector<TState, TProps, T2>,707        InputSelector<TState, TProps, T3>,708        InputSelector<TState, TProps, T4>,709        InputSelector<TState, TProps, T5>,710        InputSelector<TState, TProps, T6>,711        InputSelector<TState, TProps, T7>,712        InputSelector<TState, TProps, T8>,713        InputSelector<TState, TProps, T9>,714        InputSelector<TState, TProps, T10>,715        InputSelector<TState, TProps, T11>,716        InputSelector<TState, TProps, T12>,717        InputSelector<TState, TProps, T13>,718        InputSelector<TState, TProps, T14>,719        InputSelector<TState, TProps, T15>720      ],721      resultFunc: (722        arg1: T1,723        arg2: T2,724        arg3: T3,725        arg4: T4,726        arg5: T5,727        arg6: T6,728        arg7: T7,729        arg8: T8,730        arg9: T9,731        arg10: T10,732        arg11: T11,733        arg12: T12,734        arg13: T13,735        arg14: T14,736        arg15: T15737      ) => TResult738    ): OutputSelector<TState, TProps, TResult>,739    <740      TState,741      TProps,742      TResult,743      T1,744      T2,745      T3,746      T4,747      T5,748      T6,749      T7,750      T8,751      T9,752      T10,753      T11,754      T12,755      T13,756      T14,757      T15,758      T16759    >(760      selector1: InputSelector<TState, TProps, T1>,761      selector2: InputSelector<TState, TProps, T2>,762      selector3: InputSelector<TState, TProps, T3>,763      selector4: InputSelector<TState, TProps, T4>,764      selector5: InputSelector<TState, TProps, T5>,765      selector6: InputSelector<TState, TProps, T6>,766      selector7: InputSelector<TState, TProps, T7>,767      selector8: InputSelector<TState, TProps, T8>,768      selector9: InputSelector<TState, TProps, T9>,769      selector10: InputSelector<TState, TProps, T10>,770      selector11: InputSelector<TState, TProps, T11>,771      selector12: InputSelector<TState, TProps, T12>,772      selector13: InputSelector<TState, TProps, T13>,773      selector14: InputSelector<TState, TProps, T14>,774      selector15: InputSelector<TState, TProps, T15>,775      selector16: InputSelector<TState, TProps, T16>,776      resultFunc: (777        arg1: T1,778        arg2: T2,779        arg3: T3,780        arg4: T4,781        arg5: T5,782        arg6: T6,783        arg7: T7,784        arg8: T8,785        arg9: T9,786        arg10: T10,787        arg11: T11,788        arg12: T12,789        arg13: T13,790        arg14: T14,791        arg15: T15,792        arg16: T16793      ) => TResult794    ): OutputSelector<TState, TProps, TResult>,795    <796      TState,797      TProps,798      TResult,799      T1,800      T2,801      T3,802      T4,803      T5,804      T6,805      T7,806      T8,807      T9,808      T10,809      T11,810      T12,811      T13,812      T14,813      T15,814      T16815    >(816      selectors: [817        InputSelector<TState, TProps, T1>,818        InputSelector<TState, TProps, T2>,819        InputSelector<TState, TProps, T3>,820        InputSelector<TState, TProps, T4>,821        InputSelector<TState, TProps, T5>,822        InputSelector<TState, TProps, T6>,823        InputSelector<TState, TProps, T7>,824        InputSelector<TState, TProps, T8>,825        InputSelector<TState, TProps, T9>,826        InputSelector<TState, TProps, T10>,827        InputSelector<TState, TProps, T11>,828        InputSelector<TState, TProps, T12>,829        InputSelector<TState, TProps, T13>,830        InputSelector<TState, TProps, T14>,831        InputSelector<TState, TProps, T15>,832        InputSelector<TState, TProps, T16>833      ],834      resultFunc: (835        arg1: T1,836        arg2: T2,837        arg3: T3,838        arg4: T4,839        arg5: T5,840        arg6: T6,841        arg7: T7,842        arg8: T8,843        arg9: T9,844        arg10: T10,845        arg11: T11,846        arg12: T12,847        arg13: T13,848        arg14: T14,849        arg15: T15,850        arg16: T16851      ) => TResult852    ): OutputSelector<TState, TProps, TResult>853  };854  declare type Reselect = {855    createSelector: SelectorCreator,856    defaultMemoize: <TFunc: Function>(857      func: TFunc,858      equalityCheck?: (a: any, b: any) => boolean859    ) => TFunc,860    createSelectorCreator: (861      memoize: Function,862      ...memoizeOptions: any[]863    ) => SelectorCreator,864    createStructuredSelector: <TState, TProps>(865      inputSelectors: {866        [k: string | number]: InputSelector<TState, TProps, any>867      },868      selectorCreator?: SelectorCreator869    ) => OutputSelector<TState, TProps, any>870  };871  declare module.exports: Reselect;...cute.transitions.all.js
Source:cute.transitions.all.js  
...4		duration:1.8,5		overlapping:0.05,6		row:5,7		col:1,8		selector :new Aroma.SerialSelector(),9		effect:new Cute.Effect4({ease:TWEEN.Easing.Exponential , dir:'horizontal'  , push:true})10	},11	12	tr40: {13		duration:1.8,14		overlapping:0.001,15		row:5,16		col:1,17		selector :new Aroma.SerialSelector(),18		effect:new Cute.Effect4({ease:TWEEN.Easing.Exponential  , push:true})19	},20	21	tr39: {22		duration:1.8,23		overlapping:0.05,24		row:1,25		col:8,26		selector :new Aroma.SerialSelector(),27		effect:new Cute.Effect4({ease:TWEEN.Easing.Exponential  , push:true})28	},29	30	tr38: {31		duration:1.8,32		overlapping:0.02,33		row:2,34		col:4,35		selector :new Aroma.SerialSelector(),36		effect:new Cute.Effect3({ease:TWEEN.Easing.Exponential  , push:true})37	},38	39	tr37: {40		duration:1.8,41		overlapping:0.02,42		row:1,43		col:10,44		selector :new Aroma.SerialSelector(),45		effect:new Cute.Effect3({ease:TWEEN.Easing.Quartic  , push:true})46	},47	48	tr36: {49		duration:1.2,50		overlapping:0.05,51		row:5,52		col:1,53		selector :new Aroma.SerialSelector(),54		effect:new Cute.Effect3({ease:TWEEN.Easing.Quartic  , push:true})55	},56	57	58	tr35: {59		duration:2.2,60		overlapping:0.02,61		row:1,62		col:10,63		selector :new Aroma.RandSelector(),64		effect:new Cute.Effect2({ease:TWEEN.Easing.Quartic , dir:'t' , push:true})65	},66	67	68	tr34: {69		duration:2.2,70		overlapping:0.03,71		row:1,72		col:10,73		selector :new Aroma.SerialSelector(),74		effect:new Cute.Effect2({ease:TWEEN.Easing.Exponential , dir:'t' , push:true})75	},76	77	tr33: {78		duration:2,79		overlapping:0.04,80		row:4,81		col:4,82		selector:new Aroma.RandSelector(),83		effect:new Cute.Effect2({ease:TWEEN.Easing.Quintic , dir:'br' , push:false })84	},85	tr32: {86		duration:2,87		overlapping:0.04,88		row:4,89		col:4,90		selector:new Aroma.RandSelector(),91		effect:new Cute.Effect2({ease:TWEEN.Easing.Quintic , dir:'tl' , push:false })92	},93	tr31: {94		duration:2,95		overlapping:0.04,96		row:4,97		col:4,98		selector:new Aroma.SerialSelector(),99		effect:new Cute.Effect2({ease:TWEEN.Easing.Quintic , dir:'tl' , push:false })100	},101	tr30: {102		duration:2,103		overlapping:0.05,104		row:5,105		col:1,106		selector:new Aroma.SerialSelector(),107		effect:new Cute.Effect2({ease:TWEEN.Easing.Quintic , dir:'tl' , push:true })108	},109	tr29: {110		duration:2,111		overlapping:0.05,112		row:4,113		col:4,114		selector:new Aroma.DiagonalSelector(),115		effect:new Cute.Effect2({ease:TWEEN.Easing.Quintic , dir:'tl' , push:true })116	},117	tr28: {118		duration:2,119		overlapping:0.05,120		row:1,121		col:8,122		selector:new Aroma.SerialSelector(),123		effect:new Cute.Effect2({ease:TWEEN.Easing.Quintic , dir:'bl' , push:true })124	},125	tr27: {126		duration:2,127		overlapping:0.05,128		row:1,129		col:8,130		selector:new Aroma.SerialSelector(),131		effect:new Cute.Effect2({ease:TWEEN.Easing.Quintic , dir:'b' , push:true })132	},133	tr26: {134		duration:2,135		overlapping:0.05,136		row:1,137		col:8,138		selector:new Aroma.SerialSelector(),139		effect:new Cute.Effect2({ease:TWEEN.Easing.Quintic , dir:'b' })140	},141	tr25: {142		duration:2,143		overlapping:0.05,144		row:1,145		col:8,146		selector:new Aroma.SerialSelector(),147		effect:new Cute.Effect2({ease:TWEEN.Easing.Quintic , dir:'t' })148	},149	tr24: {150		duration:2,151		overlapping:0.06,152		row:5,153		col:1,154		selector:new Aroma.RandSelector(),155		effect:new Cute.Effect2({ease:TWEEN.Easing.Exponential , dir:'l' , push:true})156	},157	tr23: {158		duration:2,159		overlapping:0.06,160		row:5,161		col:1,162		selector:new Aroma.RandSelector(),163		effect:new Cute.Effect2({ease:TWEEN.Easing.Exponential , dir:'r' })164	},165	tr22: {166		duration:2,167		overlapping:0.06,168		row:5,169		col:1,170		selector:new Aroma.SerialSelector(),171		effect:new Cute.Effect2({ease:TWEEN.Easing.Exponential , dir:'r' })172	},173	tr21: {174		duration:2,175		overlapping:0.06,176		row:5,177		col:1,178		selector:new Aroma.SerialSelector(),179		effect:new Cute.Effect2({ease:TWEEN.Easing.Exponential , dir:'l' })180	},181	tr20: {182		duration:2.2,183		overlapping:0.05,184		row:5,185		col:1,186		selector :new Aroma.SerialSelector(),187		effect:new Cute.Effect2({ease:TWEEN.Easing.Exponential , dir:'l' , push:true})188	},189	190	191	tr19: {192		duration:1.4,193		overlapping:0.05,194		row:1,195		col:10,196		selector :new Aroma.SerialSelector(),197		effect:new Cute.Effect2({ease:TWEEN.Easing.Quartic , dir:'l' , push:true})198	},199	200	tr18: {201		duration:1.8,202		overlapping:0.0001,203		row:1,204		col:1,205		selector:new Aroma.SerialSelector(),206		effect:new Cute.Effect2({ease:TWEEN.Easing.Quintic , dir:'l' })207	},208	tr17: {209		duration:1.8,210		overlapping:0.0001,211		row:1,212		col:1,213		selector:new Aroma.SerialSelector(),214		effect:new Cute.Effect2({ease:TWEEN.Easing.Quintic , dir:'b' })215	},216	tr16: {217		duration:1.8,218		overlapping:0.0001,219		row:1,220		col:1,221		selector:new Aroma.SerialSelector(),222		effect:new Cute.Effect2({ease:TWEEN.Easing.Quintic , dir:'b' , push:true})223	},224	225	tr15: {226		duration:1.4,227		overlapping:0.0001,228		row:1,229		col:1,230		selector :new Aroma.SerialSelector(),231		effect:new Cute.Effect2({ease:TWEEN.Easing.Quartic , dir:'t' , push:true})232	},233	234	tr14: {235		duration:1.8,236		overlapping:0.0001,237		row:1,238		col:1,239		selector:new Aroma.SerialSelector(),240		effect:new Cute.Effect2({ease:TWEEN.Easing.Quintic , dir:'l' , push:true})241	},242	243	tr13: {244		duration:1.8,245		overlapping:0.0001,246		row:1,247		col:1,248		selector :new Aroma.SerialSelector(),249		effect:new Cute.Effect2({ease:TWEEN.Easing.Quintic , push:true})250	},251	252	253	tr12: {254		duration:1.2,255		overlapping:0.025,256		row:5,257		col:5,258		selector :new Aroma.RandSelector(),259		effect:new Cute.Effect1()260	},261	262	263	tr11: {264		duration:1.2,265		overlapping:0.025,266		row:5,267		col:5,268		selector :new Aroma.DiagonalSelector('tr'),269		effect:new Cute.Effect1()270	},271	272	273	tr10: {274		duration:1.2,275		overlapping:0.025,276		row:5,277		col:5,278		selector :new Aroma.DiagonalSelector('tl'),279		effect:new Cute.Effect1()280	},281	282	283	tr9: {284		duration:1.2,285		overlapping:0.025,286		row:5,287		col:5,288		selector :new Aroma.DiagonalSelector('bl'),289		effect:new Cute.Effect1()290	},291	292	293	tr8: {294		duration:1.5,295		overlapping:0.025,296		row:5,297		col:5,298		selector :new Aroma.DiagonalSelector('br'),299		effect:new Cute.Effect1()300	},301	302	303	304	tr7: {305		duration:1.8,306		overlapping:0.05,307		row:5,308		col:5,309		selector :new Aroma.SerialSelector('brl' , false),310		effect:new Cute.Effect1()311	},312	313	314	tr6: {315		duration:1.7,316		overlapping:0.05,317		row:5,318		col:5,319		selector :new Aroma.SerialSelector('trl' , true),320		effect:new Cute.Effect1()321	},322	323	324	tr5: {325		duration:0.9,326		overlapping:0.08,327		row:8,328		col:1,329		selector:new Aroma.SerialSelector("trl"),330		effect:new Cute.Effect1()331	},332	333	334	tr4: {335		duration:0.9,336		overlapping:0.08,337		row:8,338		col:1,339		selector:new Aroma.SerialSelector("brl"),340		effect:new Cute.Effect1()341	},342	343	344	tr3: {345		duration:0.9,346		overlapping:0.08,347		row:1,348		col:10,349		selector:new Aroma.RandSelector(),350		effect:new Cute.Effect1()351	},352	353	354	tr2: {355		duration:1.2,356		overlapping:0.05,357		row:1,358		col:10,359		selector :new Aroma.SerialSelector('trl'),360		effect:new Cute.Effect1()361	},362	363	tr1: {364		duration:1.2,365		overlapping:0.08,366		row:1,367		col:10,368		selector:new Aroma.SerialSelector(),369		effect:new Cute.Effect1()370	}371	372	373};374window.Transitions3D = {375	376	tr64: {377		duration:4.5,378		overlapping:0.021,379		row:4,380		col:4,381		selector :new Aroma.RandSelector(),382		effect:new Cute.Effect12({ease:TWEEN.Easing.Back  , zmove:-600 , depth:10  ,sidecolor:0x777777})383	},384	385	tr63: {386		duration:4.5,387		overlapping:0.021,388		row:4,389		col:4,390		selector :new Aroma.RandSelector(),391		effect:new Cute.Effect11({ease:TWEEN.Easing.Back , dir:'tl' , zmove:-600 , depth:10  ,sidecolor:0x777777})392	},393	394	tr62 : {395		duration:3.5,396		overlapping:0.021,397		row:1,398		col:10,399		selector:new Aroma.SerialSelector("trl"),400		effect:new Cute.Effect11({ease:TWEEN.Easing.Quartic , dir:"tr" , zmove:-100 , depth:10  ,sidecolor:0x777777})401	},402	403	tr61: {404		duration:3.5,405		overlapping:0.021,406		row:1,407		col:5,408		selector :new Aroma.SerialSelector('trl'),409		effect:new Cute.Effect11({ease:TWEEN.Easing.Quartic , dir:'tr' , zmove:-400 , depth:10  ,sidecolor:0x777777})410	},411	412	tr60: {413		duration:3.5,414		overlapping:0.021,415		row:1,416		col:7,417		selector :new Aroma.SerialSelector('trl'),418		effect:new Cute.Effect10({ease:TWEEN.Easing.Exponential , dir:'tr' , zmove:-400 , depth:20  ,sidecolor:0x777777})419	},420	421	tr59: {422		duration:3.5,423		overlapping:0.0001,424		row:5,425		col:1,426		selector :new Aroma.SerialSelector('trl'),427		effect:new Cute.Effect10({ease:TWEEN.Easing.Exponential , depth:20  ,sidecolor:0x777777})428	},429	430	tr58 : {431		duration:3.5,432		overlapping:0.08,433		row:1,434		col:4,435		selector:new Aroma.RandSelector(),436		effect:new Cute.Effect10({ease:TWEEN.Easing.Exponential , zmove:-100 , dir:"vertical" ,sidecolor:0x777777})437	},438	tr57 : {439		duration:3.5,440		overlapping:0.08,441		row:1,442		col:8,443		selector:new Aroma.SerialSelector("trl"),444		effect:new Cute.Effect10({ease:TWEEN.Easing.Exponential , zmove:-100 , dir:"vertical" ,sidecolor:0x777777})445	},446	447	tr56: {448		duration:3.5,449		overlapping:0.0001,450		row:1,451		col:8,452		selector :new Aroma.SerialSelector('trl'),453		effect:new Cute.Effect10({ease:TWEEN.Easing.Exponential , zmove:-700  ,sidecolor:0x777777})454	},455		456	tr55: {457		duration:3.5,458		overlapping:0.0001,459		row:5,460		col:1,461		selector :new Aroma.SerialSelector('trl'),462		effect:new Cute.Effect10({ease:TWEEN.Easing.Exponential , zmove:-1200 , dir:'horizontal' ,sidecolor:0x777777})463	},464	465	466	tr54: {467		duration:2.8,468		overlapping:0.03,469		row:4,470		col:1,471		selector :new Aroma.SerialSelector('trl'),472		effect:new Cute.Effect10({ease:TWEEN.Easing.Exponential , zmove:-1200 , dir:'horizontal' ,sidecolor:0x777777 , depth:20 })473	},474	475	476	tr53: {477		duration:3.5,478		overlapping:0.03,479		row:1,480		col:7,481		selector :new Aroma.SerialSelector('trl'),482		effect:new Cute.Effect10({ease:TWEEN.Easing.Exponential ,sidecolor:0x777777 , depth:20 })483	},484	485	486	tr52: {487		duration:2,488		overlapping:0.07,489		row:5,490		col:1,491		selector :new Aroma.SerialSelector('trl'),492		effect:new Cute.Effect10({ease:TWEEN.Easing.Cubic , dir:'horizontal',sidecolor:0x777777 , yspace:5 , zmove:-1000 })493	},494	495	tr51 : {496			duration:3.5,497		overlapping:0.08,498		row:6,499		col:1,500		selector:new Aroma.SerialSelector("brl"),501		effect:new Cute.Effect10({ease:TWEEN.Easing.Exponential , zmove:-1200 , dir:"horizontal" ,sidecolor:0x777777})502	},503	504	tr50 : {505		duration:3.5,506		overlapping:0.08,507		row:6,508		col:1,509		selector:new Aroma.SerialSelector("trl"),510		effect:new Cute.Effect10({ease:TWEEN.Easing.Exponential , zmove:-1200 , dir:"horizontal" ,sidecolor:0x777777})511	},512	tr49 : {513		duration:3.5,514		overlapping:0.021,515		row:1,516		col:8,517		selector:new Aroma.SerialSelector("trl"),518		effect:new Cute.Effect10({ease:TWEEN.Easing.Exponential , dir:"horizontal" , xspace:-20 , depth:10  ,sidecolor:0x777777})519	},520	tr48 : {521		duration:3.5,522		overlapping:0.021,523		row:4,524		col:1,525		selector:new Aroma.SerialSelector("trl"),526		effect:new Cute.Effect10({ease:TWEEN.Easing.Exponential , dir:"vertical" , yspace:-20 , depth:10  ,sidecolor:0x777777})527	},528		529	tr47 : {530		duration:3.5,531		overlapping:0.021,532		row:8,533		col:1,534		selector:new Aroma.SerialSelector("trl"),535		effect:new Cute.Effect10({ease:TWEEN.Easing.Exponential , dir:"vertical" , depth:10  ,sidecolor:0x777777})536	},537	tr46 : {538		duration:3.5,539		overlapping:0.021,540		row:1,541		col:8,542		selector:new Aroma.SerialSelector("trl"),543		effect:new Cute.Effect10({ease:TWEEN.Easing.Exponential , dir:"tr" , depth:10  ,sidecolor:0x777777})544	},545	546	tr45: {547		duration:1.6,548		overlapping:0.07,549		row:5,550		col:1,551		selector :new Aroma.SerialSelector('brl'),552		effect:new Cute.Effect10({ease:TWEEN.Easing.Cubic , dir:'horizontal',sidecolor:0x777777  })553	},554	555	tr44: {556		duration:2.5,557		overlapping:0.02,558		row:1,559		col:8,560		selector :new Aroma.SerialSelector('trl'),561		effect:new Cute.Effect10({ease:TWEEN.Easing.Exponential , dir:'vertical',sidecolor:0x777777  })562	},563	564	565	tr43: {566		duration:1.5,567		overlapping:0.03,568		row:5,569		col:1,570		selector :new Aroma.SerialSelector('brl'),571		effect:new Cute.Effect9({ease:TWEEN.Easing.Cubic,sidecolor:0x777777 })572	},573	574	575	tr42: {576		duration:2.5,577		overlapping:0.03,578		row:1,579		col:8,580		selector :new Aroma.SerialSelector('trl'),581		effect:new Cute.Effect9({ease:TWEEN.Easing.Exponential,xspace:5 , zmove:-500,sidecolor:0x777777 })582	},583	584	585	tr41: {586		duration:2.5,587		overlapping:0.03,588		row:1,589		col:7,590		selector :new Aroma.SerialSelector('trl'),591		effect:new Cute.Effect9({ease:TWEEN.Easing.Exponential,depth:10,xspace:5 , zmove:-500,sidecolor:0x777777 })592	},593	594	tr40: {595		duration:3.5,596		overlapping:0.02,597		row:3,598		col:1,599		selector:new Aroma.RandSelector(),600		effect:new Cute.Effect9({ease:TWEEN.Easing.Back,depth:15,sidecolor:0x777777 , zmove:-200 })601	},602	tr39 : {603		duration:3.5,604		overlapping:0.02,605		row:2,606		col:3,607		selector:new Aroma.RandSelector(),608		effect:new Cute.Effect9({ease:TWEEN.Easing.Exponential,depth:15,sidecolor:0x777777 , zmove:-200 })609	},610	tr38 : {611		duration:3.5,612		overlapping:0.02,613		row:1,614		col:5,615		selector:new Aroma.SerialSelector(),616		effect:new Cute.Effect9({ease:TWEEN.Easing.Exponential,depth:15,sidecolor:0x777777 , zmove:-200 })617	},618	619	tr37: {620		duration:3.5,621		overlapping:0.02,622		row:1,623		col:7,624		selector :new Aroma.SerialSelector(),625		effect:new Cute.Effect9({ease:TWEEN.Easing.Exponential,depth:10,sidecolor:0x777777 })626	},627	628	629	tr36: {630		duration:2.3,631		overlapping:0.08,632		row:2,633		col:1,634		selector :new Aroma.SerialSelector(),635		effect:new Cute.Effect8({ease:TWEEN.Easing.Exponential, dir:"l" , zmove:-1700 , xspace:5 , sidecolor:0x777777 })636	},637	638	639	tr35: {640		duration:3.3,641		overlapping:0.03,642		row:1,643		col:7,644		selector :new Aroma.SerialSelector(),645		effect:new Cute.Effect8({ease:TWEEN.Easing.Back, dir:"u" , zmove:-600 , stack:true , xspace:5 , sidecolor:0x777777 })646	},647	648	649	tr34: {650		duration:3.3,651		overlapping:0.03,652		row:1,653		col:5,654		selector :new Aroma.SerialSelector(),655		effect:new Cute.Effect8({ease:TWEEN.Easing.Back, dir:"r" , zmove:-600 , stack:true , xspace:5 , sidecolor:0x777777 })656	},657	658	659	tr33: {660		duration:3.3,661		overlapping:0.03,662		row:5,663		col:1,664		selector :new Aroma.SerialSelector('trl'),665		effect:new Cute.Effect8({ease:TWEEN.Easing.Back, dir:"r" , zmove:-600 , stack:true , yspace:5 , sidecolor:0x777777 })666	},667	668	669	tr32 : {670		duration:2.8,671		overlapping:0.03,672		row:1,673		col:5,674		selector:new Aroma.SerialSelector(),675		effect:new Cute.Effect8({ease:TWEEN.Easing.Exponential , sidecolor:0x333333 , depth:10 , dir:"l"})676	},677	tr31 : {678		duration:2.8,679		overlapping:0.03,680		row:8,681		col:1,682		selector:new Aroma.SerialSelector(),683		effect:new Cute.Effect8({ease:TWEEN.Easing.Exponential , sidecolor:0x333333 , depth:10 , dir:"u"})684	},685	686	tr30: {687		duration:2.3,688		overlapping:0.03,689		row:5,690		col:1,691		selector :new Aroma.SerialSelector('trl'),692		effect:new Cute.Effect8({ease:TWEEN.Easing.Exponential, dir:"r" , zmove:-1500 , yspace:5 , sidecolor:0x777777 })693	},694	695	tr29: {696		duration:4.6,697		overlapping:0.01,698		row:11,699		col:1,700		selector :new Aroma.SerialSelector('trl'),701		effect:new Cute.Effect8({ease:TWEEN.Easing.Back, dir:"r" , zmove:-600 , yspace:5 , sidecolor:0x333333 , stack:true , balance:0.6})702	},703	704	705	tr28: {706		duration:2.8,707		overlapping:0.03,708		row:4,709		col:1,710		selector :new Aroma.SerialSelector('trl'),711		effect:new Cute.Effect8({ease:TWEEN.Easing.Exponential, dir:"r" , zmove:-1600 , sidecolor:0x333333 , depth:18})712	},713	714	715	tr27: {716		duration:1.6,717		overlapping:0.05,718		row:5,719		col:1,720		selector :new Aroma.SerialSelector('trl'),721		effect:new Cute.Effect8({ease:TWEEN.Easing.Cubic, dir:"r" , zmove:-800 , sidecolor:0x333333 , depth:20})722	},723	724	725	tr26: {726		duration:2.5,727		overlapping:0.02,728		row:1,729		col:8,730		selector :new Aroma.SerialSelector('trl'),731		effect:new Cute.Effect8({ease:TWEEN.Easing.Exponential , sidecolor:0x333333 , depth:20})732	},733	734	tr25 : {735		duration:2.8,736		overlapping:0.03,737		row:8,738		col:1,739		selector:new Aroma.SerialSelector(),740		effect:new Cute.Effect8({ease:TWEEN.Easing.Exponential , sidecolor:0x333333 , dir:"u"})741	},742	tr24 : {743		duration:2.8,744		overlapping:0.03,745		row:1,746		col:13,747		selector:new Aroma.SerialSelector(),748		effect:new Cute.Effect8({ease:TWEEN.Easing.Exponential , sidecolor:0x333333 , dir:"l"})749	},750	751	tr23: {752		duration:2.3,753		overlapping:0.05,754		row:5,755		col:1,756		selector :new Aroma.SerialSelector(),757		effect:new Cute.Effect8({ease:TWEEN.Easing.Cubic , sidecolor:0x333333 , dir:"r" ,yspace:5 , zmove:-1200 })758	},759		760	761	tr22: {762		duration:2,763		overlapping:0.03,764		row:1,765		col:8,766		selector :new Aroma.SerialSelector('brl'),767		effect:new Cute.Effect8({ease:TWEEN.Easing.Back , sidecolor:0x333333 , side:"t" })768	},769	770	tr21 : { 771		duration:2.8,772		overlapping:0.03,773		row:5,774		col:1,775		selector:new Aroma.RandSelector(),776		effect:new Cute.Effect8({ease:TWEEN.Easing.Exponential , sidecolor:0x333333 , dir:"l"})777	},778	779	tr20: {780		duration:2.8,781		overlapping:0.03,782		row:5,783		col:1,784		selector :new Aroma.SerialSelector('brl'),785		effect:new Cute.Effect8({ease:TWEEN.Easing.Exponential , sidecolor:0x333333 , dir:'l'})786	},787	788	789	tr19: {790		duration:2.2,791		overlapping:0.02,792		row:1,793		col:8,794		selector :new Aroma.SerialSelector('trl'),795		effect:new Cute.Effect8({ease:TWEEN.Easing.Exponential , sidecolor:0x333333})796	},797	798	799	tr18: {800		duration:2,801		overlapping:0.0001,802		row:5,803		col:1,804		selector :new Aroma.SerialSelector('trl'),805		effect:new Cute.Effect7({ease:TWEEN.Easing.Exponential })806	},807	808	tr17 : {809		duration:1.7,810		overlapping:0.08,811		row:1,812		col:5,813		selector:new Aroma.SerialSelector(),814		effect:new Cute.Effect7({ease:TWEEN.Easing.Quintic  })815	},816	tr16 : {817		duration:1.7,818		overlapping:0.03,819		row:8,820		col:1,821		selector:new Aroma.SerialSelector("trl"),822		effect:new Cute.Effect7({ease:TWEEN.Easing.Back , xspace:15 })823	},824	825	826	tr15: {827		duration:1.7,828		overlapping:0.07,829		row:4,830		col:1,831		selector :new Aroma.SerialSelector('trl'),832		effect:new Cute.Effect7({ease:TWEEN.Easing.Quartic , dir:'horizontal'})833	},834	835	836	tr14: {837		duration:1.7,838		overlapping:0.05,839		row:1,840		col:4,841		selector :new Aroma.SerialSelector('trl'),842		effect:new Cute.Effect7({ease:TWEEN.Easing.Back })843	},844	845	846	tr13: {847		duration:1.6,848		overlapping:0.07,849		row:2,850		col:4,851		selector :new Aroma.SerialSelector(),852		effect:new Cute.Effect6({ease:TWEEN.Easing.Back , side:'l'  })853	},854	855	856	tr12: {857		duration:1.6,858		overlapping:0.07,859		row:1,860		col:6,861		selector :new Aroma.SerialSelector(),862		effect:new Cute.Effect6({ease:TWEEN.Easing.Back , side:'t'  })863	},864	865	866	tr11: {867		duration:3.5,868		overlapping:0.025,869		row:5,870		col:1,871		selector :new Aroma.RandSelector(),872		effect:new Cute.Effect5({ease:TWEEN.Easing.Exponential , side:'r'  })873	},874	875	876	tr10: {877		duration:3.5,878		overlapping:0.025,879		row:1,880		col:5,881		selector :new Aroma.RandSelector(),882		effect:new Cute.Effect5({ease:TWEEN.Easing.Exponential , side:'t'  })883	},884	885	tr9: {886		duration:2,887		overlapping:0.08,888		row:5,889		col:1,890		selector :new Aroma.SerialSelector(),891		effect:new Cute.Effect5({ease:TWEEN.Easing.Quadratic	, side:'r' , zmove:-800 })892	},893	894	895	tr8: {896		duration:2.4,897		overlapping:0.04,898		row:1,899		col:10,900		selector :new Aroma.SerialSelector(),901		effect:new Cute.Effect5({ease:TWEEN.Easing.Quartic, side:'b' , zmove:-800 })902	},903	904	905	tr7: {906		duration:2,907		overlapping:0.07,908		row:5,909		col:1,910		selector :new Aroma.SerialSelector('blu'),911		effect:new Cute.Effect5({ease:TWEEN.Easing.Cubic, side:'r' , zmove:-550 })912	},913	914	915	tr6: {916		duration:1.7,917		overlapping:0.03,918		row:1,919		col:8,920		selector :new Aroma.SerialSelector(),921		effect:new Cute.Effect5({ease:TWEEN.Easing.Back, side:'t' , zmove:-250  })922	},923	tr5: {924		duration:2.6,925		overlapping:0.03,926		row:5,927		col:1,928		selector :new Aroma.RandSelector(),929		effect:new Cute.Effect5({ease:TWEEN.Easing.Exponential, side:'r'})930	},931	932	tr4 : {933		duration:1.8,934		overlapping:0.08,935		row:5,936		col:1,937		selector:new Aroma.SerialSelector(),938		effect:new Cute.Effect5({ease:TWEEN.Easing.Quartic, side:"l" , zmove:-600})939	},940	941	tr3: {942		duration:1.8,943		overlapping:0.08,944		row:5,945		col:1,946		selector :new Aroma.SerialSelector(),947		effect:new Cute.Effect5({ease:TWEEN.Easing.Quartic, side:'l'})948	},949	950	tr2 : {951		duration:1.6,952		overlapping:0.08,953		row:5,954		col:1,955		selector :new Aroma.SerialSelector(),956		effect:new Cute.Effect5({ease:TWEEN.Easing.Cubic, side:'b'})957	},958	959	tr1 : {960		duration:1.6,961		overlapping:0.08,962		row:1,963		col:7,964		selector :new Aroma.SerialSelector(),965		effect:new Cute.Effect5({ease:TWEEN.Easing.Cubic, side:'l'})966	}...selector-native-debug.js
Source:selector-native-debug.js  
...169        selector = Y.Selector._restore('esc', selector, replaced.esc);170        return selector;171    },172    _replaceCommas: function(selector) {173        var replaced = Y.Selector._replaceSelector(selector),174            selector = replaced.selector;175        if (selector) {176            selector = selector.replace(/,/g, '\uE007');177            replaced.selector = selector;178            selector = Y.Selector._restoreSelector(replaced);179        }180        return selector;181    },182    // allows element scoped queries to begin with combinator183    // e.g. query('> p', document.body) === query('body > p')184    _splitQueries: function(selector, node) {185        if (selector.indexOf(',') > -1) {186            selector = Y.Selector._replaceCommas(selector);187        }188        var groups = selector.split('\uE007'), // split on replaced comma token189            queries = [],190            prefix = '',191            id,192            i,...selector-native.js
Source:selector-native.js  
...168        selector = Y.Selector._restore('esc', selector, replaced.esc);169        return selector;170    },171    _replaceCommas: function(selector) {172        var replaced = Y.Selector._replaceSelector(selector),173            selector = replaced.selector;174        if (selector) {175            selector = selector.replace(/,/g, '\uE007');176            replaced.selector = selector;177            selector = Y.Selector._restoreSelector(replaced);178        }179        return selector;180    },181    // allows element scoped queries to begin with combinator182    // e.g. query('> p', document.body) === query('body > p')183    _splitQueries: function(selector, node) {184        if (selector.indexOf(',') > -1) {185            selector = Y.Selector._replaceCommas(selector);186        }187        var groups = selector.split('\uE007'), // split on replaced comma token188            queries = [],189            prefix = '',190            id,191            i,...constants.js
Source:constants.js  
1export const options = oceanwpLocalize;23export const DOM = {4    html: document.querySelector("html"),5    body: document.body,6    WPAdminbar: document.querySelector("#wpadminbar"),7    wrap: document.querySelector("#wrap"),8    main: document.querySelector("#main"),9    selectTags: document.querySelectorAll(options.customSelects),10    floatingBar: document.querySelector(".owp-floating-bar"),11    header: {12        site: document.querySelector("#site-header"),13        vertical: document.querySelector("#site-header.vertical-header #site-header-inner"),14        fullScreen: document.querySelector("#site-header.full_screen-header"),15        topbar: document.querySelector("#top-bar"),16        topbarWrapper: document.querySelector("#top-bar-wrap"),17        topLeftSide: document.querySelector("#site-header.top-header .header-top .left"),18        topRightSide: document.querySelector("#site-header.top-header .header-top .right"),19    },20    menu: {21        nav: document.querySelector("#site-header.header-replace #site-navigation"),22        main: document.querySelector(".main-menu"),23        fullScreen: {24            menu: document.querySelector("#site-header.full_screen-header #full-screen-menu"),25            toggleMenuBtn: document.querySelector("#site-header.full_screen-header .menu-bar"),26            logo: document.querySelector("#site-logo.has-full-screen-logo"),27        },28        mega: {29            menuItems: document.querySelectorAll("#site-navigation .megamenu-li.full-mega"),30            topbarMenuItems: document.querySelectorAll("#top-bar-nav .megamenu-li.full-mega"),31            menuContents: document.querySelectorAll(".navigation .megamenu-li.auto-mega .megamenu"),32        },33        vertical: {34            toggleMenuBtn: document.querySelector("a.vertical-toggle"),35        },36    },37    mobileMenu: {38        nav: document.querySelector("#mobile-dropdown > nav"),39        navWrapper: document.querySelector("#mobile-dropdown"),40        toggleMenuBtn: document.querySelector(".mobile-menu"),41        hamburgerBtn: document.querySelector(".mobile-menu > .hamburger"),42        menuItemsHasChildren: document.querySelectorAll("#mobile-dropdown .menu-item-has-children"),43        fullScreen: document.querySelector("#mobile-fullscreen"),44    },45    search: {46        forms: document.querySelectorAll("form.header-searchform"),47        dropDown: {48            toggleSearchBtn: document.querySelector("a.search-dropdown-toggle"),49            form: document.querySelector("#searchform-dropdown"),50        },51        headerReplace: {52            toggleSearchBtn: document.querySelector("a.search-header-replace-toggle"),53            closeBtn: document.querySelector("#searchform-header-replace-close"),54            form: document.querySelector("#searchform-header-replace"),55        },56        overlay: {57            toggleSearchBtn: document.querySelector("a.search-overlay-toggle"),58            closeBtn: document.querySelector("#searchform-overlay a.search-overlay-close"),59            form: document.querySelector("#searchform-overlay"),60        },61    },62    footer: {63        siteFooter: document.querySelector("#footer"),64        calloutFooter: document.querySelector("#footer-callout-wrap"),65        footerBar: document.querySelector("#footer-bar"),66        parallax: document.querySelector(".parallax-footer"),67    },68    scroll: {69        scrollTop: document.querySelector("#scroll-top"),70        goTop: document.querySelector('a[href="#go-top"]'),71        goTopSlash: document.querySelector('body.home a[href="/#go-top"]'),72        infiniteScrollNav: document.querySelector(".infinite-scroll-nav"),73        infiniteScrollWrapper: document.querySelector(".infinite-scroll-wrap"),74    },75    blog: {76        masonryGrids: document.querySelectorAll(".blog-masonry-grid"),77    },78    edd: {79        carts: document.querySelectorAll(".edd-menu-icon"),80        overlayCart: document.querySelector(".owp-cart-overlay"),81        totalPrices: document.querySelectorAll(".eddmenucart-details.total"),82        quickViewModal: document.querySelector("#owp-qv-wrap"),83        quickViewContent: document.querySelector("#owp-qv-content"),84    },85    woo: {86        resetVariations: document.querySelector(".reset_variations"),87        product: document.querySelector(".woocommerce div.product"),88        allProducts: document.querySelectorAll(".woocommerce ul.products"),89        categories: document.querySelectorAll(".woo-dropdown-cat .product-categories"),90        verticalThumbs: document.querySelectorAll(".owp-thumbs-layout-vertical"),91        thumbsVerticalLayout: document.querySelector(".owp-thumbs-layout-vertical"),92        grid: document.querySelector(".oceanwp-grid-list #oceanwp-grid"),93        list: document.querySelector(".oceanwp-grid-list #oceanwp-list"),94        productTabs: document.querySelector(".woocommerce div.product .woocommerce-tabs"),95        productCarts: document.querySelectorAll(".woocommerce div.product .cart"),96        productCustomerReviewLink: document.querySelector(".woocommerce div.product .woocommerce-review-link"),97        quantity: document.querySelector('input[name="quantity"]'),98        checkoutForm: document.querySelector("form.woocommerce-checkout"),99        checkoutLogin: document.querySelector("#checkout_login"),100        checkoutCoupon: document.querySelector("#checkout_coupon"),101        checkoutTimeline: document.querySelector("#owp-checkout-timeline"),102        customerBillingDetails: document.querySelector("#customer_billing_details"),103        customerShippingDetails: document.querySelector("#customer_shipping_details"),104        orderReview: document.querySelector("#order_review"),105        orderCheckoutPayment: document.querySelector("#order_checkout_payment"),106        placeOrder: document.querySelector("#place_order"),107        formActions: document.querySelector("#form_actions"),108        overlayCart: document.querySelector(".owp-cart-overlay"),109        guestAccountPageNav: document.querySelector(".owp-account-links"),110        guestAccountPageBox: document.querySelector("#customer_login"),111        quantityInputs: document.querySelectorAll(".quantity:not(.buttons_added) .qty"),112        quickView: {113            modal: document.querySelector("#owp-qv-wrap"),114            content: document.querySelector("#owp-qv-content"),115        },116    },117};118
...Using AI Code Generation
1import { Selector } from 'testcafe';2test('My first test', async t => {3        .typeText('#developer-name', 'John Smith')4        .click('#tried-test-cafe')5        .click(Selector('input').withAttribute('value', 'Submit'));6});7import { ClientFunction } from 'testcafe';8test('My test', async t => {9        .typeText('#developer-name', 'John Smith')10        .click('#submit-button');11    const getLocation = ClientFunction(() => document.location.href);12    await t.expect(getLocation()).contains('thank-you');13});14import { Selector } from 'testcafe';15test('My test', async t => {16        .typeText('#developer-name', 'John Smith')17        .click('#submit-button');18    const articleHeader = Selector('.result-content').find('h1');19    let headerText = await articleHeader.innerText;20    let id = await articleHeader.id;21    await t.expect(articleHeader.exists).ok();22    await t.expect(headerText).eql('Thank you, John Smith!');23});24import { Selector } from 'testcafe';25test('My test', async t => {26        .typeText('#developer-name', 'John Smith')27        .click('#submit-button')28        .debug();29});30import { Selector } from 'testcafe';31test('My test', async t => {Using AI Code Generation
1import { Selector } from 'testcafe';2test('My first test', async t => {3        .typeText('#developer-name', 'John Smith')4        .click('#submit-button');5});6const developerName = Selector('#developer-name');7const osOption = Selector('label').withText('MacOS');8const submitButton = Selector('#submit-button');9test('My first test', async t => {10        .typeText(developerName, 'John Smith')11        .click(osOption)12        .click(submitButton);13});14const articleHeader = Selector('.result-content').find('h3');15const getStartedButton = Selector('a').withAttribute('data-qa','get-started');16test('My first test', async t => {17        .click(getStartedButton)18        .expect(articleHeader.innerText).eql('Setting up TestCafe');19});20const slider = Selector('#slider');21test('My first test', async t => {22        .drag(slider, 360, 0, { offsetX: 10, offsetY: 10 });23});24const iframe = Selector('#frame');25const nestedInput = Selector('#input');26test('My first test', async t => {27        .switchToIframe(iframe)28        .typeText(nestedInput, 'Hello World!')29        .switchToMainWindow();30});31const button = Selector('button');32test('My first test', async t => {33        .click(button.withText('Click me'));34});Using AI Code Generation
1import { Selector } from 'testcafe';2test('My first test', async t => {3        .typeText('#developer-name', 'John Smith')4        .click('#submit-button')5        .expect(Selector('#article-header').innerText).eql('Thank you, John Smith!');6});7import { Selector, ClientFunction } from 'testcafe';8test('My first test', async t => {9        .typeText('#developer-name', 'John Smith')10        .click('#submit-button')11        .expect(Selector('#article-header').innerText).eql('Thank you, John Smith!');12});13import { Selector } from 'testcafe';14test('My first test', async t => {15        .typeText('#developer-name', 'John Smith')16        .click('#submit-button')17        .expect(Selector('#article-header').innerText).eql('Thank you, John Smith!');18});19import { Selector, ClientFunction } from 'testcafe';20test('My first test', async t => {21        .typeText('#developer-name', 'John Smith')22        .click('#submit-button')23        .expect(Selector('#article-header').innerText).eql('Thank you, John Smith!');24});25import { Selector } from 'testcafe';26test('Using AI Code Generation
1import { Selector } from 'testcafe';2test('My first test', async t => {3    const developerNameInput = Selector('#developer-name');4    const osOption = Selector('#macos');5    const submitButton = Selector('#submit-button');6        .typeText(developerNameInput, 'John Smith')7        .click(osOption)8        .click(submitButton);9});10 1 passed (2s)Using AI Code Generation
1import { Selector } from 'testcafe';2test('My first test', async t => {3        .typeText('#developer-name', 'John Smith')4        .click('#macos')5        .click('#submit-button');6});7import { Selector } from 'testcafe';8test('My first test', async t => {9        .typeText('#developer-name', 'John Smith')10        .click('#macos')11        .click('#submit-button');12    const articleHeader = Selector('.result-content').find('h1');13    let headerText = await articleHeader.innerText;14    let id = await articleHeader.id;15});16import { Selector } from 'testcafe';17test('My first test', async t => {18        .typeText('#developer-name', 'John Smith')19        .click('#macos')20        .click('#submit-button');21    const articleHeader = Selector('.result-content').find('h1');22    let headerText = await articleHeader.innerText;Using AI Code Generation
1import { Selector } from 'testcafe';2import { ClientFunction } from 'testcafe';3import { t } from 'testcafe';4test('My first test', async t => {5    const developerName = Selector('#developer-name');6    const getPageUrl = ClientFunction(() => window.location.href.toString());7        .typeText(developerName, 'John Smith')8        .click('#submit-button')9        .expect(getPageUrl()).contains('thank-you.html');10});11fixture `My fixture`;12test('My second test', async t => {13    const developerName = Selector('#developer-name');14    const getPageUrl = ClientFunction(() => window.location.href.toString());15        .typeText(developerName, 'John Smith')16        .click('#submit-button')17        .expect(getPageUrl()).contains('thank-you.html');18});19fixture `My fixture`;20test('My third test', async t => {21    const developerName = Selector('#developer-name');22    const getPageUrl = ClientFunction(() => window.location.href.toString());23        .typeText(developerName, 'John Smith')24        .click('#submit-button')25        .expect(getPageUrl()).contains('thank-you.html');26});27fixture `My fixture`;Using AI Code Generation
1import { Selector } from 'testcafe';2test('My first test', async t => {3        .typeText('#developer-name', 'John Smith')4        .click('#submit-button');5});6test('My second test', async t => {7        .typeText('#developer-name', 'John Smith')8        .click('#submit-button');9});10test('My third test', async t => {11        .typeText('#developer-name', 'John Smith')12        .click('#submit-button');13});14test('My fourth test', async t => {15        .typeText('#developer-name', 'John Smith')16        .click('#submit-button');17});18test('My fifth test', async t => {19        .typeText('#developer-name', 'John Smith')20        .click('#submit-button');21});22test('My sixth test', async t => {23        .typeText('#developer-name', 'John Smith')24        .click('#submit-button');25});26test('My seventh test', async t => {27        .typeText('#developer-name', 'John Smith')28        .click('#submit-button');29});30test('My eighth test', async t => {31        .typeText('#developer-name', 'John Smith')32        .click('#submit-button');33});34test('My ninth test', async t => {35        .typeText('#developer-name', 'John Smith')36        .click('#submit-button');37});38test('My tenth test', async t => {39        .typeText('#developer-name', 'John Smith')40        .click('#submit-button');41});42const developerName = Selector('#developer-name');43const osOption = Selector('#macos');44const submitButton = Selector('#submit-button');45test('My first test', async t => {46        .typeText(developerName, 'John Smith')47        .click(osOption)48        .click(submitButton);49});Using AI Code Generation
1import { Selector } from 'testcafe';2const nameInput = Selector('#developer-name');3const osOption = Selector('label').withText('MacOS');4import { ClientFunction } from 'testcafe';5const getPageUrl = ClientFunction(() => window.location.href);6import { t } from 'testcafe';7test('My first test', async t => {8        .typeText(nameInput, 'Peter Parker')9        .click(osOption)10        .click('#submit-button')11        .expect(getPageUrl()).contains('thank-you');12});13import { Selector } from 'testcafe';14const nameInput = Selector('#developer-name');15const osOption = Selector('label').withText('MacOS');16import { ClientFunction } from 'testcafe';17const getPageUrl = ClientFunction(() => window.location.href);18import { t } from 'testcafe';19test('My first test', async t => {20        .typeText(nameInput, 'Peter Parker')21        .click(osOption)22        .click('#submit-button')23        .expect(getPageUrl()).contains('thank-you');24});25import { Selector } from 'testcafe';26const nameInput = Selector('#developer-name');27const osOption = Selector('label').withText('MacOS');28import { ClientFunction } from 'testcafe';29const getPageUrl = ClientFunction(() => window.location.href);30import { t } from 'testcafe';31test('My first test', async t => {32        .typeText(nameInput, 'Peter Parker')33        .click(osOption)34        .click('#Using AI Code Generation
1import { Selector } from 'testcafe';2fixture('My fixture')3test('My test', async t => {4    .typeText(Selector('#developer-name'), 'John Smith')5    .click(Selector('#submit-button'));6});7import { Selector } from 'testcafe';8fixture('My fixture')9test('My test', async t => {10    .typeText(Selector('#developer-name'), 'John Smith')11    .click(Selector('#submit-button'));12});13import { Selector } from 'testcafe';14fixture('My fixture')15test('My test', async t => {16    .typeText(Selector('#developer-name'), 'John Smith')17    .click(Selector('#submit-button'));18});19import { Selector } from 'testcafe';20fixture('My fixture')21test('My test', async t => {22    .typeText(Selector('#developer-name'), 'John Smith')23    .click(Selector('#submit-button'));24});25import { Selector } from 'testcafe';26fixture('My fixture')27test('My test', async t => {28    .typeText(Selector('#developer-name'), 'John Smith')29    .click(Selector('#submit-button'));30});31import { Selector } from 'testcafe';32fixture('My fixture')33test('My test', async t => {34    .typeText(Selector('#developer-name'), 'John Smith')35    .click(Selector('#submit-button'));36});37import { Selector } from 'testcafe';38fixture('My fixture')Using AI Code Generation
1import { Selector } from 'testcafe';2import page from './pageModel';3fixture('Practica 1 con Testcafe')4test('Probar los elementos del formulario', async t => {5        .click(page.link2)6        .expect(page.input31.exists).ok()7        .expect(page.input32.exists).ok()8        .expect(page.input33.exists).ok()9        .expect(page.input34.exists).ok()10        .expect(page.input35.exists).ok()11});12export default {13    link2: Selector('a').withText('Form Authentication'),14    input31: Selector('#username'),15    input32: Selector('#password'),16    input33: Selector('button').withText('Login'),17    input34: Selector('#flash'),18    input35: Selector('a').withText('Logout')19}Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
