"use strict"; 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")); var cacheThemes = new _ThemeCache.default(); /** * Same as new Theme, but will always return same one if `derivative` not changed. */ function createTheme(derivatives) { var 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); }