UNPKG

@easyx.ai/dumi-theme-easyxai

Version:

@easyx.ai/dumi-theme-easyxai 是为 dumi2 打造的一款文档站主题包,提供了更加美观、易用的研发与阅读体验

32 lines (31 loc) 948 B
import { getRouteMetaById, useMatchedRoute } from 'dumi'; import useSWR from 'swr'; import { useStoreApi } from "../../store/useSiteStore"; var EMPTY_META = { frontmatter: {}, toc: [], texts: [] }; // https://github.com/umijs/dumi/pull/2165 export var useRouteMeta = function useRouteMeta() { var storeApi = useStoreApi(); var matched = useMatchedRoute(); var merge = function merge() { var meta = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : EMPTY_META; if (matched.meta) { Object.keys(matched.meta).forEach(function (key) { var _ref, _ref$key; (_ref$key = (_ref = meta)[key]) !== null && _ref$key !== void 0 ? _ref$key : _ref[key] = matched.meta[key]; }); } return meta; }; useSWR(matched.id, getRouteMetaById, { fallback: EMPTY_META, onSuccess: function onSuccess(meta) { storeApi.setState({ routeMeta: merge(meta) }); } }); };