|
|
- /******/ (function() { // webpackBootstrap
- /******/ "use strict";
- /******/ // The require scope
- /******/ var __webpack_require__ = {};
- /******/
- /************************************************************************/
- /******/ /* webpack/runtime/define property getters */
- /******/ !function() {
- /******/ // define getter functions for harmony exports
- /******/ __webpack_require__.d = function(exports, definition) {
- /******/ for(var key in definition) {
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
- /******/ }
- /******/ }
- /******/ };
- /******/ }();
- /******/
- /******/ /* webpack/runtime/hasOwnProperty shorthand */
- /******/ !function() {
- /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
- /******/ }();
- /******/
- /******/ /* webpack/runtime/make namespace object */
- /******/ !function() {
- /******/ // 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 });
- /******/ };
- /******/ }();
- /******/
- /************************************************************************/
- var __webpack_exports__ = {};
- // ESM COMPAT FLAG
- __webpack_require__.r(__webpack_exports__);
-
- // EXPORTS
- __webpack_require__.d(__webpack_exports__, {
- __dangerousOptInToUnstableAPIsOnlyForCoreModules: function() { return /* reexport */ __dangerousOptInToUnstableAPIsOnlyForCoreModules; }
- });
-
- ;// CONCATENATED MODULE: ./node_modules/@wordpress/private-apis/build-module/implementation.js
- /**
- * wordpress/private-apis – the utilities to enable private cross-package
- * exports of private APIs.
- *
- * This "implementation.js" file is needed for the sake of the unit tests. It
- * exports more than the public API of the package to aid in testing.
- */
-
- /**
- * The list of core modules allowed to opt-in to the private APIs.
- */
- const CORE_MODULES_USING_PRIVATE_APIS = ['@wordpress/block-editor', '@wordpress/block-library', '@wordpress/blocks', '@wordpress/commands', '@wordpress/components', '@wordpress/core-commands', '@wordpress/core-data', '@wordpress/customize-widgets', '@wordpress/data', '@wordpress/edit-post', '@wordpress/edit-site', '@wordpress/edit-widgets', '@wordpress/editor', '@wordpress/patterns', '@wordpress/reusable-blocks', '@wordpress/router'];
-
- /**
- * A list of core modules that already opted-in to
- * the privateApis package.
- *
- * @type {string[]}
- */
- const registeredPrivateApis = [];
-
- /*
- * Warning for theme and plugin developers.
- *
- * The use of private developer APIs is intended for use by WordPress Core
- * and the Gutenberg plugin exclusively.
- *
- * Dangerously opting in to using these APIs is NOT RECOMMENDED. Furthermore,
- * the WordPress Core philosophy to strive to maintain backward compatibility
- * for third-party developers DOES NOT APPLY to private APIs.
- *
- * THE CONSENT STRING FOR OPTING IN TO THESE APIS MAY CHANGE AT ANY TIME AND
- * WITHOUT NOTICE. THIS CHANGE WILL BREAK EXISTING THIRD-PARTY CODE. SUCH A
- * CHANGE MAY OCCUR IN EITHER A MAJOR OR MINOR RELEASE.
- */
- const requiredConsent = 'I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.';
-
- /** @type {boolean} */
- let allowReRegistration;
- // The safety measure is meant for WordPress core where IS_WORDPRESS_CORE
- // is set to true.
- // For the general use-case, the re-registration should be allowed by default
- // Let's default to true, then. Try/catch will fall back to "true" even if the
- // environment variable is not explicitly defined.
- try {
- allowReRegistration = true ? false : 0;
- } catch (error) {
- allowReRegistration = true;
- }
-
- /**
- * Called by a @wordpress package wishing to opt-in to accessing or exposing
- * private private APIs.
- *
- * @param {string} consent The consent string.
- * @param {string} moduleName The name of the module that is opting in.
- * @return {{lock: typeof lock, unlock: typeof unlock}} An object containing the lock and unlock functions.
- */
- const __dangerousOptInToUnstableAPIsOnlyForCoreModules = (consent, moduleName) => {
- if (!CORE_MODULES_USING_PRIVATE_APIS.includes(moduleName)) {
- throw new Error(`You tried to opt-in to unstable APIs as module "${moduleName}". ` + 'This feature is only for JavaScript modules shipped with WordPress core. ' + 'Please do not use it in plugins and themes as the unstable APIs will be removed ' + 'without a warning. If you ignore this error and depend on unstable features, ' + 'your product will inevitably break on one of the next WordPress releases.');
- }
- if (!allowReRegistration && registeredPrivateApis.includes(moduleName)) {
- // This check doesn't play well with Story Books / Hot Module Reloading
- // and isn't included in the Gutenberg plugin. It only matters in the
- // WordPress core release.
- throw new Error(`You tried to opt-in to unstable APIs as module "${moduleName}" which is already registered. ` + 'This feature is only for JavaScript modules shipped with WordPress core. ' + 'Please do not use it in plugins and themes as the unstable APIs will be removed ' + 'without a warning. If you ignore this error and depend on unstable features, ' + 'your product will inevitably break on one of the next WordPress releases.');
- }
- if (consent !== requiredConsent) {
- throw new Error(`You tried to opt-in to unstable APIs without confirming you know the consequences. ` + 'This feature is only for JavaScript modules shipped with WordPress core. ' + 'Please do not use it in plugins and themes as the unstable APIs will removed ' + 'without a warning. If you ignore this error and depend on unstable features, ' + 'your product will inevitably break on the next WordPress release.');
- }
- registeredPrivateApis.push(moduleName);
- return {
- lock,
- unlock
- };
- };
-
- /**
- * Binds private data to an object.
- * It does not alter the passed object in any way, only
- * registers it in an internal map of private data.
- *
- * The private data can't be accessed by any other means
- * than the `unlock` function.
- *
- * @example
- * ```js
- * const object = {};
- * const privateData = { a: 1 };
- * lock( object, privateData );
- *
- * object
- * // {}
- *
- * unlock( object );
- * // { a: 1 }
- * ```
- *
- * @param {any} object The object to bind the private data to.
- * @param {any} privateData The private data to bind to the object.
- */
- function lock(object, privateData) {
- if (!object) {
- throw new Error('Cannot lock an undefined object.');
- }
- if (!(__private in object)) {
- object[__private] = {};
- }
- lockedData.set(object[__private], privateData);
- }
-
- /**
- * Unlocks the private data bound to an object.
- *
- * It does not alter the passed object in any way, only
- * returns the private data paired with it using the `lock()`
- * function.
- *
- * @example
- * ```js
- * const object = {};
- * const privateData = { a: 1 };
- * lock( object, privateData );
- *
- * object
- * // {}
- *
- * unlock( object );
- * // { a: 1 }
- * ```
- *
- * @param {any} object The object to unlock the private data from.
- * @return {any} The private data bound to the object.
- */
- function unlock(object) {
- if (!object) {
- throw new Error('Cannot unlock an undefined object.');
- }
- if (!(__private in object)) {
- throw new Error('Cannot unlock an object that was not locked before. ');
- }
- return lockedData.get(object[__private]);
- }
- const lockedData = new WeakMap();
-
- /**
- * Used by lock() and unlock() to uniquely identify the private data
- * related to a containing object.
- */
- const __private = Symbol('Private API ID');
-
- // Unit tests utilities:
-
- /**
- * Private function to allow the unit tests to allow
- * a mock module to access the private APIs.
- *
- * @param {string} name The name of the module.
- */
- function allowCoreModule(name) {
- CORE_MODULES_USING_PRIVATE_APIS.push(name);
- }
-
- /**
- * Private function to allow the unit tests to set
- * a custom list of allowed modules.
- */
- function resetAllowedCoreModules() {
- while (CORE_MODULES_USING_PRIVATE_APIS.length) {
- CORE_MODULES_USING_PRIVATE_APIS.pop();
- }
- }
- /**
- * Private function to allow the unit tests to reset
- * the list of registered private apis.
- */
- function resetRegisteredPrivateApis() {
- while (registeredPrivateApis.length) {
- registeredPrivateApis.pop();
- }
- }
-
- ;// CONCATENATED MODULE: ./node_modules/@wordpress/private-apis/build-module/index.js
-
-
- (window.wp = window.wp || {}).privateApis = __webpack_exports__;
- /******/ })()
- ;
|