@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 CHANGED
@@ -1385,7 +1385,7 @@ index/variables/VER.md
1385
1385
 
1386
1386
  # Variable: VER
1387
1387
 
1388
- > `const` **VER**: `"7.7.1"` = `'7.7.1'`
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:37](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L37)
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:64](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L64)
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:848](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L848)
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:649](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L649)
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:717](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L717)
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:414](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L414)
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:309](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L309)
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:859](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L859)
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:838](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L838)
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:403](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L403)
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:822](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L822)
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:829](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L829)
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:806](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L806)
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:673](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L673)
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:421](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L421)
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:392](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L392)
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:89](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L89)
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:344](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L344)
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:370](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L370)
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:693](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L693)
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:708](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L708)
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:381](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L381)
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:200](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L200)
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:321](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L321)
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:332](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L332)
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:241](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L241)
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:166](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L166)
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:108](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L108)
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:455](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L455)
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
- 被包含 (MySQL: JSON_CONTAINS, PG: <@)
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
- 包含 (MySQL: JSON_CONTAINS, PG: @>)
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:1180](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1180)
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:1201](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1201)
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:1142](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1142)
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:1115](https://github.com/maiyunnet/kebab/blob/master/lib/sql.ts#L1115)
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
@@ -5,7 +5,7 @@
5
5
  * --- 本文件用来定义每个目录实体地址的常量 ---
6
6
  */
7
7
  /** --- 当前系统版本号 --- */
8
- export declare const VER = "7.7.1";
8
+ export declare const VER = "7.8.0";
9
9
  /** --- 框架根目录,以 / 结尾 --- */
10
10
  export declare const ROOT_PATH: string;
11
11
  export declare const LIB_PATH: string;
package/index.js CHANGED
@@ -6,7 +6,7 @@
6
6
  * --- 本文件用来定义每个目录实体地址的常量 ---
7
7
  */
8
8
  /** --- 当前系统版本号 --- */
9
- export const VER = '7.7.1';
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
- /** --- 包含 (MySQL: JSON_CONTAINS, PG: @>) --- */
15
+ /** --- 包含值 (MySQL: JSON_CONTAINS, PG: @>) --- */
16
16
  'CONTAINS' = "json",
17
- /** --- 被包含 (MySQL: JSON_CONTAINS, PG: <@) --- */
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
- /** --- 包含 (MySQL: JSON_CONTAINS, PG: @>) --- */
14
+ /** --- 包含值 (MySQL: JSON_CONTAINS, PG: @>) --- */
15
15
  EJSON["CONTAINS"] = "json";
16
- /** --- 被包含 (MySQL: JSON_CONTAINS, PG: <@) --- */
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.7.1",
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.971.0",
26
- "@aws-sdk/lib-storage": "^3.971.0",
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.1",
38
+ "pg": "^8.17.2",
39
39
  "ssh2": "^1.17.0",
40
40
  "svg-captcha": "^1.4.0",
41
- "tencentcloud-sdk-nodejs": "^4.1.172"
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.9",
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",
@@ -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
  }