---
url: >-
  https://lit-ui-router.dev/reference/ui-router-server/matcher/interfaces/UrlMatcherCompilerConfig.md
---
[ui-router-server](../../index.md) / [matcher](../index.md) / UrlMatcherCompilerConfig

# Interface: UrlMatcherCompilerConfig

Defined in: [url-matcher.ts:455](https://github.com/simshanith/lit-ui-router/blob/740888c2b2ba358c4dfa52a122e927df6a604b12/packages/ui-router-server/src/url-matcher.ts#L455)

Compiler-wide defaults for [urlMatcherFactory](../functions/urlMatcherFactory.md), shared by every
pattern it compiles: the router-wide [\`RouterUrlConfig\`](../../url-config/interfaces/RouterUrlConfig.md)
options plus `decodeParams`, which core keeps off its public setters.
`trailingSlash` belongs to a route table, which knows each state's kind.

## Extends

* `Omit`<[`RouterUrlConfig`](../../url-config/interfaces/RouterUrlConfig.md), `"trailingSlash"`>
* `Pick`<`UrlMatcherCompileConfig`, `"decodeParams"`>

## Extended by

* [`RouteTableConfig`](../../redirects/interfaces/RouteTableConfig.md)

## Properties

| Property | Type | Description | Inherited from | Defined in |
| ------ | ------ | ------ | ------ | ------ |
|  `defaultSquashPolicy?` | `NonNullable`<`string` | `boolean` | `undefined`> | Squash policy for defaulted params that don't declare one (default false); value type pinned to core's UrlConfig.defaultSquashPolicy. | `Omit.defaultSquashPolicy` | [url-config.ts:36](https://github.com/simshanith/lit-ui-router/blob/740888c2b2ba358c4dfa52a122e927df6a604b12/packages/ui-router-server/src/url-config.ts#L36) |
