UNPKG

@razorpay/blade

Version:

The Design System that powers Razorpay

12 lines (9 loc) 1.02 kB
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