baja-lite 1.0.2 → 1.0.4

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 ADDED
@@ -0,0 +1 @@
1
+ #!/usr/bin/env node
package/cjs/code.js ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ console.log(__dirname);
package/cjs/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  export * from './error';
2
2
  export * from './fn';
3
3
  export * from './math';
4
- export * from './now';
5
4
  export * from './object';
6
5
  export * from './set-ex';
7
6
  export * from './sql';
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 (lodash_1.default.isArray(value)) {
97
+ if (value instanceof Array) {
102
98
  arrayData[key] = value;
103
99
  }
104
- else if (lodash_1.default.isObject(value)) {
105
- lodash_1.default.assign(result, value);
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, isPage?: boolean) => string)
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': (params: Record<string, any>, context: any, isPage?: boolean | undefined) => {
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
- ** params 是用查询时传入的参数,可以指定为任意类型,可以用来生成sql,例如进行循环语句
274
- ** context 是框架的上下文,可以自行指定类型
275
- ** isPage 是保留参数
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类似,不同在于sqlCache`不需要`目录,而是直接指定一个sqlModel对象,对象的格式和sqlDir的文件内容一样。
291
+ 作用与sqlDir类似,不同在于sqlMap`不需要`目录,而是直接指定一个sqlModel对象,对象的格式和sqlDir的文件内容一样。
284
292
  ** 适用于简单使用
285
293
  */
286
- sqlCache?: SqlModel;
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
- length1?: number;
316
- length2?: number;
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 | ((params: Record<string, any>, context: any, isPage?: boolean) => 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
- isPage?: boolean;
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
- isPage?: boolean;
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
- isPage?: boolean;
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
- isPage?: boolean;
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
- isPage?: boolean;
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
- isPage?: boolean;
852
+ isCount?: boolean;
827
853
  defValue?: L | null;
828
854
  multiple?: boolean;
829
855
  errorMsg?: string;