From dc4cf12c08771ad474abce5cced33b5dd7ed6318 Mon Sep 17 00:00:00 2001 From: "luk.lu" Date: Mon, 7 Jun 2021 12:24:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=8A=E5=87=A0=E4=B8=AA=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E5=B0=8F=E5=8A=9F=E8=83=BD=E8=BF=81=E7=A7=BB=E5=88=B0=E7=8B=AC?= =?UTF-8?q?=E7=AB=8B=E7=9A=84=20sol.tool=20=E5=BA=93=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 8 ++++++++ .prettierrc.js | 16 ++++++++++++++++ README.md | 2 +- index.js | 25 +++++++++++++++++++++++++ package.json | 13 +++++++++++++ 5 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 .prettierrc.js create mode 100644 index.js create mode 100644 package.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d7e9ceb --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +# 以'#'开始的行,被视为注释. +node_modules +package-lock.json +.vscode +.svn +~* +.gitattributes +dump.rdb diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..e001ecd --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,16 @@ +/* +对 VSCode Prettier 有效;建议一直要有本配置文件,否则不同版本的 Prettier 的默认配置会不同,例如 TrailingComma +对 VSCode Prettier Standard 无效,似乎是集成了不能修改的配置。 +*/ +module.exports = { + printWidth: 160, // default 80 + tabWidth: 2, // default 2 + useTabs: false, + semi: false, // default true + singleQuote: true, // default false + trailingComma: 'es5', // none (default in v 1.*), es5 (default in v2.0.0), all + bracketSpacing: true, // default true + jsxBracketSameLine: false, // default false + arrowParens: 'always', // avoid (default in v1.9.0), always (default since v2.0.0) + quoteProps: 'as-needed', // as-needed (default), consistent, preserve +} diff --git a/README.md b/README.md index 97ec0a3..0933520 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ -# sol.util +# sol.tool diff --git a/index.js b/index.js new file mode 100644 index 0000000..083a840 --- /dev/null +++ b/index.js @@ -0,0 +1,25 @@ +/* 基础小工具,可通用于服务端和用户端 + */ + +module.exports = { + sleep: (ms) => new Promise((resolve, reject) => setTimeout(resolve, ms)), + parseJsonPossible(value) { + try { + return JSON.parse(value) + } catch (e) { + return value + } + }, + sortAndFilterJson({ fields, entity, exclude = [] } = {}) { + const newEntity = {} + for (let key of Object.keys(fields).sort()) { + if (typeof (entity[key] !== 'undefined') && !Number.isNaN(entity[key]) && entity[key] !== Infinity) { + newEntity[key] = entity[key] + } + } + for (let exkey of exclude) { + delete newEntity[exkey] + } + return JSON.stringify(newEntity) + }, +} \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..4f16640 --- /dev/null +++ b/package.json @@ -0,0 +1,13 @@ +{ + "name": "sol.tool", + "version": "0.1.0", + "private": true, + "dependencies": { + }, + "devDependencies": { + }, + "scripts": { + "setup": "npm install" + }, + "author": "" +}