@razorpay/blade
Version:
The Design System that powers Razorpay
12 lines (9 loc) • 1.02 kB
JavaScript
import bladeTheme from './bladeTheme.js';
import merge from 'ts-deepmerge';
import cloneDeep from '../../utils/lodashButBetter/cloneDeep.js';
import { hasSameObjectStructure } from '../../utils/hasSameObjectStructure/hasSameObjectStructure.js';
import { isPartialMatchObjectKeys } from '../../utils/isPartialMatchObjectKeys/isPartialMatchObjectKeys.js';
import { throwBladeError } from '../../utils/logger/logger.js';
var overrideTheme=function overrideTheme(_ref){var baseThemeTokens=_ref.baseThemeTokens,overrides=_ref.overrides;if(__DEV__){if(!hasSameObjectStructure(baseThemeTokens,bladeTheme)){throwBladeError({message:'The base theme provided is not a valid Blade theme',moduleName:'overrideTheme'});}if(!isPartialMatchObjectKeys({objectToMatch:overrides,objectToInspect:baseThemeTokens})){throwBladeError({message:'The overrides object is not valid',moduleName:'overrideTheme'});}}return merge(cloneDeep(baseThemeTokens),overrides);};
export { overrideTheme as default };
//# sourceMappingURL=overrideTheme.js.map