mirror of
https://github.com/kevin-DL/sapper.git
synced 2026-01-24 07:55:29 +00:00
expose find_page method
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import { dev } from './api/dev';
|
import { dev } from './api/dev';
|
||||||
import { build } from './api/build';
|
import { build } from './api/build';
|
||||||
import { exporter } from './api/export';
|
import { exporter } from './api/export';
|
||||||
|
import { find_page } from './api/find_page';
|
||||||
|
|
||||||
export { dev, build, exporter };
|
export { dev, build, exporter, find_page };
|
||||||
16
src/api/find_page.ts
Normal file
16
src/api/find_page.ts
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user