This repository has been archived on 2024-09-18. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
front/node_modules/@mui/material/node/utils/memoTheme.js
2024-09-18 13:34:19 -03:00

30 lines
692 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = memoTheme;
// We need to pass an argument as `{ theme }` for PigmentCSS, but we don't want to
// allocate more objects.
const arg = {
theme: undefined
};
/**
* Memoize style function on theme.
* Intended to be used in styled() calls that only need access to the theme.
*/
function memoTheme(styleFn) {
let lastValue;
let lastTheme;
return props => {
let value = lastValue;
if (value === undefined || props.theme !== lastTheme) {
arg.theme = props.theme;
value = styleFn(arg);
lastValue = value;
lastTheme = props.theme;
}
return value;
};
}