Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-inclu.../js/dist
File: interactivity.js
* ```
[500] Fix | Delete
*
[501] Fix | Delete
* @param name Directive name, without the `data-wp-` prefix.
[502] Fix | Delete
* @param callback Function that runs the directive logic.
[503] Fix | Delete
* @param options Options object.
[504] Fix | Delete
* @param options.priority Option to control the directive execution order. The
[505] Fix | Delete
* lesser, the highest priority. Default is `10`.
[506] Fix | Delete
*/
[507] Fix | Delete
const directive = (name, callback, {
[508] Fix | Delete
priority = 10
[509] Fix | Delete
} = {}) => {
[510] Fix | Delete
directiveCallbacks[name] = callback;
[511] Fix | Delete
directivePriorities[name] = priority;
[512] Fix | Delete
};
[513] Fix | Delete
[514] Fix | Delete
// Resolve the path to some property of the store object.
[515] Fix | Delete
const resolve = (path, namespace) => {
[516] Fix | Delete
if (!namespace) {
[517] Fix | Delete
warn(`Namespace missing for "${path}". The value for that path won't be resolved.`);
[518] Fix | Delete
return;
[519] Fix | Delete
}
[520] Fix | Delete
let resolvedStore = stores.get(namespace);
[521] Fix | Delete
if (typeof resolvedStore === 'undefined') {
[522] Fix | Delete
resolvedStore = store(namespace, undefined, {
[523] Fix | Delete
lock: universalUnlock
[524] Fix | Delete
});
[525] Fix | Delete
}
[526] Fix | Delete
const current = {
[527] Fix | Delete
...resolvedStore,
[528] Fix | Delete
context: getScope().context[namespace]
[529] Fix | Delete
};
[530] Fix | Delete
try {
[531] Fix | Delete
// TODO: Support lazy/dynamically initialized stores
[532] Fix | Delete
return path.split('.').reduce((acc, key) => acc[key], current);
[533] Fix | Delete
} catch (e) {}
[534] Fix | Delete
};
[535] Fix | Delete
[536] Fix | Delete
// Generate the evaluate function.
[537] Fix | Delete
const getEvaluate = ({
[538] Fix | Delete
scope
[539] Fix | Delete
}) => (entry, ...args) => {
[540] Fix | Delete
let {
[541] Fix | Delete
value: path,
[542] Fix | Delete
namespace
[543] Fix | Delete
} = entry;
[544] Fix | Delete
if (typeof path !== 'string') {
[545] Fix | Delete
throw new Error('The `value` prop should be a string path');
[546] Fix | Delete
}
[547] Fix | Delete
// If path starts with !, remove it and save a flag.
[548] Fix | Delete
const hasNegationOperator = path[0] === '!' && !!(path = path.slice(1));
[549] Fix | Delete
setScope(scope);
[550] Fix | Delete
const value = resolve(path, namespace);
[551] Fix | Delete
const result = typeof value === 'function' ? value(...args) : value;
[552] Fix | Delete
resetScope();
[553] Fix | Delete
return hasNegationOperator ? !result : result;
[554] Fix | Delete
};
[555] Fix | Delete
[556] Fix | Delete
// Separate directives by priority. The resulting array contains objects
[557] Fix | Delete
// of directives grouped by same priority, and sorted in ascending order.
[558] Fix | Delete
const getPriorityLevels = directives => {
[559] Fix | Delete
const byPriority = Object.keys(directives).reduce((obj, name) => {
[560] Fix | Delete
if (directiveCallbacks[name]) {
[561] Fix | Delete
const priority = directivePriorities[name];
[562] Fix | Delete
(obj[priority] = obj[priority] || []).push(name);
[563] Fix | Delete
}
[564] Fix | Delete
return obj;
[565] Fix | Delete
}, {});
[566] Fix | Delete
return Object.entries(byPriority).sort(([p1], [p2]) => parseInt(p1) - parseInt(p2)).map(([, arr]) => arr);
[567] Fix | Delete
};
[568] Fix | Delete
[569] Fix | Delete
// Component that wraps each priority level of directives of an element.
[570] Fix | Delete
const Directives = ({
[571] Fix | Delete
directives,
[572] Fix | Delete
priorityLevels: [currentPriorityLevel, ...nextPriorityLevels],
[573] Fix | Delete
element,
[574] Fix | Delete
originalProps,
[575] Fix | Delete
previousScope
[576] Fix | Delete
}) => {
[577] Fix | Delete
// Initialize the scope of this element. These scopes are different per each
[578] Fix | Delete
// level because each level has a different context, but they share the same
[579] Fix | Delete
// element ref, state and props.
[580] Fix | Delete
const scope = hooks_module_F({}).current;
[581] Fix | Delete
scope.evaluate = hooks_module_x(getEvaluate({
[582] Fix | Delete
scope
[583] Fix | Delete
}), []);
[584] Fix | Delete
scope.context = hooks_module_P(context);
[585] Fix | Delete
/* eslint-disable react-hooks/rules-of-hooks */
[586] Fix | Delete
scope.ref = previousScope?.ref || hooks_module_F(null);
[587] Fix | Delete
/* eslint-enable react-hooks/rules-of-hooks */
[588] Fix | Delete
[589] Fix | Delete
// Create a fresh copy of the vnode element and add the props to the scope,
[590] Fix | Delete
// named as attributes (HTML Attributes).
[591] Fix | Delete
element = E(element, {
[592] Fix | Delete
ref: scope.ref
[593] Fix | Delete
});
[594] Fix | Delete
scope.attributes = element.props;
[595] Fix | Delete
[596] Fix | Delete
// Recursively render the wrapper for the next priority level.
[597] Fix | Delete
const children = nextPriorityLevels.length > 0 ? _(Directives, {
[598] Fix | Delete
directives,
[599] Fix | Delete
priorityLevels: nextPriorityLevels,
[600] Fix | Delete
element,
[601] Fix | Delete
originalProps,
[602] Fix | Delete
previousScope: scope
[603] Fix | Delete
}) : element;
[604] Fix | Delete
const props = {
[605] Fix | Delete
...originalProps,
[606] Fix | Delete
children
[607] Fix | Delete
};
[608] Fix | Delete
const directiveArgs = {
[609] Fix | Delete
directives,
[610] Fix | Delete
props,
[611] Fix | Delete
element,
[612] Fix | Delete
context,
[613] Fix | Delete
evaluate: scope.evaluate
[614] Fix | Delete
};
[615] Fix | Delete
setScope(scope);
[616] Fix | Delete
for (const directiveName of currentPriorityLevel) {
[617] Fix | Delete
const wrapper = directiveCallbacks[directiveName]?.(directiveArgs);
[618] Fix | Delete
if (wrapper !== undefined) {
[619] Fix | Delete
props.children = wrapper;
[620] Fix | Delete
}
[621] Fix | Delete
}
[622] Fix | Delete
resetScope();
[623] Fix | Delete
return props.children;
[624] Fix | Delete
};
[625] Fix | Delete
[626] Fix | Delete
// Preact Options Hook called each time a vnode is created.
[627] Fix | Delete
const old = preact_module_l.vnode;
[628] Fix | Delete
preact_module_l.vnode = vnode => {
[629] Fix | Delete
if (vnode.props.__directives) {
[630] Fix | Delete
const props = vnode.props;
[631] Fix | Delete
const directives = props.__directives;
[632] Fix | Delete
if (directives.key) {
[633] Fix | Delete
vnode.key = directives.key.find(({
[634] Fix | Delete
suffix
[635] Fix | Delete
}) => suffix === 'default').value;
[636] Fix | Delete
}
[637] Fix | Delete
delete props.__directives;
[638] Fix | Delete
const priorityLevels = getPriorityLevels(directives);
[639] Fix | Delete
if (priorityLevels.length > 0) {
[640] Fix | Delete
vnode.props = {
[641] Fix | Delete
directives,
[642] Fix | Delete
priorityLevels,
[643] Fix | Delete
originalProps: props,
[644] Fix | Delete
type: vnode.type,
[645] Fix | Delete
element: _(vnode.type, props),
[646] Fix | Delete
top: true
[647] Fix | Delete
};
[648] Fix | Delete
vnode.type = Directives;
[649] Fix | Delete
}
[650] Fix | Delete
}
[651] Fix | Delete
if (old) {
[652] Fix | Delete
old(vnode);
[653] Fix | Delete
}
[654] Fix | Delete
};
[655] Fix | Delete
[656] Fix | Delete
;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/utils.js
[657] Fix | Delete
/**
[658] Fix | Delete
* External dependencies
[659] Fix | Delete
*/
[660] Fix | Delete
[661] Fix | Delete
[662] Fix | Delete
[663] Fix | Delete
/**
[664] Fix | Delete
* Internal dependencies
[665] Fix | Delete
*/
[666] Fix | Delete
[667] Fix | Delete
/**
[668] Fix | Delete
* Executes a callback function after the next frame is rendered.
[669] Fix | Delete
*
[670] Fix | Delete
* @param callback The callback function to be executed.
[671] Fix | Delete
* @return A promise that resolves after the callback function is executed.
[672] Fix | Delete
*/
[673] Fix | Delete
const afterNextFrame = callback => {
[674] Fix | Delete
return new Promise(resolve => {
[675] Fix | Delete
const done = () => {
[676] Fix | Delete
clearTimeout(timeout);
[677] Fix | Delete
window.cancelAnimationFrame(raf);
[678] Fix | Delete
setTimeout(() => {
[679] Fix | Delete
callback();
[680] Fix | Delete
resolve();
[681] Fix | Delete
});
[682] Fix | Delete
};
[683] Fix | Delete
const timeout = setTimeout(done, 100);
[684] Fix | Delete
const raf = window.requestAnimationFrame(done);
[685] Fix | Delete
});
[686] Fix | Delete
};
[687] Fix | Delete
[688] Fix | Delete
/**
[689] Fix | Delete
* Returns a promise that resolves after yielding to main.
[690] Fix | Delete
*
[691] Fix | Delete
* @return Promise
[692] Fix | Delete
*/
[693] Fix | Delete
const splitTask = () => {
[694] Fix | Delete
return new Promise(resolve => {
[695] Fix | Delete
// TODO: Use scheduler.yield() when available.
[696] Fix | Delete
setTimeout(resolve, 0);
[697] Fix | Delete
});
[698] Fix | Delete
};
[699] Fix | Delete
[700] Fix | Delete
/**
[701] Fix | Delete
* Creates a Flusher object that can be used to flush computed values and notify listeners.
[702] Fix | Delete
*
[703] Fix | Delete
* Using the mangled properties:
[704] Fix | Delete
* this.c: this._callback
[705] Fix | Delete
* this.x: this._compute
[706] Fix | Delete
* https://github.com/preactjs/signals/blob/main/mangle.json
[707] Fix | Delete
*
[708] Fix | Delete
* @param compute The function that computes the value to be flushed.
[709] Fix | Delete
* @param notify The function that notifies listeners when the value is flushed.
[710] Fix | Delete
* @return The Flusher object with `flush` and `dispose` properties.
[711] Fix | Delete
*/
[712] Fix | Delete
function createFlusher(compute, notify) {
[713] Fix | Delete
let flush = () => undefined;
[714] Fix | Delete
const dispose = signals_core_module_E(function () {
[715] Fix | Delete
flush = this.c.bind(this);
[716] Fix | Delete
this.x = compute;
[717] Fix | Delete
this.c = notify;
[718] Fix | Delete
return compute();
[719] Fix | Delete
});
[720] Fix | Delete
return {
[721] Fix | Delete
flush,
[722] Fix | Delete
dispose
[723] Fix | Delete
};
[724] Fix | Delete
}
[725] Fix | Delete
[726] Fix | Delete
/**
[727] Fix | Delete
* Custom hook that executes a callback function whenever a signal is triggered.
[728] Fix | Delete
* Version of `useSignalEffect` with a `useEffect`-like execution. This hook
[729] Fix | Delete
* implementation comes from this PR, but we added short-cirtuiting to avoid
[730] Fix | Delete
* infinite loops: https://github.com/preactjs/signals/pull/290
[731] Fix | Delete
*
[732] Fix | Delete
* @param callback The callback function to be executed.
[733] Fix | Delete
*/
[734] Fix | Delete
function utils_useSignalEffect(callback) {
[735] Fix | Delete
hooks_module_(() => {
[736] Fix | Delete
let eff = null;
[737] Fix | Delete
let isExecuting = false;
[738] Fix | Delete
const notify = async () => {
[739] Fix | Delete
if (eff && !isExecuting) {
[740] Fix | Delete
isExecuting = true;
[741] Fix | Delete
await afterNextFrame(eff.flush);
[742] Fix | Delete
isExecuting = false;
[743] Fix | Delete
}
[744] Fix | Delete
};
[745] Fix | Delete
eff = createFlusher(callback, notify);
[746] Fix | Delete
return eff.dispose;
[747] Fix | Delete
}, []);
[748] Fix | Delete
}
[749] Fix | Delete
[750] Fix | Delete
/**
[751] Fix | Delete
* Returns the passed function wrapped with the current scope so it is
[752] Fix | Delete
* accessible whenever the function runs. This is primarily to make the scope
[753] Fix | Delete
* available inside hook callbacks.
[754] Fix | Delete
*
[755] Fix | Delete
* Asyncronous functions should use generators that yield promises instead of awaiting them.
[756] Fix | Delete
* See the documentation for details: https://developer.wordpress.org/block-editor/reference-guides/packages/packages-interactivity/packages-interactivity-api-reference/#the-store
[757] Fix | Delete
*
[758] Fix | Delete
* @param func The passed function.
[759] Fix | Delete
* @return The wrapped function.
[760] Fix | Delete
*/
[761] Fix | Delete
[762] Fix | Delete
function withScope(func) {
[763] Fix | Delete
const scope = getScope();
[764] Fix | Delete
const ns = getNamespace();
[765] Fix | Delete
if (func?.constructor?.name === 'GeneratorFunction') {
[766] Fix | Delete
return async (...args) => {
[767] Fix | Delete
const gen = func(...args);
[768] Fix | Delete
let value;
[769] Fix | Delete
let it;
[770] Fix | Delete
while (true) {
[771] Fix | Delete
setNamespace(ns);
[772] Fix | Delete
setScope(scope);
[773] Fix | Delete
try {
[774] Fix | Delete
it = gen.next(value);
[775] Fix | Delete
} finally {
[776] Fix | Delete
resetNamespace();
[777] Fix | Delete
resetScope();
[778] Fix | Delete
}
[779] Fix | Delete
try {
[780] Fix | Delete
value = await it.value;
[781] Fix | Delete
} catch (e) {
[782] Fix | Delete
gen.throw(e);
[783] Fix | Delete
}
[784] Fix | Delete
if (it.done) {
[785] Fix | Delete
break;
[786] Fix | Delete
}
[787] Fix | Delete
}
[788] Fix | Delete
return value;
[789] Fix | Delete
};
[790] Fix | Delete
}
[791] Fix | Delete
return (...args) => {
[792] Fix | Delete
setNamespace(ns);
[793] Fix | Delete
setScope(scope);
[794] Fix | Delete
try {
[795] Fix | Delete
return func(...args);
[796] Fix | Delete
} finally {
[797] Fix | Delete
resetNamespace();
[798] Fix | Delete
resetScope();
[799] Fix | Delete
}
[800] Fix | Delete
};
[801] Fix | Delete
}
[802] Fix | Delete
[803] Fix | Delete
/**
[804] Fix | Delete
* Accepts a function that contains imperative code which runs whenever any of
[805] Fix | Delete
* the accessed _reactive_ properties (e.g., values from the global state or the
[806] Fix | Delete
* context) is modified.
[807] Fix | Delete
*
[808] Fix | Delete
* This hook makes the element's scope available so functions like
[809] Fix | Delete
* `getElement()` and `getContext()` can be used inside the passed callback.
[810] Fix | Delete
*
[811] Fix | Delete
* @param callback The hook callback.
[812] Fix | Delete
*/
[813] Fix | Delete
function useWatch(callback) {
[814] Fix | Delete
utils_useSignalEffect(withScope(callback));
[815] Fix | Delete
}
[816] Fix | Delete
[817] Fix | Delete
/**
[818] Fix | Delete
* Accepts a function that contains imperative code which runs only after the
[819] Fix | Delete
* element's first render, mainly useful for intialization logic.
[820] Fix | Delete
*
[821] Fix | Delete
* This hook makes the element's scope available so functions like
[822] Fix | Delete
* `getElement()` and `getContext()` can be used inside the passed callback.
[823] Fix | Delete
*
[824] Fix | Delete
* @param callback The hook callback.
[825] Fix | Delete
*/
[826] Fix | Delete
function useInit(callback) {
[827] Fix | Delete
hooks_module_(withScope(callback), []);
[828] Fix | Delete
}
[829] Fix | Delete
[830] Fix | Delete
/**
[831] Fix | Delete
* Accepts a function that contains imperative, possibly effectful code. The
[832] Fix | Delete
* effects run after browser paint, without blocking it.
[833] Fix | Delete
*
[834] Fix | Delete
* This hook is equivalent to Preact's `useEffect` and makes the element's scope
[835] Fix | Delete
* available so functions like `getElement()` and `getContext()` can be used
[836] Fix | Delete
* inside the passed callback.
[837] Fix | Delete
*
[838] Fix | Delete
* @param callback Imperative function that can return a cleanup
[839] Fix | Delete
* function.
[840] Fix | Delete
* @param inputs If present, effect will only activate if the
[841] Fix | Delete
* values in the list change (using `===`).
[842] Fix | Delete
*/
[843] Fix | Delete
function useEffect(callback, inputs) {
[844] Fix | Delete
hooks_module_(withScope(callback), inputs);
[845] Fix | Delete
}
[846] Fix | Delete
[847] Fix | Delete
/**
[848] Fix | Delete
* Accepts a function that contains imperative, possibly effectful code. Use
[849] Fix | Delete
* this to read layout from the DOM and synchronously re-render.
[850] Fix | Delete
*
[851] Fix | Delete
* This hook is equivalent to Preact's `useLayoutEffect` and makes the element's
[852] Fix | Delete
* scope available so functions like `getElement()` and `getContext()` can be
[853] Fix | Delete
* used inside the passed callback.
[854] Fix | Delete
*
[855] Fix | Delete
* @param callback Imperative function that can return a cleanup
[856] Fix | Delete
* function.
[857] Fix | Delete
* @param inputs If present, effect will only activate if the
[858] Fix | Delete
* values in the list change (using `===`).
[859] Fix | Delete
*/
[860] Fix | Delete
function useLayoutEffect(callback, inputs) {
[861] Fix | Delete
hooks_module_A(withScope(callback), inputs);
[862] Fix | Delete
}
[863] Fix | Delete
[864] Fix | Delete
/**
[865] Fix | Delete
* Returns a memoized version of the callback that only changes if one of the
[866] Fix | Delete
* inputs has changed (using `===`).
[867] Fix | Delete
*
[868] Fix | Delete
* This hook is equivalent to Preact's `useCallback` and makes the element's
[869] Fix | Delete
* scope available so functions like `getElement()` and `getContext()` can be
[870] Fix | Delete
* used inside the passed callback.
[871] Fix | Delete
*
[872] Fix | Delete
* @param callback Callback function.
[873] Fix | Delete
* @param inputs If present, the callback will only be updated if the
[874] Fix | Delete
* values in the list change (using `===`).
[875] Fix | Delete
*
[876] Fix | Delete
* @return The callback function.
[877] Fix | Delete
*/
[878] Fix | Delete
function useCallback(callback, inputs) {
[879] Fix | Delete
return hooks_module_x(withScope(callback), inputs);
[880] Fix | Delete
}
[881] Fix | Delete
[882] Fix | Delete
/**
[883] Fix | Delete
* Pass a factory function and an array of inputs. `useMemo` will only recompute
[884] Fix | Delete
* the memoized value when one of the inputs has changed.
[885] Fix | Delete
*
[886] Fix | Delete
* This hook is equivalent to Preact's `useMemo` and makes the element's scope
[887] Fix | Delete
* available so functions like `getElement()` and `getContext()` can be used
[888] Fix | Delete
* inside the passed factory function.
[889] Fix | Delete
*
[890] Fix | Delete
* @param factory Factory function that returns that value for memoization.
[891] Fix | Delete
* @param inputs If present, the factory will only be run to recompute if
[892] Fix | Delete
* the values in the list change (using `===`).
[893] Fix | Delete
*
[894] Fix | Delete
* @return The memoized value.
[895] Fix | Delete
*/
[896] Fix | Delete
function useMemo(factory, inputs) {
[897] Fix | Delete
return hooks_module_q(withScope(factory), inputs);
[898] Fix | Delete
}
[899] Fix | Delete
[900] Fix | Delete
/**
[901] Fix | Delete
* Creates a root fragment by replacing a node or an array of nodes in a parent element.
[902] Fix | Delete
* For wrapperless hydration.
[903] Fix | Delete
* See https://gist.github.com/developit/f4c67a2ede71dc2fab7f357f39cff28c
[904] Fix | Delete
*
[905] Fix | Delete
* @param parent The parent element where the nodes will be replaced.
[906] Fix | Delete
* @param replaceNode The node or array of nodes to replace in the parent element.
[907] Fix | Delete
* @return The created root fragment.
[908] Fix | Delete
*/
[909] Fix | Delete
const createRootFragment = (parent, replaceNode) => {
[910] Fix | Delete
replaceNode = [].concat(replaceNode);
[911] Fix | Delete
const sibling = replaceNode[replaceNode.length - 1].nextSibling;
[912] Fix | Delete
function insert(child, root) {
[913] Fix | Delete
parent.insertBefore(child, root || sibling);
[914] Fix | Delete
}
[915] Fix | Delete
return parent.__k = {
[916] Fix | Delete
nodeType: 1,
[917] Fix | Delete
parentNode: parent,
[918] Fix | Delete
firstChild: replaceNode[0],
[919] Fix | Delete
childNodes: replaceNode,
[920] Fix | Delete
insertBefore: insert,
[921] Fix | Delete
appendChild: insert,
[922] Fix | Delete
removeChild(c) {
[923] Fix | Delete
parent.removeChild(c);
[924] Fix | Delete
}
[925] Fix | Delete
};
[926] Fix | Delete
};
[927] Fix | Delete
[928] Fix | Delete
/**
[929] Fix | Delete
* Transforms a kebab-case string to camelCase.
[930] Fix | Delete
*
[931] Fix | Delete
* @param str The kebab-case string to transform to camelCase.
[932] Fix | Delete
* @return The transformed camelCase string.
[933] Fix | Delete
*/
[934] Fix | Delete
function kebabToCamelCase(str) {
[935] Fix | Delete
return str.replace(/^-+|-+$/g, '').toLowerCase().replace(/-([a-z])/g, function (_match, group1) {
[936] Fix | Delete
return group1.toUpperCase();
[937] Fix | Delete
});
[938] Fix | Delete
}
[939] Fix | Delete
const logged = new Set();
[940] Fix | Delete
[941] Fix | Delete
/**
[942] Fix | Delete
* Shows a warning with `message` if environment is not `production`.
[943] Fix | Delete
*
[944] Fix | Delete
* Based on the `@wordpress/warning` package.
[945] Fix | Delete
*
[946] Fix | Delete
* @param message Message to show in the warning.
[947] Fix | Delete
*/
[948] Fix | Delete
const warn = message => {
[949] Fix | Delete
if (true) {
[950] Fix | Delete
if (logged.has(message)) {
[951] Fix | Delete
return;
[952] Fix | Delete
}
[953] Fix | Delete
[954] Fix | Delete
// eslint-disable-next-line no-console
[955] Fix | Delete
console.warn(message);
[956] Fix | Delete
[957] Fix | Delete
// Throwing an error and catching it immediately to improve debugging
[958] Fix | Delete
// A consumer can use 'pause on caught exceptions'
[959] Fix | Delete
try {
[960] Fix | Delete
throw Error(message);
[961] Fix | Delete
} catch (e) {
[962] Fix | Delete
// Do nothing.
[963] Fix | Delete
}
[964] Fix | Delete
logged.add(message);
[965] Fix | Delete
}
[966] Fix | Delete
};
[967] Fix | Delete
[968] Fix | Delete
;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/directives.js
[969] Fix | Delete
// eslint-disable-next-line eslint-comments/disable-enable-pair
[970] Fix | Delete
/* eslint-disable react-hooks/exhaustive-deps */
[971] Fix | Delete
[972] Fix | Delete
/**
[973] Fix | Delete
* External dependencies
[974] Fix | Delete
*/
[975] Fix | Delete
[976] Fix | Delete
[977] Fix | Delete
[978] Fix | Delete
[979] Fix | Delete
/**
[980] Fix | Delete
* Internal dependencies
[981] Fix | Delete
*/
[982] Fix | Delete
[983] Fix | Delete
[984] Fix | Delete
[985] Fix | Delete
// Assigned objects should be ignored during proxification.
[986] Fix | Delete
const contextAssignedObjects = new WeakMap();
[987] Fix | Delete
[988] Fix | Delete
// Store the context proxy and fallback for each object in the context.
[989] Fix | Delete
const contextObjectToProxy = new WeakMap();
[990] Fix | Delete
const contextProxyToObject = new WeakMap();
[991] Fix | Delete
const contextObjectToFallback = new WeakMap();
[992] Fix | Delete
const isPlainObject = item => Boolean(item && typeof item === 'object' && item.constructor === Object);
[993] Fix | Delete
const descriptor = Reflect.getOwnPropertyDescriptor;
[994] Fix | Delete
[995] Fix | Delete
/**
[996] Fix | Delete
* Wrap a context object with a proxy to reproduce the context stack. The proxy
[997] Fix | Delete
* uses the passed `inherited` context as a fallback to look up for properties
[998] Fix | Delete
* that don't exist in the given context. Also, updated properties are modified
[999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function