Skip to content

Types: Url<TParams>

ts
type Url<TParams> = object;

Represents the structure of a url parts. Can be used to create a url with support for params.

Type Parameters

Type ParameterDefault type
TParams extends UrlParamsUrlParams

Methods

parse()

ts
parse(url): Identity<MakeOptional<{ [K in string | number | symbol]: TParams[K] extends OptionalParam<TParam> ? TParam extends Required<ParamGetSet> ? ExtractParamType<TParam<TParam>> : ExtractParamType<TParam> | undefined : TParams[K] extends RequiredParam<TParam> ? ExtractParamType<TParam> : unknown }>>;

Parses the url supplied and returns any params found.

Parameters

ParameterType
urlstring

Returns

Identity<MakeOptional<{ [K in string | number | symbol]: TParams[K] extends OptionalParam<TParam> ? TParam extends Required<ParamGetSet> ? ExtractParamType<TParam<TParam>> : ExtractParamType<TParam> | undefined : TParams[K] extends RequiredParam<TParam> ? ExtractParamType<TParam> : unknown }>>


stringify()

ts
stringify(...params): UrlString;

Converts the url parts to a full url.

Parameters

ParameterType
...paramsUrlParamsArgs<TParams>

Returns

UrlString


tryParse()

ts
tryParse(url): 
  | {
  params: ToUrlParamsReading<TParams>;
  success: true;
}
  | {
  error: Error;
  params: {
  };
  success: false;
};

Parses the url supplied and returns any params found.

Parameters

ParameterType
urlstring

Returns

| { params: ToUrlParamsReading<TParams>; success: true; } | { error: Error; params: { }; success: false; }

Properties

PropertyTypeDescription
[IS_URL_SYMBOL]trueInternal Symbol to identify if the url is a valid url.
isRelativebooleanTrue if the url is relative. False if the url is absolute.
paramsTParamsInternal The parameters type for the url. Non functional and undefined at runtime.