# core/predicates/route.predicate.ts

> 9 lines of code and 3 definitions.

Tree: Bane's Lab Build Scripts
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-predicates-route-predicate-ts
Source text: https://banes-lab.com/source/build-scripts/core/predicates/route.predicate.ts.txt

Listed in [core/predicates](https://banes-lab.com/api/source/build-scripts/core/predicates.md), after [core/predicates/graph.predicate.ts](https://banes-lab.com/source/build-scripts/core/predicates/graph.predicate.ts.md).

## Definitions

- `isFileRoute` (lexical_declaration, line 6, exported)
- `SLASH` (lexical_declaration, line 4)
- `isSourceFilePage` (lexical_declaration, line 10, exported)

## Contained in

- [core/predicates](https://banes-lab.com/anatomy/build-scripts/folder-build-scripts-core-predicates.md)

## Used by

- [core/validators/catalog.validator.ts](https://banes-lab.com/source/build-scripts/core/validators/catalog.validator.ts.md)
- [core/validators/site.validator.ts](https://banes-lab.com/source/build-scripts/core/validators/site.validator.ts.md)

## Linked from

- [core/validators](https://banes-lab.com/anatomy/build-scripts/folder-build-scripts-core-validators.md)

## Source

```typescript
import { FILE_ANCHOR } from "@banes-lab/web/ids/anatomy.ids";
import { FILE_ROUTES } from "#configuration/constants/site.constants";

const SLASH = "/";

export const isFileRoute = function isFileRoute(address: string): boolean {
    return FILE_ROUTES.some((route) => address.startsWith(route));
};

export const isSourceFilePage = function isSourceFilePage(path: string): boolean {
    return path.slice(path.lastIndexOf(SLASH) + 1).startsWith(FILE_ANCHOR);
};
```
