/** * Type that removes a trailing slash from a string type if present. * * @template T - The string type to process * @example * type Route1 = RemoveTrailingSlash<'/users/'>; // '/users' * type Route2 = RemoveTrailingSlash<'/users'>; // '/users' */ export type RemoveTrailingSlash = T extends `${infer Route}/` ? Route : T; /** * Type that removes a double leading slash from a string type if present. * * @template T - The string type to process * @example * type Route1 = RemoveDoubleLeadingSlash<'//users'>; // '/users' * type Route2 = RemoveDoubleLeadingSlash<'/users'>; // '/users' */ export type RemoveDoubleLeadingSlash = T extends `//${infer Route}` ? `/${Route}` : T; /** * Type that sanitizes a path string by removing double leading slashes. * * @template T - The string type to process * @example * type Route1 = SanitizePathSlashes<'//users'>; // '/users' * type Route2 = SanitizePathSlashes<'/users'>; // '/users' */ export type SanitizePathSlashes = RemoveDoubleLeadingSlash>; //# sourceMappingURL=slashManipulation.types.d.ts.map