diff -r c7c34916027a -r 177826044cd9 wp/wp-includes/js/dist/priority-queue.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wp/wp-includes/js/dist/priority-queue.js Mon Oct 14 18:28:13 2019 +0200 @@ -0,0 +1,173 @@ +this["wp"] = this["wp"] || {}; this["wp"]["priorityQueue"] = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 346); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 346: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createQueue", function() { return createQueue; }); +var requestIdleCallback = window.requestIdleCallback ? window.requestIdleCallback : window.requestAnimationFrame; +/** + * Creates a context-aware queue that only executes + * the last task of a given context. + * + * @example + *```js + * import { createQueue } from '@wordpress/priority-queue'; + * + * const queue = createQueue(); + * + * // Context objects. + * const ctx1 = {}; + * const ctx2 = {}; + * + * // For a given context in the queue, only the last callback is executed. + * queue.add( ctx1, () => console.log( 'This will be printed first' ) ); + * queue.add( ctx2, () => console.log( 'This won\'t be printed' ) ); + * queue.add( ctx2, () => console.log( 'This will be printed second' ) ); + *``` + * + * @return {Object} Queue object with `add` and `flush` methods. + */ + +var createQueue = function createQueue() { + var waitingList = []; + var elementsMap = new WeakMap(); + var isRunning = false; + + var runWaitingList = function runWaitingList(deadline) { + do { + if (waitingList.length === 0) { + isRunning = false; + return; + } + + var nextElement = waitingList.shift(); + elementsMap.get(nextElement)(); + elementsMap.delete(nextElement); + } while (deadline && deadline.timeRemaining && deadline.timeRemaining() > 0); + + requestIdleCallback(runWaitingList); + }; + + var add = function add(element, item) { + if (!elementsMap.has(element)) { + waitingList.push(element); + } + + elementsMap.set(element, item); + + if (!isRunning) { + isRunning = true; + requestIdleCallback(runWaitingList); + } + }; + + var flush = function flush(element) { + if (!elementsMap.has(element)) { + return false; + } + + elementsMap.delete(element); + var index = waitingList.indexOf(element); + waitingList.splice(index, 1); + return true; + }; + + return { + add: add, + flush: flush + }; +}; + + +/***/ }) + +/******/ }); \ No newline at end of file