expose find_page method

This commit is contained in:
Rich Harris
2018-05-26 12:31:52 -04:00
parent e0b4319c7d
commit 58d2f605fc
2 changed files with 18 additions and 1 deletions

16
src/api/find_page.ts Normal file
View File

@@ -0,0 +1,16 @@
import * as glob from 'glob';
import { locations } from '../config';
import { create_routes } from '../core';
export function find_page(pathname: string, files: string[] = glob.sync('**/*.*', { cwd: locations.routes(), dot: true, nodir: true })) {
const routes = create_routes({ files });
for (let i = 0; i < routes.length; i += 1) {
const route = routes[i];
if (route.pattern.test(pathname)) {
const page = route.handlers.find(handler => handler.type === 'page');
if (page) return page.file;
}
}
}