@less-is-more/less-js 1.2.14 → 1.2.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +10 -10
- package/src/db.js +20 -4
- package/src/redis.js +35 -35
- package/test/test-db.js +10 -1
- package/.vscode/settings.json +0 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@less-is-more/less-js",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.18",
|
|
4
4
|
"description": "Fast develop kit for nodejs",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -20,20 +20,20 @@
|
|
|
20
20
|
"@alicloud/pop-core": "^1.7.10",
|
|
21
21
|
"ejs": "^3.1.6",
|
|
22
22
|
"fs-extra": "^10.0.0",
|
|
23
|
-
"inquirer": "^8.
|
|
23
|
+
"inquirer": "^8.2.0",
|
|
24
24
|
"multiparty": "^4.2.2",
|
|
25
|
-
"mysql2": "^2.
|
|
26
|
-
"pg-hstore": "^2.3.
|
|
25
|
+
"mysql2": "^2.3.3",
|
|
26
|
+
"pg-hstore": "^2.3.4",
|
|
27
27
|
"querystring": "^0.2.1",
|
|
28
|
-
"redis": "^
|
|
29
|
-
"sequelize": "^6.
|
|
30
|
-
"validator": "^13.
|
|
28
|
+
"redis": "^4.0.1",
|
|
29
|
+
"sequelize": "^6.13.0",
|
|
30
|
+
"validator": "^13.7.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"body": "^5.1.0",
|
|
34
|
-
"mocha": "^
|
|
35
|
-
"webpack": "^5.
|
|
36
|
-
"webpack-cli": "^4.
|
|
34
|
+
"mocha": "^9.1.3",
|
|
35
|
+
"webpack": "^5.66.0",
|
|
36
|
+
"webpack-cli": "^4.9.1",
|
|
37
37
|
"webpack-node-externals": "^3.0.0"
|
|
38
38
|
}
|
|
39
39
|
}
|
package/src/db.js
CHANGED
|
@@ -102,7 +102,7 @@ module.exports = class Db {
|
|
|
102
102
|
await this.add(model, nNewData);
|
|
103
103
|
} else {
|
|
104
104
|
let needUpdate = false;
|
|
105
|
-
if (
|
|
105
|
+
if (compareColumn.length > 0) {
|
|
106
106
|
const nOldData = oldData[nOldIndex];
|
|
107
107
|
for (let nColumn of compareColumn) {
|
|
108
108
|
if (nOldData[nColumn] !== nNewData[nColumn]) {
|
|
@@ -164,7 +164,7 @@ module.exports = class Db {
|
|
|
164
164
|
* @param {*} attributes 只返回属性
|
|
165
165
|
* @returns
|
|
166
166
|
*/
|
|
167
|
-
|
|
167
|
+
static async findAll(
|
|
168
168
|
model,
|
|
169
169
|
params = {},
|
|
170
170
|
order = [["id", "desc"]],
|
|
@@ -202,10 +202,26 @@ module.exports = class Db {
|
|
|
202
202
|
}
|
|
203
203
|
}
|
|
204
204
|
|
|
205
|
-
static async sql(
|
|
206
|
-
|
|
205
|
+
static async sql(
|
|
206
|
+
sql,
|
|
207
|
+
values = [],
|
|
208
|
+
type = this.SQL_TYPE_SELECT,
|
|
209
|
+
modelFormat = false
|
|
210
|
+
) {
|
|
211
|
+
const result = await this.getInstance().query(sql, {
|
|
207
212
|
type: type,
|
|
208
213
|
replacements: values,
|
|
209
214
|
});
|
|
215
|
+
if (modelFormat) {
|
|
216
|
+
return JSON.parse(this._toHump(JSON.stringify(result)));
|
|
217
|
+
} else {
|
|
218
|
+
return result;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
static _toHump(text) {
|
|
223
|
+
return text.replace(/\_(\w)/g, (all, letter) => {
|
|
224
|
+
return letter.toUpperCase();
|
|
225
|
+
});
|
|
210
226
|
}
|
|
211
227
|
};
|
package/src/redis.js
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
const redis = require("redis");
|
|
2
|
-
const { promisify } = require("util");
|
|
3
2
|
|
|
4
3
|
module.exports = class Redis {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
static #client;
|
|
5
|
+
static #user;
|
|
6
|
+
static #password;
|
|
7
|
+
static #host;
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
static init(host, user, password) {
|
|
10
|
+
this.#host = host;
|
|
11
|
+
this.#user = user;
|
|
12
|
+
this.#password = password;
|
|
13
|
+
}
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
15
|
+
static async getInstance() {
|
|
16
|
+
if (!this.#client) {
|
|
17
|
+
if (this.#host) {
|
|
18
|
+
this.#client = await redis.createClient({
|
|
19
|
+
socket: { host: this.#host },
|
|
20
|
+
username: this.#user,
|
|
21
|
+
password: this.#password,
|
|
22
|
+
});
|
|
23
|
+
await this.#client.connect();
|
|
24
|
+
} else {
|
|
25
|
+
throw new Error("Redis not init");
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return this.#client;
|
|
29
|
+
}
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
static async exec(name, ...args) {
|
|
32
|
+
let client = await Redis.getInstance();
|
|
33
|
+
return await client[name].bind(client).apply(undefined, args);
|
|
34
|
+
}
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
36
|
+
static formatKey(name, params = {}) {
|
|
37
|
+
let key = name;
|
|
38
|
+
for (let nKey in params) {
|
|
39
|
+
key += ":" + nKey + ":" + params[nKey];
|
|
40
|
+
}
|
|
41
|
+
return key;
|
|
42
|
+
}
|
|
43
43
|
};
|
package/test/test-db.js
CHANGED
|
@@ -114,6 +114,15 @@ describe("db.js", () => {
|
|
|
114
114
|
let data = await Db.sql("select * from menu where id=?", [1]);
|
|
115
115
|
console.log(data);
|
|
116
116
|
});
|
|
117
|
+
it("to model", async () => {
|
|
118
|
+
let data = await Db.sql(
|
|
119
|
+
"select * from menu",
|
|
120
|
+
[],
|
|
121
|
+
Db.SQL_TYPE_SELECT,
|
|
122
|
+
true
|
|
123
|
+
);
|
|
124
|
+
console.log(JSON.stringify(data));
|
|
125
|
+
});
|
|
117
126
|
it("insert", async () => {
|
|
118
127
|
let data = await Db.sql(
|
|
119
128
|
"insert into menu (name) values(?)",
|
|
@@ -177,5 +186,5 @@ describe("db.js", () => {
|
|
|
177
186
|
console.log(data);
|
|
178
187
|
assert(data.length > 0, "no data");
|
|
179
188
|
});
|
|
180
|
-
})
|
|
189
|
+
});
|
|
181
190
|
});
|
package/.vscode/settings.json
DELETED