2023-02-14 10:44:36 -05:00
/******/ ( 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 .
* /
2023-06-27 10:24:19 -04:00
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/router' ] ;
2023-02-14 10:44:36 -05:00
/ * *
* 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 plugin or theme will inevitably break on the next WordPress release.' ;
/** @type {boolean} */
2023-06-27 10:24:19 -04:00
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.
2023-02-14 10:44:36 -05:00
try {
2023-06-27 10:24:19 -04:00
allowReRegistration = true ? false : 0 ;
2023-02-14 10:44:36 -05:00
} catch ( error ) {
2023-06-27 10:24:19 -04:00
allowReRegistration = true ;
2023-02-14 10:44:36 -05:00
}
/ * *
* 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 _ _ ;
/******/ } ) ( )
;