@maiyunnet/kebab 7.7.1 → 7.8.0
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/doc/kebab-rag.md +49 -39
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/lib/sql.d.ts +8 -6
- package/lib/sql.js +18 -6
- package/package.json +6 -6
- package/www/example/ctr/test.js +7 -0
package/doc/kebab-rag.md
CHANGED
|
@@ -1385,7 +1385,7 @@ index/variables/VER.md
|
|
|
1385
1385
|
|
|
1386
1386
|
# Variable: VER
|
|
1387
1387
|
|
|
1388
|
-
> `const` **VER**: `"7.
|
|
1388
|
+
> `const` **VER**: `"7.8.0"` = `'7.8.0'`
|
|
1389
1389
|
|
|
1390
1390
|
Defined in: [index.ts:10](https://github.com/maiyunnet/kebab/blob/master/index.ts#L10)
|
|
1391
1391
|
|
|
@@ -12728,7 +12728,7 @@ lib/sql/classes/Sql.md
|
|
|
12728
12728
|
|
|
12729
12729
|
# Class: Sql
|
|
12730
12730
|
|
|
12731
|
-
Defined in: [lib/sql.ts:
|
|
12731
|
+
Defined in: [lib/sql.ts:39](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L39)
|
|
12732
12732
|
|
|
12733
12733
|
## Constructors
|
|
12734
12734
|
|
|
@@ -12736,7 +12736,7 @@ Defined in: [lib/sql.ts:37](https://github.com/maiyunnet/kebab/blob/master/lib/s
|
|
|
12736
12736
|
|
|
12737
12737
|
> **new Sql**(`opt`): `Sql`
|
|
12738
12738
|
|
|
12739
|
-
Defined in: [lib/sql.ts:
|
|
12739
|
+
Defined in: [lib/sql.ts:66](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L66)
|
|
12740
12740
|
|
|
12741
12741
|
#### Parameters
|
|
12742
12742
|
|
|
@@ -12772,7 +12772,7 @@ Defined in: [lib/sql.ts:64](https://github.com/maiyunnet/kebab/blob/master/lib/s
|
|
|
12772
12772
|
|
|
12773
12773
|
> **append**(`sql`): `this`
|
|
12774
12774
|
|
|
12775
|
-
Defined in: [lib/sql.ts:
|
|
12775
|
+
Defined in: [lib/sql.ts:860](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L860)
|
|
12776
12776
|
|
|
12777
12777
|
在 sql 最后追加字符串
|
|
12778
12778
|
|
|
@@ -12792,7 +12792,7 @@ Defined in: [lib/sql.ts:848](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
12792
12792
|
|
|
12793
12793
|
> **by**(`c`, `d`): `this`
|
|
12794
12794
|
|
|
12795
|
-
Defined in: [lib/sql.ts:
|
|
12795
|
+
Defined in: [lib/sql.ts:661](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L661)
|
|
12796
12796
|
|
|
12797
12797
|
ORDER BY
|
|
12798
12798
|
|
|
@@ -12820,7 +12820,7 @@ ORDER BY
|
|
|
12820
12820
|
|
|
12821
12821
|
> **copy**(`f?`, `opt?`): `Sql`
|
|
12822
12822
|
|
|
12823
|
-
Defined in: [lib/sql.ts:
|
|
12823
|
+
Defined in: [lib/sql.ts:729](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L729)
|
|
12824
12824
|
|
|
12825
12825
|
创建一个本对象的一个新的 sql 对象拷贝
|
|
12826
12826
|
|
|
@@ -12848,7 +12848,7 @@ Defined in: [lib/sql.ts:717](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
12848
12848
|
|
|
12849
12849
|
> **crossJoin**(`f`, `s`, `suf`, `pre`): `this`
|
|
12850
12850
|
|
|
12851
|
-
Defined in: [lib/sql.ts:
|
|
12851
|
+
Defined in: [lib/sql.ts:416](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L416)
|
|
12852
12852
|
|
|
12853
12853
|
cross join 方法
|
|
12854
12854
|
|
|
@@ -12888,7 +12888,7 @@ ON 信息
|
|
|
12888
12888
|
|
|
12889
12889
|
> **delete**(`f`): `this`
|
|
12890
12890
|
|
|
12891
|
-
Defined in: [lib/sql.ts:
|
|
12891
|
+
Defined in: [lib/sql.ts:311](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L311)
|
|
12892
12892
|
|
|
12893
12893
|
'xx'
|
|
12894
12894
|
|
|
@@ -12910,7 +12910,7 @@ Defined in: [lib/sql.ts:309](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
12910
12910
|
|
|
12911
12911
|
> **field**(`str`, `pre`, `suf`): `string`
|
|
12912
12912
|
|
|
12913
|
-
Defined in: [lib/sql.ts:
|
|
12913
|
+
Defined in: [lib/sql.ts:871](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L871)
|
|
12914
12914
|
|
|
12915
12915
|
对字段进行包裹
|
|
12916
12916
|
|
|
@@ -12942,7 +12942,7 @@ Defined in: [lib/sql.ts:859](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
12942
12942
|
|
|
12943
12943
|
> **format**(`sql?`, `data?`): `string`
|
|
12944
12944
|
|
|
12945
|
-
Defined in: [lib/sql.ts:
|
|
12945
|
+
Defined in: [lib/sql.ts:850](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L850)
|
|
12946
12946
|
|
|
12947
12947
|
获取带 data 的 sql 语句
|
|
12948
12948
|
|
|
@@ -12966,7 +12966,7 @@ Defined in: [lib/sql.ts:838](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
12966
12966
|
|
|
12967
12967
|
> **fullJoin**(`f`, `s`, `suf`, `pre`): `this`
|
|
12968
12968
|
|
|
12969
|
-
Defined in: [lib/sql.ts:
|
|
12969
|
+
Defined in: [lib/sql.ts:405](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L405)
|
|
12970
12970
|
|
|
12971
12971
|
full join 方法
|
|
12972
12972
|
|
|
@@ -13006,7 +13006,7 @@ ON 信息
|
|
|
13006
13006
|
|
|
13007
13007
|
> **getData**(): [`DbValue`](../../../index/type-aliases/DbValue.md)[]
|
|
13008
13008
|
|
|
13009
|
-
Defined in: [lib/sql.ts:
|
|
13009
|
+
Defined in: [lib/sql.ts:834](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L834)
|
|
13010
13010
|
|
|
13011
13011
|
获取全部 data
|
|
13012
13012
|
|
|
@@ -13020,7 +13020,7 @@ Defined in: [lib/sql.ts:822](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
13020
13020
|
|
|
13021
13021
|
> **getPre**(): `string`
|
|
13022
13022
|
|
|
13023
|
-
Defined in: [lib/sql.ts:
|
|
13023
|
+
Defined in: [lib/sql.ts:841](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L841)
|
|
13024
13024
|
|
|
13025
13025
|
获取定义的 pre
|
|
13026
13026
|
|
|
@@ -13034,7 +13034,7 @@ Defined in: [lib/sql.ts:829](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
13034
13034
|
|
|
13035
13035
|
> **getSql**(): `string`
|
|
13036
13036
|
|
|
13037
|
-
Defined in: [lib/sql.ts:
|
|
13037
|
+
Defined in: [lib/sql.ts:818](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L818)
|
|
13038
13038
|
|
|
13039
13039
|
获取 sql 语句
|
|
13040
13040
|
|
|
@@ -13048,7 +13048,7 @@ Defined in: [lib/sql.ts:806](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
13048
13048
|
|
|
13049
13049
|
> **group**(`c`): `this`
|
|
13050
13050
|
|
|
13051
|
-
Defined in: [lib/sql.ts:
|
|
13051
|
+
Defined in: [lib/sql.ts:685](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L685)
|
|
13052
13052
|
|
|
13053
13053
|
GROUP BY
|
|
13054
13054
|
|
|
@@ -13070,7 +13070,7 @@ GROUP BY
|
|
|
13070
13070
|
|
|
13071
13071
|
> **having**(`s`): `this`
|
|
13072
13072
|
|
|
13073
|
-
Defined in: [lib/sql.ts:
|
|
13073
|
+
Defined in: [lib/sql.ts:423](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L423)
|
|
13074
13074
|
|
|
13075
13075
|
having 后置筛选器,用法类似 where
|
|
13076
13076
|
|
|
@@ -13090,7 +13090,7 @@ having 后置筛选器,用法类似 where
|
|
|
13090
13090
|
|
|
13091
13091
|
> **innerJoin**(`f`, `s`, `suf`, `pre`): `this`
|
|
13092
13092
|
|
|
13093
|
-
Defined in: [lib/sql.ts:
|
|
13093
|
+
Defined in: [lib/sql.ts:394](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L394)
|
|
13094
13094
|
|
|
13095
13095
|
inner join 方法
|
|
13096
13096
|
|
|
@@ -13130,7 +13130,7 @@ ON 信息
|
|
|
13130
13130
|
|
|
13131
13131
|
> **insert**(`table`, `ignore`): `this`
|
|
13132
13132
|
|
|
13133
|
-
Defined in: [lib/sql.ts:
|
|
13133
|
+
Defined in: [lib/sql.ts:91](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L91)
|
|
13134
13134
|
|
|
13135
13135
|
插入数据前导
|
|
13136
13136
|
|
|
@@ -13158,7 +13158,7 @@ Defined in: [lib/sql.ts:89](https://github.com/maiyunnet/kebab/blob/master/lib/s
|
|
|
13158
13158
|
|
|
13159
13159
|
> **join**(`f`, `s`, `type`, `suf`, `pre`): `this`
|
|
13160
13160
|
|
|
13161
|
-
Defined in: [lib/sql.ts:
|
|
13161
|
+
Defined in: [lib/sql.ts:346](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L346)
|
|
13162
13162
|
|
|
13163
13163
|
join 方法
|
|
13164
13164
|
|
|
@@ -13204,7 +13204,7 @@ ON 信息
|
|
|
13204
13204
|
|
|
13205
13205
|
> **leftJoin**(`f`, `s`, `suf`, `pre`): `this`
|
|
13206
13206
|
|
|
13207
|
-
Defined in: [lib/sql.ts:
|
|
13207
|
+
Defined in: [lib/sql.ts:372](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L372)
|
|
13208
13208
|
|
|
13209
13209
|
left join 方法
|
|
13210
13210
|
|
|
@@ -13244,7 +13244,7 @@ ON 信息
|
|
|
13244
13244
|
|
|
13245
13245
|
> **limit**(`a`, `b`): `this`
|
|
13246
13246
|
|
|
13247
|
-
Defined in: [lib/sql.ts:
|
|
13247
|
+
Defined in: [lib/sql.ts:705](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L705)
|
|
13248
13248
|
|
|
13249
13249
|
LIMIT(limit、offset, limit)
|
|
13250
13250
|
|
|
@@ -13272,7 +13272,7 @@ LIMIT(limit、offset, limit)
|
|
|
13272
13272
|
|
|
13273
13273
|
> **lock**(): `this`
|
|
13274
13274
|
|
|
13275
|
-
Defined in: [lib/sql.ts:
|
|
13275
|
+
Defined in: [lib/sql.ts:720](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L720)
|
|
13276
13276
|
|
|
13277
13277
|
追加消极锁,通常不建议使用
|
|
13278
13278
|
|
|
@@ -13286,7 +13286,7 @@ Defined in: [lib/sql.ts:708](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
13286
13286
|
|
|
13287
13287
|
> **rightJoin**(`f`, `s`, `suf`, `pre`): `this`
|
|
13288
13288
|
|
|
13289
|
-
Defined in: [lib/sql.ts:
|
|
13289
|
+
Defined in: [lib/sql.ts:383](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L383)
|
|
13290
13290
|
|
|
13291
13291
|
right join 方法
|
|
13292
13292
|
|
|
@@ -13326,7 +13326,7 @@ ON 信息
|
|
|
13326
13326
|
|
|
13327
13327
|
> **select**(`c`, `f`): `this`
|
|
13328
13328
|
|
|
13329
|
-
Defined in: [lib/sql.ts:
|
|
13329
|
+
Defined in: [lib/sql.ts:202](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L202)
|
|
13330
13330
|
|
|
13331
13331
|
'*', 'xx'
|
|
13332
13332
|
|
|
@@ -13354,7 +13354,7 @@ Defined in: [lib/sql.ts:200](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
13354
13354
|
|
|
13355
13355
|
> **union**(`lsql`, `type`): `this`
|
|
13356
13356
|
|
|
13357
|
-
Defined in: [lib/sql.ts:
|
|
13357
|
+
Defined in: [lib/sql.ts:323](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L323)
|
|
13358
13358
|
|
|
13359
13359
|
联查另一个 sql 对象
|
|
13360
13360
|
|
|
@@ -13382,7 +13382,7 @@ sql 对象
|
|
|
13382
13382
|
|
|
13383
13383
|
> **unionAll**(`lsql`): `this`
|
|
13384
13384
|
|
|
13385
|
-
Defined in: [lib/sql.ts:
|
|
13385
|
+
Defined in: [lib/sql.ts:334](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L334)
|
|
13386
13386
|
|
|
13387
13387
|
所有联查另一个 sql 对象
|
|
13388
13388
|
|
|
@@ -13404,7 +13404,7 @@ sql 对象
|
|
|
13404
13404
|
|
|
13405
13405
|
> **update**(`f`, `s`): `this`
|
|
13406
13406
|
|
|
13407
|
-
Defined in: [lib/sql.ts:
|
|
13407
|
+
Defined in: [lib/sql.ts:243](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L243)
|
|
13408
13408
|
|
|
13409
13409
|
UPDATE SQL 方法
|
|
13410
13410
|
|
|
@@ -13432,7 +13432,7 @@ UPDATE SQL 方法
|
|
|
13432
13432
|
|
|
13433
13433
|
> **upsert**(`data`, `conflict?`): `this`
|
|
13434
13434
|
|
|
13435
|
-
Defined in: [lib/sql.ts:
|
|
13435
|
+
Defined in: [lib/sql.ts:168](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L168)
|
|
13436
13436
|
|
|
13437
13437
|
如果存在则更新不存在则插入(UPSERT)
|
|
13438
13438
|
|
|
@@ -13460,7 +13460,7 @@ Defined in: [lib/sql.ts:166](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
13460
13460
|
|
|
13461
13461
|
> **values**(`cs`, `vs`): `this`
|
|
13462
13462
|
|
|
13463
|
-
Defined in: [lib/sql.ts:
|
|
13463
|
+
Defined in: [lib/sql.ts:110](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L110)
|
|
13464
13464
|
|
|
13465
13465
|
实际插入数据的数据
|
|
13466
13466
|
|
|
@@ -13488,7 +13488,7 @@ Defined in: [lib/sql.ts:108](https://github.com/maiyunnet/kebab/blob/master/lib/
|
|
|
13488
13488
|
|
|
13489
13489
|
> **where**(`s`): `this`
|
|
13490
13490
|
|
|
13491
|
-
Defined in: [lib/sql.ts:
|
|
13491
|
+
Defined in: [lib/sql.ts:457](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L457)
|
|
13492
13492
|
|
|
13493
13493
|
筛选器
|
|
13494
13494
|
1. 'city': 'bj', 'type': '2'
|
|
@@ -13535,7 +13535,7 @@ JSON 查询操作符
|
|
|
13535
13535
|
|
|
13536
13536
|
Defined in: [lib/sql.ts:25](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L25)
|
|
13537
13537
|
|
|
13538
|
-
|
|
13538
|
+
被包含值 (MySQL: JSON_CONTAINS, PG: <@)
|
|
13539
13539
|
|
|
13540
13540
|
***
|
|
13541
13541
|
|
|
@@ -13545,7 +13545,7 @@ Defined in: [lib/sql.ts:25](https://github.com/maiyunnet/kebab/blob/master/lib/s
|
|
|
13545
13545
|
|
|
13546
13546
|
Defined in: [lib/sql.ts:23](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L23)
|
|
13547
13547
|
|
|
13548
|
-
|
|
13548
|
+
包含值 (MySQL: JSON_CONTAINS, PG: @>)
|
|
13549
13549
|
|
|
13550
13550
|
***
|
|
13551
13551
|
|
|
@@ -13555,7 +13555,7 @@ Defined in: [lib/sql.ts:23](https://github.com/maiyunnet/kebab/blob/master/lib/s
|
|
|
13555
13555
|
|
|
13556
13556
|
Defined in: [lib/sql.ts:31](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L31)
|
|
13557
13557
|
|
|
13558
|
-
存在所有 Key (MySQL: JSON_CONTAINS_PATH all, PG: ?&)
|
|
13558
|
+
存在所有 Key 不含值 (MySQL: JSON_CONTAINS_PATH all, PG: ?&)
|
|
13559
13559
|
|
|
13560
13560
|
***
|
|
13561
13561
|
|
|
@@ -13565,7 +13565,7 @@ Defined in: [lib/sql.ts:31](https://github.com/maiyunnet/kebab/blob/master/lib/s
|
|
|
13565
13565
|
|
|
13566
13566
|
Defined in: [lib/sql.ts:29](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L29)
|
|
13567
13567
|
|
|
13568
|
-
存在任意 Key (MySQL: JSON_CONTAINS_PATH one, PG: ?|)
|
|
13568
|
+
存在任意 Key 不含值 (MySQL: JSON_CONTAINS_PATH one, PG: ?|)
|
|
13569
13569
|
|
|
13570
13570
|
***
|
|
13571
13571
|
|
|
@@ -13575,7 +13575,17 @@ Defined in: [lib/sql.ts:29](https://github.com/maiyunnet/kebab/blob/master/lib/s
|
|
|
13575
13575
|
|
|
13576
13576
|
Defined in: [lib/sql.ts:27](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L27)
|
|
13577
13577
|
|
|
13578
|
-
存在 Key (MySQL: JSON_CONTAINS_PATH one, PG: ?)
|
|
13578
|
+
存在 Key 不含值 (MySQL: JSON_CONTAINS_PATH one, PG: ?)
|
|
13579
|
+
|
|
13580
|
+
***
|
|
13581
|
+
|
|
13582
|
+
### OVERLAPS
|
|
13583
|
+
|
|
13584
|
+
> **OVERLAPS**: `"json_overlaps"`
|
|
13585
|
+
|
|
13586
|
+
Defined in: [lib/sql.ts:33](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L33)
|
|
13587
|
+
|
|
13588
|
+
简单数组重叠 (MySQL: JSON_OVERLAPS, PG: &&)
|
|
13579
13589
|
|
|
13580
13590
|
lib/sql/enumerations/ESERVICE.md
|
|
13581
13591
|
---
|
|
@@ -13621,7 +13631,7 @@ lib/sql/functions/aoMix.md
|
|
|
13621
13631
|
|
|
13622
13632
|
> **aoMix**(`arr`): `Record`\<`string`, `string` \| `number` \| [`Json`](../../../index/type-aliases/Json.md)\>
|
|
13623
13633
|
|
|
13624
|
-
Defined in: [lib/sql.ts:
|
|
13634
|
+
Defined in: [lib/sql.ts:1192](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1192)
|
|
13625
13635
|
|
|
13626
13636
|
将数组兑换为组合的对象(Array/Object mix)
|
|
13627
13637
|
|
|
@@ -13650,7 +13660,7 @@ lib/sql/functions/column.md
|
|
|
13650
13660
|
|
|
13651
13661
|
> **column**(`field`): `object`
|
|
13652
13662
|
|
|
13653
|
-
Defined in: [lib/sql.ts:
|
|
13663
|
+
Defined in: [lib/sql.ts:1213](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1213)
|
|
13654
13664
|
|
|
13655
13665
|
创建字段对象
|
|
13656
13666
|
|
|
@@ -13689,7 +13699,7 @@ lib/sql/functions/format.md
|
|
|
13689
13699
|
|
|
13690
13700
|
> **format**(`sql`, `data`, `service`): `string`
|
|
13691
13701
|
|
|
13692
|
-
Defined in: [lib/sql.ts:
|
|
13702
|
+
Defined in: [lib/sql.ts:1154](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1154)
|
|
13693
13703
|
|
|
13694
13704
|
返回代入后的完整 SQL 字符串,这并不安全不能直接执行,只是用来调试打印 sql 语句
|
|
13695
13705
|
|
|
@@ -13730,7 +13740,7 @@ lib/sql/functions/get.md
|
|
|
13730
13740
|
|
|
13731
13741
|
> **get**(`opt`): [`Sql`](../classes/Sql.md)
|
|
13732
13742
|
|
|
13733
|
-
Defined in: [lib/sql.ts:
|
|
13743
|
+
Defined in: [lib/sql.ts:1127](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1127)
|
|
13734
13744
|
|
|
13735
13745
|
创建 sql 对象
|
|
13736
13746
|
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* --- 本文件用来定义每个目录实体地址的常量 ---
|
|
7
7
|
*/
|
|
8
8
|
/** --- 当前系统版本号 --- */
|
|
9
|
-
export const VER = '7.
|
|
9
|
+
export const VER = '7.8.0';
|
|
10
10
|
// --- 服务端用的路径 ---
|
|
11
11
|
const imu = decodeURIComponent(import.meta.url).replace('file://', '').replace(/^\/(\w:)/, '$1');
|
|
12
12
|
/** --- /xxx/xxx --- */
|
package/lib/sql.d.ts
CHANGED
|
@@ -12,16 +12,18 @@ export declare enum ESERVICE {
|
|
|
12
12
|
}
|
|
13
13
|
/** --- JSON 查询操作符 --- */
|
|
14
14
|
export declare enum EJSON {
|
|
15
|
-
/** ---
|
|
15
|
+
/** --- 包含值 (MySQL: JSON_CONTAINS, PG: @>) --- */
|
|
16
16
|
'CONTAINS' = "json",
|
|
17
|
-
/** ---
|
|
17
|
+
/** --- 被包含值 (MySQL: JSON_CONTAINS, PG: <@) --- */
|
|
18
18
|
'CONTAINED_BY' = "json_in",
|
|
19
|
-
/** --- 存在 Key (MySQL: JSON_CONTAINS_PATH one, PG: ?) --- */
|
|
19
|
+
/** --- 存在 Key 不含值 (MySQL: JSON_CONTAINS_PATH one, PG: ?) --- */
|
|
20
20
|
'HAS_KEY' = "json_key",
|
|
21
|
-
/** --- 存在任意 Key (MySQL: JSON_CONTAINS_PATH one, PG: ?|) --- */
|
|
21
|
+
/** --- 存在任意 Key 不含值 (MySQL: JSON_CONTAINS_PATH one, PG: ?|) --- */
|
|
22
22
|
'HAS_ANY_KEYS' = "json_any",
|
|
23
|
-
/** --- 存在所有 Key (MySQL: JSON_CONTAINS_PATH all, PG: ?&) --- */
|
|
24
|
-
'HAS_ALL_KEYS' = "json_all"
|
|
23
|
+
/** --- 存在所有 Key 不含值 (MySQL: JSON_CONTAINS_PATH all, PG: ?&) --- */
|
|
24
|
+
'HAS_ALL_KEYS' = "json_all",
|
|
25
|
+
/** --- 简单数组重叠 (MySQL: JSON_OVERLAPS, PG: &&) --- */
|
|
26
|
+
'OVERLAPS' = "json_overlaps"
|
|
25
27
|
}
|
|
26
28
|
export declare class Sql {
|
|
27
29
|
/** --- ctr 对象 --- */
|
package/lib/sql.js
CHANGED
|
@@ -11,16 +11,18 @@ export var ESERVICE;
|
|
|
11
11
|
/** --- JSON 查询操作符 --- */
|
|
12
12
|
export var EJSON;
|
|
13
13
|
(function (EJSON) {
|
|
14
|
-
/** ---
|
|
14
|
+
/** --- 包含值 (MySQL: JSON_CONTAINS, PG: @>) --- */
|
|
15
15
|
EJSON["CONTAINS"] = "json";
|
|
16
|
-
/** ---
|
|
16
|
+
/** --- 被包含值 (MySQL: JSON_CONTAINS, PG: <@) --- */
|
|
17
17
|
EJSON["CONTAINED_BY"] = "json_in";
|
|
18
|
-
/** --- 存在 Key (MySQL: JSON_CONTAINS_PATH one, PG: ?) --- */
|
|
18
|
+
/** --- 存在 Key 不含值 (MySQL: JSON_CONTAINS_PATH one, PG: ?) --- */
|
|
19
19
|
EJSON["HAS_KEY"] = "json_key";
|
|
20
|
-
/** --- 存在任意 Key (MySQL: JSON_CONTAINS_PATH one, PG: ?|) --- */
|
|
20
|
+
/** --- 存在任意 Key 不含值 (MySQL: JSON_CONTAINS_PATH one, PG: ?|) --- */
|
|
21
21
|
EJSON["HAS_ANY_KEYS"] = "json_any";
|
|
22
|
-
/** --- 存在所有 Key (MySQL: JSON_CONTAINS_PATH all, PG: ?&) --- */
|
|
22
|
+
/** --- 存在所有 Key 不含值 (MySQL: JSON_CONTAINS_PATH all, PG: ?&) --- */
|
|
23
23
|
EJSON["HAS_ALL_KEYS"] = "json_all";
|
|
24
|
+
/** --- 简单数组重叠 (MySQL: JSON_OVERLAPS, PG: &&) --- */
|
|
25
|
+
EJSON["OVERLAPS"] = "json_overlaps";
|
|
24
26
|
})(EJSON || (EJSON = {}));
|
|
25
27
|
/** --- field 用 token --- */
|
|
26
28
|
let columnToken = '';
|
|
@@ -452,7 +454,7 @@ export class Sql {
|
|
|
452
454
|
data.push(...v[1]);
|
|
453
455
|
}
|
|
454
456
|
}
|
|
455
|
-
else if (typeof v[1] === 'string' && ['json', 'json_in', 'json_key', 'json_any', 'json_all'].includes(v[1].toLowerCase())) {
|
|
457
|
+
else if (typeof v[1] === 'string' && ['json', 'json_in', 'json_key', 'json_any', 'json_all', 'json_overlaps'].includes(v[1].toLowerCase())) {
|
|
456
458
|
// --- json ---
|
|
457
459
|
const op = v[1].toLowerCase();
|
|
458
460
|
const nv = v[2];
|
|
@@ -476,6 +478,16 @@ export class Sql {
|
|
|
476
478
|
data.push(lText.stringifyJson(nv));
|
|
477
479
|
}
|
|
478
480
|
}
|
|
481
|
+
else if (op === 'json_overlaps') {
|
|
482
|
+
if (this._service === ESERVICE.MYSQL) {
|
|
483
|
+
sql += `JSON_OVERLAPS(${this.field(v[0])}, ${this._placeholder()}) AND `;
|
|
484
|
+
data.push(lText.stringifyJson(nv));
|
|
485
|
+
}
|
|
486
|
+
else {
|
|
487
|
+
sql += `${this.field(v[0])} && ${this._placeholder()} AND `;
|
|
488
|
+
data.push(nv);
|
|
489
|
+
}
|
|
490
|
+
}
|
|
479
491
|
else {
|
|
480
492
|
// --- json_key, json_any, json_all ---
|
|
481
493
|
const keys = Array.isArray(nv) ? nv : [nv];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maiyunnet/kebab",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.8.0",
|
|
4
4
|
"description": "Simple, easy-to-use, and fully-featured Node.js framework that is ready-to-use out of the box.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"#kebab/*": "./*"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@aws-sdk/client-s3": "^3.
|
|
26
|
-
"@aws-sdk/lib-storage": "^3.
|
|
25
|
+
"@aws-sdk/client-s3": "^3.975.0",
|
|
26
|
+
"@aws-sdk/lib-storage": "^3.975.0",
|
|
27
27
|
"@litert/http-client": "^1.1.2",
|
|
28
28
|
"@litert/mime": "^0.1.3",
|
|
29
29
|
"@litert/redis": "^3.1.0",
|
|
@@ -35,15 +35,15 @@
|
|
|
35
35
|
"mysql2": "^3.16.1",
|
|
36
36
|
"node-cron": "^4.2.1",
|
|
37
37
|
"openai": "^6.16.0",
|
|
38
|
-
"pg": "^8.17.
|
|
38
|
+
"pg": "^8.17.2",
|
|
39
39
|
"ssh2": "^1.17.0",
|
|
40
40
|
"svg-captcha": "^1.4.0",
|
|
41
|
-
"tencentcloud-sdk-nodejs": "^4.1.
|
|
41
|
+
"tencentcloud-sdk-nodejs": "^4.1.175"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@litert/eslint-plugin-rules": "^0.3.1",
|
|
45
45
|
"@types/ejs": "^3.1.5",
|
|
46
|
-
"@types/node": "^25.0.
|
|
46
|
+
"@types/node": "^25.0.10",
|
|
47
47
|
"@types/pg": "^8.16.0",
|
|
48
48
|
"typedoc": "^0.28.16",
|
|
49
49
|
"typedoc-plugin-markdown": "^4.9.0",
|
package/www/example/ctr/test.js
CHANGED
|
@@ -2601,6 +2601,13 @@ Result:<pre id="result">Nothing.</pre>`);
|
|
|
2601
2601
|
echo.push(`<pre>sql.select('*', 'user').where([['info', lSql.EJSON.HAS_ALL_KEYS, ['age', 'name']]]);</pre>
|
|
2602
2602
|
<b>getSql() :</b> ${s}<br>
|
|
2603
2603
|
<b>getData():</b> <pre>${JSON.stringify(sd, undefined, 4)}</pre>
|
|
2604
|
+
<b>format() :</b> ${sql.format(s, sd)}<hr>`);
|
|
2605
|
+
// --- overlaps ---
|
|
2606
|
+
s = sql.select('*', 'test').where([['tags', lSql.EJSON.OVERLAPS, ['a', 'b']]]).getSql();
|
|
2607
|
+
sd = sql.getData();
|
|
2608
|
+
echo.push(`<pre>sql.select('*', 'test').where([['tags', lSql.EJSON.OVERLAPS, ['a', 'b']]]);</pre>
|
|
2609
|
+
<b>getSql() :</b> ${s}<br>
|
|
2610
|
+
<b>getData():</b> <pre>${JSON.stringify(sd, undefined, 4)}</pre>
|
|
2604
2611
|
<b>format() :</b> ${sql.format(s, sd)}`);
|
|
2605
2612
|
break;
|
|
2606
2613
|
}
|