UNPKG

@cc-heart/utils

Version:

🔧 javascript common tools collection

36 lines (33 loc) • 1.04 kB
'use strict'; /** * convert query string to object * * @param url http url * @returns */ function convertQueryString(url) { const query = url.split('?')[1]; const result = {}; if (query) { query.split('&').forEach((item) => { const [key, value] = item.split('='); Reflect.set(result, key, decodeURIComponent(value)); }); } return result; } /** * convert params routes to regular expressions * * @param path a params paths * @returns null or An array contains the RegExp that matches the params and the path for each params parameter */ function convertParamsRouterToRegExp(path) { const matcher = path.match(/:(.*?)(?:\/|$)/g); if (matcher === null) return null; const reg = new RegExp(path.replace(/:(.*?)(\/|$)/g, '.*?$2')); return [reg, matcher.map((val) => val.replace(/:(.*?)(\/|$)/g, '$1'))]; } exports.convertParamsRouterToRegExp = convertParamsRouterToRegExp; exports.convertQueryString = convertQueryString;