Best JavaScript code snippet using playwright-internal
ReactPerf-test.js
Source:ReactPerf-test.js  
...71    ReactPerf.stop();72    // Make sure none of the methods crash.73    ReactPerf.getWasted();74    ReactPerf.getInclusive();75    ReactPerf.getExclusive();76    ReactPerf.getOperations();77    return ReactPerf.getLastMeasurements();78  }79  it('should count no-op update as waste', function() {80    var container = document.createElement('div');81    ReactDOM.render(<App />, container);82    var measurements = measure(() => {83      ReactDOM.render(<App />, container);84    });85    var summary = ReactPerf.getWasted(measurements);86    expect(summary).toEqual([{87      key: 'App',88      instanceCount: 1,89      inclusiveRenderDuration: 3,90      renderCount: 1,91    }, {92      key: 'App > Box',93      instanceCount: 2,94      inclusiveRenderDuration: 2,95      renderCount: 2,96    }]);97  });98  it('should count no-op update in child as waste', function() {99    var container = document.createElement('div');100    ReactDOM.render(<App />, container);101    // Here, we add a Box -- two of the <Box /> updates are wasted time (but the102    // addition of the third is not)103    var measurements = measure(() => {104      ReactDOM.render(<App flipSecond={true} />, container);105    });106    var summary = ReactPerf.getWasted(measurements);107    expect(summary).toEqual([{108      key: 'App > Box',109      instanceCount: 1,110      inclusiveRenderDuration: 1,111      renderCount: 1,112    }]);113  });114  function expectNoWaste(fn) {115    var measurements = measure(fn);116    var summary = ReactPerf.getWasted(measurements);117    expect(summary).toEqual([]);118  }119  it('should not count initial render as waste', function() {120    expectNoWaste(() => {121      ReactTestUtils.renderIntoDocument(<App />);122    });123  });124  it('should not count unmount as waste', function() {125    var container = document.createElement('div');126    ReactDOM.render(<Div>hello</Div>, container);127    expectNoWaste(() => {128      ReactDOM.unmountComponentAtNode(container);129    });130  });131  it('should not count content update as waste', function() {132    var container = document.createElement('div');133    ReactDOM.render(<Div>hello</Div>, container);134    expectNoWaste(() => {135      ReactDOM.render(<Div>hello world</Div>, container);136    });137  });138  it('should not count child addition as waste', function() {139    var container = document.createElement('div');140    ReactDOM.render(<Div><span /></Div>, container);141    expectNoWaste(() => {142      ReactDOM.render(<Div><span /><span /></Div>, container);143    });144  });145  it('should not count child removal as waste', function() {146    var container = document.createElement('div');147    ReactDOM.render(<Div><span /><span /></Div>, container);148    expectNoWaste(() => {149      ReactDOM.render(<Div><span /></Div>, container);150    });151  });152  it('should not count property update as waste', function() {153    var container = document.createElement('div');154    ReactDOM.render(<Div className="yellow">hey</Div>, container);155    expectNoWaste(() => {156      ReactDOM.render(<Div className="blue">hey</Div>, container);157    });158  });159  it('should not count style update as waste', function() {160    var container = document.createElement('div');161    ReactDOM.render(<Div style={{color: 'yellow'}}>hey</Div>, container);162    expectNoWaste(() => {163      ReactDOM.render(<Div style={{color: 'blue'}}>hey</Div>, container);164    });165  });166  it('should not count property removal as waste', function() {167    var container = document.createElement('div');168    ReactDOM.render(<Div className="yellow">hey</Div>, container);169    expectNoWaste(() => {170      ReactDOM.render(<Div>hey</Div>, container);171    });172  });173  it('should not count raw HTML update as waste', function() {174    var container = document.createElement('div');175    ReactDOM.render(176      <Div dangerouslySetInnerHTML={{__html: 'me'}} />,177      container178    );179    expectNoWaste(() => {180      ReactDOM.render(181        <Div dangerouslySetInnerHTML={{__html: 'you'}} />,182        container183      );184    });185  });186  it('should not count child reordering as waste', function() {187    var container = document.createElement('div');188    ReactDOM.render(<Div><div key="A" /><div key="B" /></Div>, container);189    expectNoWaste(() => {190      ReactDOM.render(<Div><div key="B" /><div key="A" /></Div>, container);191    });192  });193  it('should not count text update as waste', function() {194    var container = document.createElement('div');195    ReactDOM.render(<Div>{'hello'}{'world'}</Div>, container);196    expectNoWaste(() => {197      ReactDOM.render(<Div>{'hello'}{'friend'}</Div>, container);198    });199  });200  it('should not count replacing null with a host as waste', function() {201    var element = null;202    function Foo() {203      return element;204    }205    var container = document.createElement('div');206    ReactDOM.render(<Foo />, container);207    expectNoWaste(() => {208      element = <div />;209      ReactDOM.render(<Foo />, container);210    });211  });212  it('should not count replacing a host with null as waste', function() {213    var element = <div />;214    function Foo() {215      return element;216    }217    var container = document.createElement('div');218    ReactDOM.render(<Foo />, container);219    expectNoWaste(() => {220      element = null;221      ReactDOM.render(<Foo />, container);222    });223  });224  it('should include stats for components unmounted during measurement', function() {225    var container = document.createElement('div');226    var measurements = measure(() => {227      ReactDOM.render(<Div><Div key="a" /></Div>, container);228      ReactDOM.render(<Div><Div key="b" /></Div>, container);229    });230    expect(ReactPerf.getExclusive(measurements)).toEqual([{231      key: 'Div',232      instanceCount: 3,233      counts: { ctor: 3, render: 4 },234      durations: { ctor: 3, render: 4 },235      totalDuration: 7,236    }]);237  });238  it('should include lifecycle methods in measurements', function() {239    var container = document.createElement('div');240    var measurements = measure(() => {241      var instance = ReactDOM.render(<LifeCycle />, container);242      ReactDOM.render(<LifeCycle />, container);243      instance.setState({});244      ReactDOM.unmountComponentAtNode(container);245    });246    expect(ReactPerf.getExclusive(measurements)).toEqual([{247      key: 'LifeCycle',248      instanceCount: 1,249      totalDuration: 14,250      counts: {251        ctor: 1,252        shouldComponentUpdate: 2,253        componentWillMount: 1,254        componentDidMount: 1,255        componentWillReceiveProps: 1,256        componentWillUpdate: 2,257        componentDidUpdate: 2,258        componentWillUnmount: 1,259        render: 3,260      },261      durations: {262        ctor: 1,263        shouldComponentUpdate: 2,264        componentWillMount: 1,265        componentDidMount: 1,266        componentWillReceiveProps: 1,267        componentWillUpdate: 2,268        componentDidUpdate: 2,269        componentWillUnmount: 1,270        render: 3,271      },272    }]);273  });274  it('should include render time of functional components', function() {275    function Foo() {276      return null;277    }278    var container = document.createElement('div');279    var measurements = measure(() => {280      ReactDOM.render(<Foo />, container);281    });282    expect(ReactPerf.getExclusive(measurements)).toEqual([{283      key: 'Foo',284      instanceCount: 1,285      totalDuration: 1,286      counts: {287        render: 1,288      },289      durations: {290        render: 1,291      },292    }]);293  });294  it('should not count time in a portal towards lifecycle method', function() {295    function Foo() {296      return null;297    }298    var portalContainer = document.createElement('div');299    class Portal extends React.Component {300      componentDidMount() {301        ReactDOM.render(<Foo />, portalContainer);302      }303      render() {304        return null;305      }306    }307    var container = document.createElement('div');308    var measurements = measure(() => {309      ReactDOM.render(<Portal />, container);310    });311    expect(ReactPerf.getExclusive(measurements)).toEqual([{312      key: 'Portal',313      instanceCount: 1,314      totalDuration: 6,315      counts: {316        ctor: 1,317        componentDidMount: 1,318        render: 1,319      },320      durations: {321        ctor: 1,322        // We want to exclude nested imperative ReactDOM.render() from lifecycle hook's own time.323        // Otherwise it would artificially float to the top even though its exclusive time is small.324        // This is how we get 4 as a number with the performanceNow() mock:325        // - we capture the time we enter componentDidMount (n = 0)326        // - we capture the time when we enter a nested flush (n = 1)327        // - in the nested flush, we call it twice: before and after <Foo /> rendering. (n = 3)328        // - we capture the time when we exit a nested flush (n = 4)329        // - we capture the time we exit componentDidMount (n = 5)330        // Time spent in componentDidMount = (5 - 0 - (4 - 3)) = 4.331        componentDidMount: 4,332        render: 1,333      },334    }, {335      key: 'Foo',336      instanceCount: 1,337      totalDuration: 1,338      counts: {339        render: 1,340      },341      durations: {342        render: 1,343      },344    }]);345  });346  it('warns once when using getMeasurementsSummaryMap', function() {347    var measurements = measure(() => {});348    spyOn(console, 'error');349    ReactPerf.getMeasurementsSummaryMap(measurements);350    expect(console.error.calls.count()).toBe(1);351    expect(console.error.calls.argsFor(0)[0]).toContain(352      '`ReactPerf.getMeasurementsSummaryMap(...)` is deprecated. Use ' +353      '`ReactPerf.getWasted(...)` instead.'354    );355    ReactPerf.getMeasurementsSummaryMap(measurements);356    expect(console.error.calls.count()).toBe(1);357  });358  it('warns once when using printDOM', function() {359    var measurements = measure(() => {});360    spyOn(console, 'error');361    ReactPerf.printDOM(measurements);362    expect(console.error.calls.count()).toBe(1);363    expect(console.error.calls.argsFor(0)[0]).toContain(364      '`ReactPerf.printDOM(...)` is deprecated. Use ' +365      '`ReactPerf.printOperations(...)` instead.'366    );367    ReactPerf.printDOM(measurements);368    expect(console.error.calls.count()).toBe(1);369  });370  it('returns isRunning state', () => {371    expect(ReactPerf.isRunning()).toBe(false);372    ReactPerf.start();373    expect(ReactPerf.isRunning()).toBe(true);374    ReactPerf.stop();375    expect(ReactPerf.isRunning()).toBe(false);376  });377  it('start has no effect when already running', () => {378    expect(ReactPerf.isRunning()).toBe(false);379    ReactPerf.start();380    expect(ReactPerf.isRunning()).toBe(true);381    ReactPerf.start();382    expect(ReactPerf.isRunning()).toBe(true);383    ReactPerf.stop();384    expect(ReactPerf.isRunning()).toBe(false);385  });386  it('stop has no effect when already stopped', () => {387    expect(ReactPerf.isRunning()).toBe(false);388    ReactPerf.stop();389    expect(ReactPerf.isRunning()).toBe(false);390    ReactPerf.stop();391    expect(ReactPerf.isRunning()).toBe(false);392  });393  it('should print console error only once', () => {394    __DEV__ = false;395    spyOn(console, 'error');396    expect(ReactPerf.getLastMeasurements()).toEqual([]);397    expect(ReactPerf.getExclusive()).toEqual([]);398    expect(ReactPerf.getInclusive()).toEqual([]);399    expect(ReactPerf.getWasted()).toEqual([]);400    expect(ReactPerf.getOperations()).toEqual([]);401    expect(ReactPerf.printExclusive()).toEqual(undefined);402    expect(ReactPerf.printInclusive()).toEqual(undefined);403    expect(ReactPerf.printWasted()).toEqual(undefined);404    expect(ReactPerf.printOperations()).toEqual(undefined);405    expect(ReactPerf.start()).toBe(undefined);406    expect(ReactPerf.stop()).toBe(undefined);407    expect(ReactPerf.isRunning()).toBe(false);408    expect(console.error.calls.count()).toBe(1);409    __DEV__ = true;410  });411  it('should work when measurement starts during reconciliation', () => {...ReactPerf.js
Source:ReactPerf.js  
...36      return [];37    }38    return ReactDebugTool.getFlushHistory();39  }40  function getExclusive() {41    var flushHistory = arguments.length <= 0 || arguments[0] === undefined ? getLastMeasurements() : arguments[0];42    if (!(process.env.NODE_ENV !== 'production')) {43      warnInProduction();44      return [];45    }46    var aggregatedStats = {};47    var affectedIDs = {};48    function updateAggregatedStats(treeSnapshot, instanceID, timerType, applyUpdate) {49      var displayName = treeSnapshot[instanceID].displayName;50      var key = displayName;51      var stats = aggregatedStats[key];52      if (!stats) {53        affectedIDs[key] = {};54        stats = aggregatedStats[key] = {55          key: key,56          instanceCount: 0,57          counts: {},58          durations: {},59          totalDuration: 060        };61      }62      if (!stats.durations[timerType]) {63        stats.durations[timerType] = 0;64      }65      if (!stats.counts[timerType]) {66        stats.counts[timerType] = 0;67      }68      affectedIDs[key][instanceID] = true;69      applyUpdate(stats);70    }71    flushHistory.forEach(function(flush) {72      var measurements = flush.measurements;73      var treeSnapshot = flush.treeSnapshot;74      measurements.forEach(function(measurement) {75        var duration = measurement.duration;76        var instanceID = measurement.instanceID;77        var timerType = measurement.timerType;78        updateAggregatedStats(treeSnapshot, instanceID, timerType, function(stats) {79          stats.totalDuration += duration;80          stats.durations[timerType] += duration;81          stats.counts[timerType]++;82        });83      });84    });85    return Object.keys(aggregatedStats).map(function(key) {86      return _extends({}, aggregatedStats[key], {instanceCount: Object.keys(affectedIDs[key]).length});87    }).sort(function(a, b) {88      return b.totalDuration - a.totalDuration;89    });90  }91  function getInclusive() {92    var flushHistory = arguments.length <= 0 || arguments[0] === undefined ? getLastMeasurements() : arguments[0];93    if (!(process.env.NODE_ENV !== 'production')) {94      warnInProduction();95      return [];96    }97    var aggregatedStats = {};98    var affectedIDs = {};99    function updateAggregatedStats(treeSnapshot, instanceID, applyUpdate) {100      var _treeSnapshot$instanc = treeSnapshot[instanceID];101      var displayName = _treeSnapshot$instanc.displayName;102      var ownerID = _treeSnapshot$instanc.ownerID;103      var owner = treeSnapshot[ownerID];104      var key = (owner ? owner.displayName + ' > ' : '') + displayName;105      var stats = aggregatedStats[key];106      if (!stats) {107        affectedIDs[key] = {};108        stats = aggregatedStats[key] = {109          key: key,110          instanceCount: 0,111          inclusiveRenderDuration: 0,112          renderCount: 0113        };114      }115      affectedIDs[key][instanceID] = true;116      applyUpdate(stats);117    }118    var isCompositeByID = {};119    flushHistory.forEach(function(flush) {120      var measurements = flush.measurements;121      measurements.forEach(function(measurement) {122        var instanceID = measurement.instanceID;123        var timerType = measurement.timerType;124        if (timerType !== 'render') {125          return;126        }127        isCompositeByID[instanceID] = true;128      });129    });130    flushHistory.forEach(function(flush) {131      var measurements = flush.measurements;132      var treeSnapshot = flush.treeSnapshot;133      measurements.forEach(function(measurement) {134        var duration = measurement.duration;135        var instanceID = measurement.instanceID;136        var timerType = measurement.timerType;137        if (timerType !== 'render') {138          return;139        }140        updateAggregatedStats(treeSnapshot, instanceID, function(stats) {141          stats.renderCount++;142        });143        var nextParentID = instanceID;144        while (nextParentID) {145          if (isCompositeByID[nextParentID]) {146            updateAggregatedStats(treeSnapshot, nextParentID, function(stats) {147              stats.inclusiveRenderDuration += duration;148            });149          }150          nextParentID = treeSnapshot[nextParentID].parentID;151        }152      });153    });154    return Object.keys(aggregatedStats).map(function(key) {155      return _extends({}, aggregatedStats[key], {instanceCount: Object.keys(affectedIDs[key]).length});156    }).sort(function(a, b) {157      return b.inclusiveRenderDuration - a.inclusiveRenderDuration;158    });159  }160  function getWasted() {161    var flushHistory = arguments.length <= 0 || arguments[0] === undefined ? getLastMeasurements() : arguments[0];162    if (!(process.env.NODE_ENV !== 'production')) {163      warnInProduction();164      return [];165    }166    var aggregatedStats = {};167    var affectedIDs = {};168    function updateAggregatedStats(treeSnapshot, instanceID, applyUpdate) {169      var _treeSnapshot$instanc2 = treeSnapshot[instanceID];170      var displayName = _treeSnapshot$instanc2.displayName;171      var ownerID = _treeSnapshot$instanc2.ownerID;172      var owner = treeSnapshot[ownerID];173      var key = (owner ? owner.displayName + ' > ' : '') + displayName;174      var stats = aggregatedStats[key];175      if (!stats) {176        affectedIDs[key] = {};177        stats = aggregatedStats[key] = {178          key: key,179          instanceCount: 0,180          inclusiveRenderDuration: 0,181          renderCount: 0182        };183      }184      affectedIDs[key][instanceID] = true;185      applyUpdate(stats);186    }187    flushHistory.forEach(function(flush) {188      var measurements = flush.measurements;189      var treeSnapshot = flush.treeSnapshot;190      var operations = flush.operations;191      var isDefinitelyNotWastedByID = {};192      operations.forEach(function(operation) {193        var instanceID = operation.instanceID;194        var nextParentID = instanceID;195        while (nextParentID) {196          isDefinitelyNotWastedByID[nextParentID] = true;197          nextParentID = treeSnapshot[nextParentID].parentID;198        }199      });200      var renderedCompositeIDs = {};201      measurements.forEach(function(measurement) {202        var instanceID = measurement.instanceID;203        var timerType = measurement.timerType;204        if (timerType !== 'render') {205          return;206        }207        renderedCompositeIDs[instanceID] = true;208      });209      measurements.forEach(function(measurement) {210        var duration = measurement.duration;211        var instanceID = measurement.instanceID;212        var timerType = measurement.timerType;213        if (timerType !== 'render') {214          return;215        }216        var updateCount = treeSnapshot[instanceID].updateCount;217        if (isDefinitelyNotWastedByID[instanceID] || updateCount === 0) {218          return;219        }220        updateAggregatedStats(treeSnapshot, instanceID, function(stats) {221          stats.renderCount++;222        });223        var nextParentID = instanceID;224        while (nextParentID) {225          var isWasted = renderedCompositeIDs[nextParentID] && !isDefinitelyNotWastedByID[nextParentID];226          if (isWasted) {227            updateAggregatedStats(treeSnapshot, nextParentID, function(stats) {228              stats.inclusiveRenderDuration += duration;229            });230          }231          nextParentID = treeSnapshot[nextParentID].parentID;232        }233      });234    });235    return Object.keys(aggregatedStats).map(function(key) {236      return _extends({}, aggregatedStats[key], {instanceCount: Object.keys(affectedIDs[key]).length});237    }).sort(function(a, b) {238      return b.inclusiveRenderDuration - a.inclusiveRenderDuration;239    });240  }241  function getOperations() {242    var flushHistory = arguments.length <= 0 || arguments[0] === undefined ? getLastMeasurements() : arguments[0];243    if (!(process.env.NODE_ENV !== 'production')) {244      warnInProduction();245      return [];246    }247    var stats = [];248    flushHistory.forEach(function(flush, flushIndex) {249      var operations = flush.operations;250      var treeSnapshot = flush.treeSnapshot;251      operations.forEach(function(operation) {252        var instanceID = operation.instanceID;253        var type = operation.type;254        var payload = operation.payload;255        var _treeSnapshot$instanc3 = treeSnapshot[instanceID];256        var displayName = _treeSnapshot$instanc3.displayName;257        var ownerID = _treeSnapshot$instanc3.ownerID;258        var owner = treeSnapshot[ownerID];259        var key = (owner ? owner.displayName + ' > ' : '') + displayName;260        stats.push({261          flushIndex: flushIndex,262          instanceID: instanceID,263          key: key,264          type: type,265          ownerID: ownerID,266          payload: payload267        });268      });269    });270    return stats;271  }272  function printExclusive(flushHistory) {273    if (!(process.env.NODE_ENV !== 'production')) {274      warnInProduction();275      return;276    }277    var stats = getExclusive(flushHistory);278    var table = stats.map(function(item) {279      var key = item.key;280      var instanceCount = item.instanceCount;281      var totalDuration = item.totalDuration;282      var renderCount = item.counts.render || 0;283      var renderDuration = item.durations.render || 0;284      return {285        'Component': key,286        'Total time (ms)': roundFloat(totalDuration),287        'Instance count': instanceCount,288        'Total render time (ms)': roundFloat(renderDuration),289        'Average render time (ms)': renderCount ? roundFloat(renderDuration / renderCount) : undefined,290        'Render count': renderCount,291        'Total lifecycle time (ms)': roundFloat(totalDuration - renderDuration)...page.js
Source:page.js  
...18                current: 119            }20        },21        mounted() {22            this.getExclusive(1);23        },24        methods: {25            getExclusive(currentPage) {26                var that = this;27                that.loading = true;28                that.current = currentPage || that.current;29                $("#exclusive").find(".showAnimate").hide();30                $.ajaxForJson(config.wwwPath + "tenderAjax", {31                    cglx: $(".tender_type_wrap[data-type='cglx']").find("li.active").attr("data-id"),32                    cgzt: $(".tender_type_wrap[data-type='cgzt']").find("li.active").attr("data-id"),33                    cgfs: $(".tender_type_wrap[data-type='cgfs']").find("li.active").attr("data-id"),34                    stype: $(".tender_search").find("dl dd.act").attr("data-id"),35                    sword: $(".tender_search").find("input.tender_search_input").val(),36                    sort: $("ul[name='sort']").find("li.active").attr("data-id"),37                    p: that.current38                }, function (dataObj) {39                    if (dataObj.code == 2000) {40                        that.count = dataObj.data.count;41                        that.list = dataObj.data.data;42                        $("#exclusive").find(".showAnimate").show();43                    }44                    that.loading = false;45                });46            },47            showTips(val) {48                $.msgTips({49                    type: "warning",50                    content: val51                });52            }53        }54    });55    //éæ©ç±»å56    $("div.tender_type_wrap li a").unbind().bind("click", function () {57        var main = $(this);58        main.parents(".tender_type_wrap").find("li").removeClass("active");59        main.parent().addClass("active");60        vm.getExclusive(1);61        return false;62    });63    //éæ©æç´¢ç±»å64    $(".tender_search").find("dd").unbind().bind("click", function () {65        $(".tender_search").find("dd").removeClass("act");66        $(this).addClass("act");67        $(".tender_search_sel > span").html($(this).html());68        $(".tender_search").find("dl").hide();69    });70    $(".tender_search_sel").unbind().bind({71        "mouseover": function () {72            $(".tender_search_sel").find("dl").show();73        },74        "mouseleave": function () {75            $(".tender_search_sel").find("dl").hide();76        }77    });78    //ç¹å»æç´¢äºä»¶79    $(".tender_search").find("a.tender_search_btn").unbind().bind("click", function () {80        vm.getExclusive(1);81        return false;82    });83    //æ¸
空æç´¢84    $(".tender_select").find("a.tender_clear_btn").unbind().bind("click", function () {85        $(".tender_search").find("input.tender_search_input").val("");86        vm.getExclusive(1);87        return false;88    });89    //å车äºä»¶90    $(".tender_search").find("input.tender_search_input").unbind().bind("keyup", function (event) {91        if (event.keyCode == "13") {92            $(".tender_search").find("a.tender_search_btn").triggerHandler("click");93            return false;94        }95    });96    //æåºäºä»¶97    $("ul[name='sort']").find("li a").unbind().bind("click", function () {98        var main = $(this);99        $("ul[name='sort']").find("li").removeClass("active");100        main.parent().addClass("active");101        vm.getExclusive(1);102        return false;103    });...index.js
Source:index.js  
...37        case '/':38          getAll(storageItems);39          break;40        case '/exclusivos':41          getExclusive(storageItems);42          break;43        case '/promocao':44          getPromotion(storageItems);45          break;46        case '/favoritos':47          getFavorite(storageItems);48          break;49        default:50          break;51      }52      setLoading(false);53    }54    loadItems();55  }, [...shareController.js
Source:shareController.js  
1var e = require("../models/models.js"), n = require("../interfaces/shareITF.js"), t = {2    getExclusive: function(t) {3        return n.getExclusive(t).then(function(e) {4            return Promise.resolve(e);5        }, e.failHandle);6    },7    getExclusiveCoupon: function(t) {8        return n.getExclusiveCoupon(t).then(function(e) {9            e.data = e.data || {};10            var n = [], t = e.data.coupon_list || {};11            return Object.keys(t).forEach(function(e) {12                n.push(t[e]);13            }), n.forEach(function(e, t) {14                var o = [];15                e.coupon_content && o.push("· " + e.coupon_content), e.coupon_date && o.push("· " + e.coupon_date), 16                n[t] = {17                    usable: !0,...search.js
Source:search.js  
...34    method: 'get',35  })36}37// è·å该æç´¢è¯çä¸å±è¯æ¡ï¼å¾å¾æ¯ä¸äºè¯æ±æå¯¹åºçacgä½ååç§°ï¼38function getExclusive(param) {39  return axios({40    url: `/keywords/${format(param)}/suggestions`,41    method: 'get',42  })43}44function getTranslations(param) {45  return axios({46    url: `/keywords/${format(param)}/translations`,47    method: 'get',48  })49}50// å¾çä¸ä¼ 51function uploadImg(data, params) {52  return axios({...service.js
Source:service.js  
1const tools = require('../tools');2const userService = require('../user/service');3const SapiError = require('../../sapi').SapiError;4const ObjectId = require('mongodb').ObjectId;5var debug = require('debug')('app:service');6debug.log = console.log.bind(console);7const dbReset = (db) => {8  return db.dropCollection('appdata')9    .catch((err) => { console.log(err) })10    .then(() => db.createCollection('appdata'))11    .then(() => db.collection('appdata')12      .createIndex(13      { lobbyId: 1, exclusive: 1 },14      { unique: true }15      ))16    .then(() => db.collection('appdata')17      .createIndex(18      { lobbyId: 1, name: 1 },19      { unique: true }20      ));21}22const destroyAppdata = (db, lobbyId, name = null) => {23  var query;24  if (name) {25    debug('Destroy app %s for %s', name, lobbyId);26    query = { lobbyId: lobbyId, name: name };27  }28  else {29    debug('Destroy all apps for %s', lobbyId);30    query = { lobbyId: lobbyId };31  }32  return db.collection('appdata')33    .deleteOne(query)34    .then(cmdRes => (cmdRes.result.ok == 1 && cmdRes.result.n == 1) ?35      Promise.resolve() : Promise.reject("Not deleted"));36}37const commitAppdata = (db, appdata) =>38  db.collection('appdata').updateOne(39    { lobbyId: appdata.lobbyId },40    { $set: appdata },41    { upsert: true }42  );43const getByLobbyIdAndName = (db, lobbyId, name) =>44  db.collection('appdata').findOne({45    lobbyId: lobbyId,46    name: name47  })48const getList = (db, lobbyId) => {49  return db.collection('appdata')50    .find({ lobbyId: lobbyId })51    .toArray();52}53const getMap = (db, lobbyId) => getList(db, lobbyId)54  .then(appdataList => appdataList.reduce(55    (accum, curr) => {56      accum[curr.name] = curr;57      return accum;58    }, {}))59const getExclusive = (db, lobbyId) =>60  db.collection('appdata')61    .findOne({ lobbyId: lobbyId, exclusive: true })62    .then(app =>63      app ? Promise.resolve(app) : Promise.reject("No exclusive map")64    );65module.exports = {66  dbReset,67  getByLobbyIdAndName,68  getList,69  getMap,70  getExclusive,71  commitAppdata,72  destroyAppdata...shapeMeasurements.js
Source:shapeMeasurements.js  
...38  const output = JSON.parse(JSON.stringify(placeToStoreValueTemporarily));39  placeToStoreValueTemporarily = null;40  return output;41}42export function getExclusive(measurements) {43  mockConsole.mock(callbacks);44  Perf.printExclusive(measurements);45  mockConsole.restore();46  const output = JSON.parse(JSON.stringify(placeToStoreValueTemporarily));47  placeToStoreValueTemporarily = null;48  return output;49}50export default {51  getWasted,52  getDOM,53  getInclusive,54  getExclusive,...Using AI Code Generation
1const playwright = require('playwright');2(async () => {3  const browser = await playwright.chromium.launch();4  const context = await browser.newContext();5  const page = await context.newPage();6  const exclusive = await page._delegate.getExclusive();7  console.log(exclusive);8  await browser.close();9})();Using AI Code Generation
1const { getExclusive } = require('playwright/lib/server/chromium/crBrowser');2const browser = await chromium.launch();3const context = await browser.newContext();4const page = await context.newPage();5const exclusive = await getExclusive(page);6const exclusivePage = await exclusive.newPage();Using AI Code Generation
1const { getExclusive } = require('playwright/lib/server/chromium/crBrowser');2const { chromium } = require('playwright');3(async () => {4  const browser = await chromium.launch();5  const page = await browser.newPage();6  const exclusive = await getExclusive(page);7  const exclusivePage = await exclusive.newPage();8  await browser.close();9})();10const { test, expect } = require('@playwright/test');11const { getExclusive } = require('playwright/lib/server/chromium/crBrowser');12test.describe('Exclusive context', () => {13  test('should open an exclusive browser context', async ({ browser }) => {14    const exclusive = await getExclusive(browser);15    const exclusivePage = await exclusive.newPage();16    const title = await exclusivePage.title();17    expect(title).toBe('Google');18  });19});20const { test, expect } = require('@playwright/test');21const { getExclusive } = require('playwright/lib/server/chromium/crBrowser');22test.describe('Exclusive context', () => {23  test('should open an exclusive browser context', async ({ browser }) => {24    const exclusive = await getExclusive(browser);25    const exclusivePage = await exclusive.newPage();26    const title = await exclusivePage.title();27    expect(title).toBe('Google');28  });29});30module.exports = {31    {32      use: {33      },34    },35};36{37  "scripts": {38  },39  "devDependencies": {40  }41}42const { test, expect } = require('@Using AI Code Generation
1const { getExclusive } = require('playwright/lib/server/browserType');2(async () => {3  const browser = await getExclusive('chromium');4  const context = await browser.newContext();5  const page = await context.newPage();6  await page.screenshot({ path: 'example.png' });7  await browser.close();8})();9    at BrowserType.getExclusive (node_modules/playwright/lib/server/browserType.js:66:22)10    at Object.<anonymous> (test.js:3:22)11    at Module._compile (internal/modules/cjs/loader.js:1137:30)12    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)13    at Module.load (internal/modules/cjs/loader.js:986:32)14    at Function.Module._load (internal/modules/cjs/loader.js:879:14)15    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)Using AI Code Generation
1const { getExclusive } = require('playwright');2const { chromium } = require('playwright');3(async () => {4  const browser = await getExclusive(chromium);5  const context = await browser.newContext();6  const page = await context.newPage();7  await browser.close();8})();9### getExclusive(browserType: BrowserType, options?: Options): Promise\<Browser\>10[Apache 2.0](LICENSE)Using AI Code Generation
1const { getExclusive } = require('playwright/lib/server/browserType');2const { chromium } = require('playwright');3(async () => {4  const browser1 = await chromium.launch();5  const browser2 = await chromium.launch();6  const page1 = await getExclusive(browser1, 'Page');7  const page2 = await getExclusive(browser2, 'Page');8  await page1.setContent(`<button>Click me</button>`);9  await page2.setContent(`<button>Click me</button>`);10  await Promise.all([11    page1.waitForEvent('dialog'),12    page2.waitForEvent('dialog'),13    page1.click('button'),14  ]);15  await browser1.close();16  await browser2.close();17})();18const browser = await chromium.launch();19const page1 = await browser.newPage();20const page2 = await browser.newPage();21const page = await browser.newPage();22const context1 = await page.context();23const context2 = await page.context();LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!
