From 007fc9063e9731e56cedf88fac212c748c87a993 Mon Sep 17 00:00:00 2001 From: chufan Date: Sat, 5 Oct 2024 09:09:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(@142vip/utils):=20=E5=BC=95=E5=85=A5`qs`?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=EF=BC=8C=E5=AF=BC=E5=87=BA`vipQs`=E5=AF=B9?= =?UTF-8?q?=E8=B1=A1=EF=BC=8C=E6=94=AF=E6=8C=81`stringify`=E3=80=81`parse`?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/utils/package.json | 3 ++- packages/utils/src/index.ts | 1 + packages/utils/src/qs.ts | 25 +++++++++++++++++++++++++ pnpm-lock.yaml | 3 +++ 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 packages/utils/src/qs.ts diff --git a/packages/utils/package.json b/packages/utils/package.json index 49e8830..7299091 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -34,7 +34,8 @@ "@inquirer/confirm": "^3.1.15", "ansi-colors": "^4.1.3", "dayjs": "^1.11.11", - "inquirer": "7" + "inquirer": "7", + "qs": "^6.13.0" }, "publishConfig": { "access": "public", diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts index a3bba0c..8fd0fa4 100644 --- a/packages/utils/src/index.ts +++ b/packages/utils/src/index.ts @@ -5,3 +5,4 @@ export * from './shell' export * from './inquirer' export * from './git' export * from './docker' +export * from './qs' diff --git a/packages/utils/src/qs.ts b/packages/utils/src/qs.ts new file mode 100644 index 0000000..4b59987 --- /dev/null +++ b/packages/utils/src/qs.ts @@ -0,0 +1,25 @@ +import type { BooleanOptional, IParseOptions, IStringifyOptions } from 'qs' +import qs from 'qs' + +/** + * 序列化 query string + * @param obj + * @param options + */ +function stringify(obj: any, options?: IStringifyOptions) { + return qs.stringify(obj, options) +} + +/** + * 解析 query string + * @param str + * @param options + */ +function parse(str: string, options?: IParseOptions & { decoder?: never | undefined }) { + return qs.parse(str, options) +} + +export const vipQs = { + stringify, + parse, +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 778ff78..75399d6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -355,6 +355,9 @@ importers: inquirer: specifier: '7' version: 7.3.3 + qs: + specifier: ^6.13.0 + version: 6.13.0 packages/vitepress: devDependencies: