😱 基于 URLSearchParams 的查询参数处理工具。 项目地址
安装
1 | npm install wow-query |
构造方法
new Query(query: QueryData | string, mappingTable?: Dictionary)
1 | new Query('a=1&b=2&a=3') |
mappingTable 参见 mapping
API
toString (): string
转 Query 字符串
1 | // 返回:'a=1&b=2' |
toObject<T = QueryData> (): T
转 Query 对象
1 | // 返回:{a: '1', b: '2'} |
get<T extends QueryValue> (name: string): T
获取指定字段值
1 | const query = new Query('a=1&b=2&b=3') |
set (name: string, value: QueryValue): Query
修改/添加字段
1 | // 返回: 'a=2&b=3' |
delete (name: string): Query
删除字段
1 | // 返回:{b: '3'} |
has (name: string): boolean
是否包含某字段
1 | const query = new Query('a=1') |
someOf (names: string[]): Query
获取部分字段
1 | // 返回:'c=3' |
toCamelCaseKeys (): Query
将 kebab-case 风格的 Query 字段转成 CamelCase 风格
1 | // 返回: {userId: 'abc'} |
toKebabCaseKeys (): Query
将 CamelCase 风格的 Query 字段转成 kebab-case 风格
1 | // 返回: 'user-id=abc' |
mapping (table: Dictionary<string>)
通过传入一个字段映射表来修改 Query 字段
1 | const query = new Query({ a: ['1', '2'], b: '3', c: '4' }) |