bro-tools
Version:
bro-tools 提供了一些用于浏览环境中的工具函数
75 lines (48 loc) • 2.52 kB
TypeScript
import type {UrlUtils} from "url-tls"
declare global {
interface URL {
/**
* get:把 URLSearchParams 转换对象形式;
* set: newValue : Object | string | URLSearchParams 把当前URL的查询参数重置成 params
*/
params:any;
}
}
//依赖 URL 和 URLSearchParams 的解析:开始
interface UrlUtilsByURLClass {
href? : string; //字符串形式的url地址
protocol?: string; //包含URL对应协议的一个DOMString,最后有一个":"。
host?: string; //包含了域名的一个DOMString,可能在该串最后带有一个":"并跟上URL的端口号
pathname?: string; //包含URL中路径部分的一个DOMString,开头有一个“/"。
hash?: string ; //包含块标识符的DOMString,开头有一个“#”。
params?: any; //url的参数对象 或者 字符串
}
/**
* 字符串化 url 对象
* @param urlObj : Object | URL | Location | string | 其它 必选;url 对象
* @param replace : boolean 可选;默认值:false ; url参数部分是否需要把旧的给替换掉
* @returns urlStr : string 返回url字符串
*
*
*
* @property urlObj.href : string 字符串形式的url地址
* @property urlObj.protocol : string 包含URL对应协议的一个DOMString,最后有一个":"。
* @property urlObj.host : string 包含了域名的一个DOMString,可能在该串最后带有一个":"并跟上URL的端口号
* @property urlObj.pathname : string 包含URL中路径部分的一个DOMString,开头有一个“/"。
* @property urlObj.hash : string 包含块标识符的DOMString,开头有一个“#”。
* @property urlObj.params : string | Object url的参数对象 或者 字符串
*
*/
export function stringifyUrlByURLClass(urlObj:UrlUtilsByURLClass | URL | Location | string, replace?:boolean):string;
/**
* 把 url 解析成普通的对象
* @param url : string | URL | Location 必选;url 字符串 或者 URL、Location 实例
* @returns urlObj : { href, protocol,host, hostname,port,pathname,search, hash,username,password,origin,searchParams,params } 返回 包含URL所有信息的普通对象
*
*
* @property urlObj.params : Object url的参数对象
* 注意: urlObj 的其它属性跟 URL 实例的属性一样;即实现了 URLUtils 中定义的属性
*
*/
export function parseUrlByURLClass(url:string | URL | Location):UrlUtils;
//依赖 URL 和 URLSearchParams 的解析:结束