baja-lite 1.0.2 → 1.0.3
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/code.d.ts +0 -0
- package/cjs/code.js +2 -0
- package/cjs/index.d.ts +0 -1
- package/cjs/index.js +0 -1
- package/cjs/object.js +3 -7
- package/cjs/sql.d.ts +44 -18
- package/cjs/sql.js +453 -58
- package/cjs/string.d.ts +0 -1
- package/cjs/string.js +1 -6
- package/cjs/test-mysql.js +3 -3
- package/es/code.d.ts +0 -0
- package/es/code.js +2 -0
- package/es/index.d.ts +0 -1
- package/es/index.js +0 -1
- package/es/object.js +3 -4
- package/es/sql.d.ts +44 -18
- package/es/sql.js +453 -58
- package/es/string.d.ts +0 -1
- package/es/string.js +0 -4
- package/es/test-mysql.js +3 -3
- package/package.json +19 -20
- package/src/code.ts +1 -0
- package/src/constant.ts +14 -0
- package/src/error.ts +11 -0
- package/src/fn.ts +287 -0
- package/src/index.ts +7 -0
- package/src/math.ts +367 -0
- package/src/object.ts +213 -0
- package/src/redis.ts +0 -0
- package/src/set-ex.ts +362 -0
- package/src/sql.ts +4021 -0
- package/src/string.ts +111 -0
- package/src/test-mysql.ts +96 -0
- package/src/test-sqlite.ts +78 -0
- package/src/test.ts +2 -0
- package/cjs/now.d.ts +0 -7
- package/cjs/now.js +0 -26
- package/es/now.d.ts +0 -7
- package/es/now.js +0 -16
package/cjs/code.d.ts
ADDED
|
File without changes
|
package/cjs/code.js
ADDED
package/cjs/index.d.ts
CHANGED
package/cjs/index.js
CHANGED
|
@@ -17,7 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./error"), exports);
|
|
18
18
|
__exportStar(require("./fn"), exports);
|
|
19
19
|
__exportStar(require("./math"), exports);
|
|
20
|
-
__exportStar(require("./now"), exports);
|
|
21
20
|
__exportStar(require("./object"), exports);
|
|
22
21
|
__exportStar(require("./set-ex"), exports);
|
|
23
22
|
__exportStar(require("./sql"), exports);
|
package/cjs/object.js
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.arraySplit = exports.array2map = exports.mixList = exports.mixArray = exports.fixEmptyPrototy = exports.coverComplexBean = exports.createBeanFromArray = exports.emptyBean = exports.convertBeans = exports.convertBean = exports.copyBean = void 0;
|
|
7
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
8
4
|
/**
|
|
9
5
|
* 对象对象(等同与convertBean)
|
|
10
6
|
* 仅会将classType有的属性进行转换
|
|
@@ -98,11 +94,11 @@ const coverComplexBean = (source, classType) => {
|
|
|
98
94
|
const arrayData = {};
|
|
99
95
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
100
96
|
for (const [key, value] of Object.entries(source)) {
|
|
101
|
-
if (
|
|
97
|
+
if (value instanceof Array) {
|
|
102
98
|
arrayData[key] = value;
|
|
103
99
|
}
|
|
104
|
-
else if (
|
|
105
|
-
|
|
100
|
+
else if (typeof value === 'object') {
|
|
101
|
+
Object.assign(result, value);
|
|
106
102
|
}
|
|
107
103
|
else {
|
|
108
104
|
result[key] = value;
|
package/cjs/sql.d.ts
CHANGED
|
@@ -179,7 +179,7 @@ interface ServiceOption {
|
|
|
179
179
|
|
|
180
180
|
```
|
|
181
181
|
interface SqlModel {
|
|
182
|
-
[key: string]: string | ((params: { [k: string]: any }, context: any,
|
|
182
|
+
[key: string]: string | ((params: { [k: string]: any }, context: any, isCount?: boolean) => string)
|
|
183
183
|
}
|
|
184
184
|
```
|
|
185
185
|
可以继承该接口来约束格式
|
|
@@ -256,11 +256,18 @@ interface GlobalSqlOption {
|
|
|
256
256
|
/** 日志等级 */
|
|
257
257
|
log?: 'trace' | 'debug' | 'info' | 'warn';
|
|
258
258
|
/**
|
|
259
|
-
日志文件存放路径,该目录下文件名是模块名,例如有一个文件名为 `user.js`,内容为:
|
|
259
|
+
## 日志文件存放路径,该目录下文件名是模块名,例如有一个文件名为 `user.js`,内容为:
|
|
260
260
|
```
|
|
261
261
|
export default {
|
|
262
262
|
'sql_1': 'SELECT * FROM user WHERE username = :username',
|
|
263
|
-
'sql_2': (
|
|
263
|
+
'sql_2': (options: {
|
|
264
|
+
ctx: any;
|
|
265
|
+
isCount?: boolean;
|
|
266
|
+
limitStart?: number;
|
|
267
|
+
limitEnd?: number;
|
|
268
|
+
orderBy?: string;
|
|
269
|
+
[k: string]: any;
|
|
270
|
+
}) => {
|
|
264
271
|
return `
|
|
265
272
|
SELECT * FROM user u LEFT JOIN organ o ON u.orgid = o.orgid
|
|
266
273
|
WHERE o.orgid = :orgid;
|
|
@@ -268,22 +275,33 @@ interface GlobalSqlOption {
|
|
|
268
275
|
}
|
|
269
276
|
} as SqlModel;
|
|
270
277
|
```
|
|
271
|
-
** 可以看到,sql语句支持直接映射一个sql
|
|
278
|
+
** 可以看到,sql语句支持直接映射一个sql语句,也可以通过函数返回,返回字符串支持[mustache](https://github.com/janl/mustache.js)
|
|
272
279
|
** 上面的文件中,将注册两个SQL:`user.sql_1` 和 `user.sql_2`.
|
|
273
|
-
**
|
|
274
|
-
**
|
|
275
|
-
**
|
|
280
|
+
** `[k: string]: any;` 是用查询时传入的参数,可以指定为任意类型,可以用来生成sql,例如进行循环语句
|
|
281
|
+
** ctx 是框架的上下文,可以自行指定类型
|
|
282
|
+
** 其他 是保留参数
|
|
276
283
|
** 函数类型中,可以调用自己定义的通用sql
|
|
277
284
|
### 注意
|
|
278
285
|
1. 不要直接拼接参数:不安全且效率低
|
|
279
286
|
2. sqlite不支持多语句拼接
|
|
287
|
+
## 也支持.mu文件,格式略
|
|
280
288
|
*/
|
|
281
289
|
sqlDir?: string;
|
|
282
290
|
/**
|
|
283
|
-
作用与sqlDir类似,不同在于
|
|
291
|
+
作用与sqlDir类似,不同在于sqlMap`不需要`目录,而是直接指定一个sqlModel对象,对象的格式和sqlDir的文件内容一样。
|
|
284
292
|
** 适用于简单使用
|
|
285
293
|
*/
|
|
286
|
-
|
|
294
|
+
sqlMap?: SqlModel;
|
|
295
|
+
/**
|
|
296
|
+
## [mustache](https://mustache.github.io/) 编译时的[模板](https://github.com/janl/mustache.js#:~:text=requires%20only%20this%3A-,%7B%7B%3E%20next_more%7D%7D,-Why%3F%20Because%20the)
|
|
297
|
+
** 文件名就是模板名
|
|
298
|
+
*/
|
|
299
|
+
sqlFNDir?: string;
|
|
300
|
+
/**
|
|
301
|
+
作用与sqlFnDir类似,不同在于sqlFNMap`不需要`目录,而是直接指定一个 Record<string, string>,对象的格式和sqlFnDir的文件内容一样。
|
|
302
|
+
** 适用于简单使用
|
|
303
|
+
*/
|
|
304
|
+
sqlFNMap?: Record<string, string>;
|
|
287
305
|
/**
|
|
288
306
|
[REDIS初始化文档](https://github.com/redis/ioredis?tab=readme-ov-file#:~:text=connect%20to%20by%3A-,new%20Redis()%3B,-//%20Connect%20to%20127.0.0.1)
|
|
289
307
|
```
|
|
@@ -312,8 +330,8 @@ interface GlobalSqlOption {
|
|
|
312
330
|
interface FieldOption extends Object {
|
|
313
331
|
type?: SqlType;
|
|
314
332
|
name?: string;
|
|
315
|
-
|
|
316
|
-
|
|
333
|
+
length?: number;
|
|
334
|
+
scale?: number;
|
|
317
335
|
def?: any;
|
|
318
336
|
index?: boolean;
|
|
319
337
|
id?: boolean;
|
|
@@ -375,7 +393,15 @@ interface Dao {
|
|
|
375
393
|
restore(sync: SyncMode.Sync, name: string): void;
|
|
376
394
|
restore(sync: SyncMode.Async, name: string): Promise<void>;
|
|
377
395
|
}
|
|
378
|
-
type SqlModel = Record<string, string | ((
|
|
396
|
+
export type SqlModel = Record<string, string | ((options: {
|
|
397
|
+
ctx: any;
|
|
398
|
+
isCount?: boolean;
|
|
399
|
+
isSum?: boolean;
|
|
400
|
+
limitStart?: number;
|
|
401
|
+
limitEnd?: number;
|
|
402
|
+
orderBy?: string;
|
|
403
|
+
[k: string]: any;
|
|
404
|
+
}) => string)>;
|
|
379
405
|
export declare const Field: (config: FieldOption) => (object: object, propertyName: string) => void;
|
|
380
406
|
export declare const DB: (config: ServiceOption) => <C extends new (...args: any[]) => {}>(constructor: C) => {
|
|
381
407
|
new (...args: any[]): {
|
|
@@ -763,7 +789,7 @@ export declare class SqlService<T extends object> {
|
|
|
763
789
|
sql?: string;
|
|
764
790
|
params?: Record<string, any>;
|
|
765
791
|
context?: any;
|
|
766
|
-
|
|
792
|
+
isCount?: boolean;
|
|
767
793
|
defValue?: L | null;
|
|
768
794
|
multiple?: boolean;
|
|
769
795
|
errorMsg?: string;
|
|
@@ -775,7 +801,7 @@ export declare class SqlService<T extends object> {
|
|
|
775
801
|
sql?: string;
|
|
776
802
|
params?: Record<string, any>;
|
|
777
803
|
context?: any;
|
|
778
|
-
|
|
804
|
+
isCount?: boolean;
|
|
779
805
|
defValue?: L | null;
|
|
780
806
|
multiple?: boolean;
|
|
781
807
|
errorMsg?: string;
|
|
@@ -787,7 +813,7 @@ export declare class SqlService<T extends object> {
|
|
|
787
813
|
sql?: string;
|
|
788
814
|
params?: Record<string, any>;
|
|
789
815
|
context?: any;
|
|
790
|
-
|
|
816
|
+
isCount?: boolean;
|
|
791
817
|
defValue?: L | null;
|
|
792
818
|
multiple?: boolean;
|
|
793
819
|
errorMsg?: string;
|
|
@@ -799,7 +825,7 @@ export declare class SqlService<T extends object> {
|
|
|
799
825
|
sql?: string;
|
|
800
826
|
params?: Record<string, any>;
|
|
801
827
|
context?: any;
|
|
802
|
-
|
|
828
|
+
isCount?: boolean;
|
|
803
829
|
defValue?: L | null;
|
|
804
830
|
multiple?: boolean;
|
|
805
831
|
errorMsg?: string;
|
|
@@ -811,7 +837,7 @@ export declare class SqlService<T extends object> {
|
|
|
811
837
|
sql?: string;
|
|
812
838
|
params?: Record<string, any>;
|
|
813
839
|
context?: any;
|
|
814
|
-
|
|
840
|
+
isCount?: boolean;
|
|
815
841
|
defValue?: L | null;
|
|
816
842
|
multiple?: boolean;
|
|
817
843
|
errorMsg?: string;
|
|
@@ -823,7 +849,7 @@ export declare class SqlService<T extends object> {
|
|
|
823
849
|
sql?: string;
|
|
824
850
|
params?: Record<string, any>;
|
|
825
851
|
context?: any;
|
|
826
|
-
|
|
852
|
+
isCount?: boolean;
|
|
827
853
|
defValue?: L | null;
|
|
828
854
|
multiple?: boolean;
|
|
829
855
|
errorMsg?: string;
|