passkit-webservice-toolkit
Version:
Integrate Apple Wallet Service with ease
10 lines • 643 B
TypeScript
type ExtractParamsFromEndpoint<T extends string> = T extends `${infer Section}/${infer Rest}` ? Section extends `:${infer Param}` ? [Param, ...ExtractParamsFromEndpoint<Rest>] : [...ExtractParamsFromEndpoint<Rest>] : T extends `:${infer LastParam}` ? [LastParam] : [];
type EndpointDefinition<T extends string> = T extends `${infer Method}\x20${infer Path}` ? {
method: Method;
path: Path;
params: ExtractParamsFromEndpoint<Path>;
toString(): T;
} : never;
export declare function createEndpointDefinition<const T extends string>(signature: T): EndpointDefinition<T>;
export {};
//# sourceMappingURL=endpointDefinition.d.ts.map