@aplus-frontend/antdv
Version:
Vue basic component library maintained based on ant-design-vue
22 lines (21 loc) • 807 B
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = createTheme;
var _ThemeCache = _interopRequireDefault(require("./ThemeCache"));
var _Theme = _interopRequireDefault(require("./Theme"));
const cacheThemes = new _ThemeCache.default();
/**
* Same as new Theme, but will always return same one if `derivative` not changed.
*/
function createTheme(derivatives) {
const derivativeArr = Array.isArray(derivatives) ? derivatives : [derivatives];
// Create new theme if not exist
if (!cacheThemes.has(derivativeArr)) {
cacheThemes.set(derivativeArr, new _Theme.default(derivativeArr));
}
// Get theme from cache and return
return cacheThemes.get(derivativeArr);
}
;