UNPKG

@docusaurus/core

Version:

Easy to Maintain Open Source Documentation Websites

23 lines (22 loc) 863 B
/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import routes from '@generated/routes'; import { matchRoutes } from 'react-router-config'; /** * Helper function to make sure all async components for that particular route * is preloaded before rendering. This is especially useful to avoid loading * screens. * * @param pathname the route pathname, example: /docs/installation * @returns Promise object represents whether pathname has been preloaded */ export default function preload(pathname) { const matches = Array.from(new Set([pathname, decodeURI(pathname)])) .map((p) => matchRoutes(routes, p)) .flat(); return Promise.all(matches.map((match) => match.route.component.preload?.())); }