baja-lite 1.0.6 → 1.0.10
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/cjs/boot-remote.js +4 -0
- package/cjs/boot.js +4 -0
- package/cjs/code.js +27 -12
- package/cjs/convert-xml.js +7 -4
- package/cjs/enum.d.ts +8 -0
- package/cjs/enum.js +33 -1
- package/cjs/fn.js +45 -35
- package/cjs/list.js +24 -0
- package/cjs/math.d.ts +14 -0
- package/cjs/math.js +39 -0
- package/cjs/set-ex.d.ts +8 -7
- package/cjs/set-ex.js +51 -58
- package/cjs/sql.d.ts +89 -34
- package/cjs/sql.js +348 -223
- package/cjs/sqlite.d.ts +5 -8
- package/cjs/sqlite.js +25 -22
- package/cjs/test-mysql.js +29 -21
- package/es/boot-remote.js +5 -1
- package/es/boot.js +5 -1
- package/es/code.js +27 -12
- package/es/convert-xml.js +4 -4
- package/es/enum.d.ts +8 -0
- package/es/enum.js +31 -0
- package/es/fn.js +45 -35
- package/es/list.js +24 -0
- package/es/math.d.ts +14 -0
- package/es/math.js +37 -0
- package/es/set-ex.d.ts +8 -7
- package/es/set-ex.js +48 -58
- package/es/sql.d.ts +89 -34
- package/es/sql.js +349 -224
- package/es/sqlite.d.ts +5 -8
- package/es/sqlite.js +25 -22
- package/es/test-mysql.js +30 -22
- package/package.json +70 -70
- package/src/boot-remote.ts +5 -1
- package/src/boot.ts +5 -1
- package/src/code.ts +45 -14
- package/src/convert-xml.ts +4 -6
- package/src/enum.ts +43 -3
- package/src/fn.ts +41 -33
- package/src/list.ts +27 -1
- package/src/math.ts +41 -3
- package/src/object.ts +1 -1
- package/src/set-ex.ts +49 -58
- package/src/sql.ts +357 -214
- package/src/sqlite.ts +26 -20
- package/src/test-mysql.ts +30 -28
package/src/sqlite.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SqliteRemoteInterface, logger } from './sql';
|
|
2
2
|
import Sqlstring from 'sqlstring';
|
|
3
|
+
import { encode, decode } from "@msgpack/msgpack";
|
|
3
4
|
export abstract class SqliteRemoteClass implements SqliteRemoteInterface {
|
|
4
5
|
private dbList: Record<string, any> = {};
|
|
5
6
|
/** 原始存放路径 */
|
|
@@ -22,10 +23,11 @@ export abstract class SqliteRemoteClass implements SqliteRemoteInterface {
|
|
|
22
23
|
*/
|
|
23
24
|
abstract setMod(name: string): void;
|
|
24
25
|
abstract trace: boolean;
|
|
25
|
-
async execute(
|
|
26
|
+
async execute(inData: Uint8Array): Promise<Uint8Array> {
|
|
27
|
+
const [dbName, sql, params] = decode(inData) as [dbName: string, sql?: string | undefined, params?: any];
|
|
28
|
+
logger.debug(sql, params ?? '');
|
|
26
29
|
try {
|
|
27
|
-
|
|
28
|
-
if (!sql) { return { affectedRows: 0, insertId: 0n }; };
|
|
30
|
+
if (!sql) { return encode({ affectedRows: 0, insertId: 0n }); };
|
|
29
31
|
if (this.trace) {
|
|
30
32
|
logger.trace(Sqlstring.format(sql!, params));
|
|
31
33
|
}
|
|
@@ -34,7 +36,7 @@ export abstract class SqliteRemoteClass implements SqliteRemoteInterface {
|
|
|
34
36
|
logger.trace(result);
|
|
35
37
|
}
|
|
36
38
|
const { changes, lastInsertRowid } = result;
|
|
37
|
-
return { affectedRows: changes, insertId: lastInsertRowid ? BigInt(lastInsertRowid) : 0n };
|
|
39
|
+
return encode({ affectedRows: changes, insertId: lastInsertRowid ? BigInt(lastInsertRowid) : 0n });
|
|
38
40
|
} catch (error) {
|
|
39
41
|
logger.error(`
|
|
40
42
|
error: ${error},
|
|
@@ -44,14 +46,16 @@ export abstract class SqliteRemoteClass implements SqliteRemoteInterface {
|
|
|
44
46
|
throw error;
|
|
45
47
|
}
|
|
46
48
|
}
|
|
47
|
-
async pluck
|
|
49
|
+
async pluck(inData: Uint8Array): Promise<Uint8Array> {
|
|
50
|
+
const [dbName, sql, params] = decode(inData) as [dbName: string, sql?: string | undefined, params?: any];
|
|
51
|
+
logger.debug(sql, params ?? '');
|
|
48
52
|
try {
|
|
49
53
|
logger.debug(sql, params ?? '');
|
|
50
|
-
if (!sql) { return null };
|
|
54
|
+
if (!sql) { return encode(null) };
|
|
51
55
|
if (this.trace) {
|
|
52
56
|
logger.trace(Sqlstring.format(sql!, params));
|
|
53
57
|
}
|
|
54
|
-
return this.dbList[dbName].prepare(sql).pluck().get(params ?? {});
|
|
58
|
+
return encode(this.dbList[dbName].prepare(sql).pluck().get(params ?? {}));
|
|
55
59
|
} catch (error) {
|
|
56
60
|
logger.error(`
|
|
57
61
|
error: ${error},
|
|
@@ -61,14 +65,14 @@ export abstract class SqliteRemoteClass implements SqliteRemoteInterface {
|
|
|
61
65
|
throw error;
|
|
62
66
|
}
|
|
63
67
|
}
|
|
64
|
-
async get
|
|
68
|
+
async get(inData: Uint8Array): Promise<Uint8Array> {
|
|
69
|
+
const [dbName, sql, params] = decode(inData) as [dbName: string, sql?: string | undefined, params?: any];
|
|
70
|
+
logger.debug(sql, params ?? '');
|
|
65
71
|
try {
|
|
66
|
-
logger.debug(sql, params ?? '');
|
|
67
|
-
if (!sql) { return null };
|
|
68
72
|
if (this.trace) {
|
|
69
73
|
logger.trace(Sqlstring.format(sql!, params));
|
|
70
74
|
}
|
|
71
|
-
return this.dbList[dbName].prepare(sql).get(params ?? {});
|
|
75
|
+
return encode(this.dbList[dbName].prepare(sql).get(params ?? {}));
|
|
72
76
|
} catch (error) {
|
|
73
77
|
logger.error(`
|
|
74
78
|
error: ${error},
|
|
@@ -78,14 +82,15 @@ export abstract class SqliteRemoteClass implements SqliteRemoteInterface {
|
|
|
78
82
|
throw error;
|
|
79
83
|
}
|
|
80
84
|
}
|
|
81
|
-
async raw
|
|
85
|
+
async raw(inData: Uint8Array): Promise<Uint8Array> {
|
|
86
|
+
const [dbName, sql, params] = decode(inData) as [dbName: string, sql?: string | undefined, params?: any];
|
|
87
|
+
logger.debug(sql, params ?? '');
|
|
82
88
|
try {
|
|
83
|
-
|
|
84
|
-
if (!sql) { return []; };
|
|
89
|
+
if (!sql) { return encode([]); };
|
|
85
90
|
if (this.trace) {
|
|
86
91
|
logger.trace(Sqlstring.format(sql!, params));
|
|
87
92
|
}
|
|
88
|
-
return this.dbList[dbName].prepare(sql).raw().all(params ?? {});
|
|
93
|
+
return encode(this.dbList[dbName].prepare(sql).raw().all(params ?? {}));
|
|
89
94
|
} catch (error) {
|
|
90
95
|
logger.error(`
|
|
91
96
|
error: ${error},
|
|
@@ -95,14 +100,15 @@ export abstract class SqliteRemoteClass implements SqliteRemoteInterface {
|
|
|
95
100
|
throw error;
|
|
96
101
|
}
|
|
97
102
|
}
|
|
98
|
-
async query
|
|
103
|
+
async query(inData: Uint8Array): Promise<Uint8Array> {
|
|
104
|
+
const [dbName, sql, params] = decode(inData) as [dbName: string, sql?: string | undefined, params?: any];
|
|
105
|
+
logger.debug(sql, params ?? '');
|
|
99
106
|
try {
|
|
100
|
-
|
|
101
|
-
if (!sql) { return []; };
|
|
107
|
+
if (!sql) { encode([]); };
|
|
102
108
|
if (this.trace) {
|
|
103
109
|
logger.trace(Sqlstring.format(sql!, params));
|
|
104
110
|
}
|
|
105
|
-
return this.dbList[dbName].prepare(sql).all(params ?? {});
|
|
111
|
+
return encode(this.dbList[dbName].prepare(sql).all(params ?? {}));
|
|
106
112
|
} catch (error) {
|
|
107
113
|
logger.error(`
|
|
108
114
|
error: ${error},
|
package/src/test-mysql.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
import { Boot } from './boot';
|
|
3
|
-
import { SqlService, Field, DB, DBType, SqlType, ColumnMode, } from './sql';
|
|
3
|
+
import { SqlService, Field, DB, DBType, SqlType, ColumnMode, SelectResult, } from './sql';
|
|
4
4
|
class AmaFuck2 {
|
|
5
5
|
@Field({ type: SqlType.varchar, length: 200, id: true, uuid: true })
|
|
6
6
|
site?: string;
|
|
@@ -17,12 +17,12 @@ class AmaService2 extends SqlService<AmaFuck2>{
|
|
|
17
17
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
interface Menu {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
20
|
+
// interface Menu {
|
|
21
|
+
// resourceid: string;
|
|
22
|
+
// resourcepid: string;
|
|
23
|
+
// resourcename: string;
|
|
24
|
+
// children: Menu[];
|
|
25
|
+
// }
|
|
26
26
|
|
|
27
27
|
export async function go2() {
|
|
28
28
|
await Boot({
|
|
@@ -37,7 +37,10 @@ export async function go2() {
|
|
|
37
37
|
},
|
|
38
38
|
log: 'info',
|
|
39
39
|
columnMode: ColumnMode.HUMP,
|
|
40
|
-
sqlDir: 'E:/pro/baja-lite/xml'
|
|
40
|
+
sqlDir: 'E:/pro/baja-lite/xml',
|
|
41
|
+
sqlMap: {
|
|
42
|
+
['test.test']: `SELECT * FROM cp_user {{#username}} WHERE username = :username {{/username}}`
|
|
43
|
+
}
|
|
41
44
|
});
|
|
42
45
|
const service = new AmaService2();
|
|
43
46
|
await service.transaction<number>({
|
|
@@ -90,13 +93,12 @@ export async function go2() {
|
|
|
90
93
|
// })
|
|
91
94
|
// console.log(44, rt4);
|
|
92
95
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
// console.log(55, rt5);
|
|
96
|
+
const rt5 = await service.select<{username:string}>({
|
|
97
|
+
sqlId: 'test.test',
|
|
98
|
+
params: { username: '1111' },
|
|
99
|
+
selectResult: SelectResult.RS_CS
|
|
100
|
+
})
|
|
101
|
+
console.log(55, rt5.length);
|
|
100
102
|
// const rt6 = await service.stream().eq('sellerSku', 'SellerSKU1').excuteSelect({
|
|
101
103
|
// selectResult: SelectResult.Many_Row_Many_Column,
|
|
102
104
|
// });
|
|
@@ -106,19 +108,19 @@ export async function go2() {
|
|
|
106
108
|
}
|
|
107
109
|
});
|
|
108
110
|
|
|
109
|
-
const data = await service.select<Menu>({
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
});
|
|
121
|
-
console.log(data);
|
|
111
|
+
// const data = await service.select<Menu>({
|
|
112
|
+
// sql: 'SELECT resourceid, resourcepid,resourcename FROM cp_resource ',
|
|
113
|
+
// params: {
|
|
114
|
+
// site: '1234',
|
|
115
|
+
// matchInfo: { reportType: 'yyyy', id: '11' }
|
|
116
|
+
// },
|
|
117
|
+
// // mapper: [
|
|
118
|
+
// // ['site', ['info', 'bSist'], 989],
|
|
119
|
+
// // ['site', ['info2', 'bSist'], 33],
|
|
120
|
+
// // ['site', ['Bsite'], 0]
|
|
121
|
+
// // ]
|
|
122
|
+
// });
|
|
123
|
+
// console.log(data);
|
|
122
124
|
|
|
123
125
|
}
|
|
124
126
|
go2();
|