test/node_modules/@vuepress/plugin-theme-data/lib/client/composables/useThemeLocaleData.js
2024-08-13 09:27:52 +08:00

21 lines
640 B
JavaScript

import { inject } from 'vue';
export const themeLocaleDataSymbol = Symbol(__VUEPRESS_DEV__ ? 'themeLocaleData' : '');
export const useThemeLocaleData = () => {
const themeLocaleData = inject(themeLocaleDataSymbol);
if (!themeLocaleData) {
throw new Error('useThemeLocaleData() is called without provider.');
}
return themeLocaleData;
};
/**
* Merge the locales fields to the root fields
* according to the route path
*/
export const resolveThemeLocaleData = (theme, routeLocale) => {
const { locales, ...baseOptions } = theme;
return {
...baseOptions,
...locales?.[routeLocale],
};
};