UNPKG

@dtinsight/dt-utils

Version:

袋鼠云前端常用工具库

39 lines (38 loc) 1.35 kB
/** * 从给定的搜索字符串中解析查询参数。 * * @category Utils * @description * 从 URL 搜索字符串中提取并解析查询参数到一个类型化对象中。 * 处理特殊字符串值: * - 'null' 会被转换为 null * - 'undefined' 会被转换为 undefined * - 可以被 JSON 解析的字符串会被自动解析(例如数字、布尔值) * - 其他值保持字符串形式 * * @param {string} search - 搜索字符串(例如 location.search)。 * @returns {Record<string, string | null | undefined>} - 包含查询参数的对象。 * * @example * ```typescript * import { getQueryParameters } from 'dt-utils'; * * // 基本用法 * const search = '?name=john&age=25'; * getQueryParameters(search); // => { name: "john", age: 25 } * * // 处理特殊值 * const search = '?isActive=true&count=null&status=undefined'; * getQueryParameters(search); // => { isActive: true, count: null, status: undefined } * * // 类型推断 * interface QueryParams { * page: string; * limit: number; * } * const params = getQueryParameters<QueryParams>('?page=home&limit=10'); * // params.page 是字符串类型, params.limit 是数字类型 * ``` */ declare const getQueryParameters: <T extends Record<string, string | null | undefined>>(search: string) => T; export default getQueryParameters;