@expofp/floorplan
Version:
Interactive floor plan library for expos and events
20 lines • 1.14 kB
TypeScript
/**
* The multi-slug share-link rewrite rule, pure for testing (`url-dispatch`'s
* `rewriteMultiSlug` binds it to the exhibitor catalog).
*
* Legacy share links may join several exhibitor slugs with `&` (or with `%26`
* when the payload was encoded as one unit). Such a query never selects — the
* dispatch falls back to search text — so each part `resolveName` recognizes
* is rewritten to the exhibitor's display name, keeping that text readable.
*
* Only slug-shaped parts count and only they are rewritten: a `key=value`
* part (config key, intent shortcut, one-shot — `=` travels as `%3D` in the
* encoded form) is never a slug. A lone slug riding with such params
* (`?slug&allowConsent=false`) is NOT a multi-slug link — left alone, it
* flows through the parser's config-stripping to a clean single-slug select.
*
* Returns the rewritten search (delimiter normalized to `&`), or `null` when
* the query is not a multi-slug link.
*/
export declare function rewriteMultiSlugQuery(search: string, resolveName: (slugOrId: string) => string | undefined): string | null;
//# sourceMappingURL=multi-slug.d.ts.map