@altostra/core
Version:
Core library for shared types and logic
20 lines (19 loc) • 747 B
TypeScript
export declare function encodeUrlQuery(query: Record<string, unknown>): string;
export declare function decodeUrlQuery(query: string): Record<string, string>;
declare const urlLiteralSymbol: unique symbol;
export interface UrlLiteral {
[urlLiteralSymbol]: string;
}
/**
* Creates a value which is not url-encoded when provided to `asUrl` tagged-template
* @param literal The literal value
*/
export declare function urlLiteral(literal: string): UrlLiteral;
/**
* A tagged-template to create safe urls
* @param strings Literal strings
* @param values Values to url-encode, or url-literals
* @returns A url with values url-encoded
*/
export declare function asUrl(strings: TemplateStringsArray, ...values: unknown[]): string;
export {};