# core/predicates/token.predicate.ts

> 13 lines of code and 1 definition.

Tree: Secrets
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/secrets#file-secrets-core-predicates-token-predicate-ts
Source text: https://banes-lab.com/source/secrets/core/predicates/token.predicate.ts.txt

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

## Definitions

- `rest` (lexical_declaration, line 9)

## Contained in

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

## Source

```typescript
import { TOKEN_SHAPES } from "#configuration/constants/detector.constants";
import { defineDetector } from "#core/registries/detector.registry";
import { isInAlphabet } from "#core/predicates/character.predicate";

defineDetector({
    detects: (value) =>
        TOKEN_SHAPES.some((shape) =>
            shape.prefixes.some((prefix) => {
                const rest = value.slice(prefix.length);
                return value.startsWith(prefix) && rest.length >= shape.minRest && isInAlphabet(rest, shape.alphabet);
            }),
        ),
    kind: "token",
});
```
