Skip to content

Make URLs a generic type #16

Description

@eliassjogreen

Currently the URLs can get quite messy in cases where we support both relative, server and absolute urls. E.g:

...
    input:
      | `${"http://" | "https://"}${string}/api/v1/${string}/subscription/plan/${string}/subscribe/`
      | `/api/v1/${string}/subscription/plan/${string}/subscribe/`,
...

It would be nice if these types would look like:

TypedURL<`/api/v1/${string}/subscription/plan/${string}/subscribe/`>

This could then be generated per-project like:

export type TypedURL<T extends string> =
      | `https://example.com/${T}`               // Include each server URL here
      | `http://${string}${T}` 			     	 // Include only when absolute http URLs are enabled
      | `https://${string}${T}` 				 // Include only when absolute https URLs are enabled
      | T; 										 // Include only when relative URLs are enabled

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions