w-orm-reladb 1.1.9 → 1.1.11
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/README.md +100 -28
- package/dist/w-orm-reladb.umd.js +2 -2
- package/dist/w-orm-reladb.umd.js.map +1 -1
- package/docs/WOrmReladb.html +62 -32
- package/docs/WOrmReladb.mjs.html +101 -29
- package/docs/cvFind.mjs.html +253 -410
- package/docs/global.html +336 -12
- package/docs/importModels.mjs.html +2 -2
- package/docs/index.html +2 -2
- package/g-mssql-transaction-commit.mjs +1 -1
- package/g-mssql-transaction-rollback.mjs +1 -1
- package/g-mssql.mjs +4 -4
- package/g-sqlite-encryption-transaction-commit.mjs +1 -1
- package/g-sqlite-encryption.mjs +4 -4
- package/g-sqlite-transaction-commit.mjs +1 -1
- package/g-sqlite-transaction-rollback.mjs +1 -1
- package/g-sqlite.mjs +4 -4
- package/models/tdate.js +38 -0
- package/models/tdatei.js +20 -0
- package/models/tfind.js +50 -0
- package/package.json +3 -3
- package/src/WOrmReladb.mjs +99 -27
- package/src/cvFind.mjs +251 -408
- package/test/api-date-write.mjs +467 -0
- package/test/api-find-whitelist.mjs +390 -0
- package/test/api-mssql.test.mjs +4 -0
- package/test/api-sqlite.test.mjs +4 -0
- package/test/api-suite.mjs +95 -136
- package/test/tools/withTz.mjs +43 -0
- package/test/unit-cvfind.test.mjs +241 -218
- package/test/unit-date-write.test.mjs +457 -0
package/docs/global.html
CHANGED
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
<nav >
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="WOrmReladb.html">WOrmReladb</a><ul class='methods'><li data-type='method'><a href="WOrmReladb.html#.closeSequelize">closeSequelize</a></li><li data-type='method'><a href="WOrmReladb.html#.createStorage">createStorage</a></li><li data-type='method'><a href="WOrmReladb.html#.del">del</a></li><li data-type='method'><a href="WOrmReladb.html#.delAll">delAll</a></li><li data-type='method'><a href="WOrmReladb.html#.genModelsByDB">genModelsByDB</a></li><li data-type='method'><a href="WOrmReladb.html#.genModelsByTabs">genModelsByTabs</a></li><li data-type='method'><a href="WOrmReladb.html#.genTransaction">genTransaction</a></li><li data-type='method'><a href="WOrmReladb.html#.initSequelize">initSequelize</a></li><li data-type='method'><a href="WOrmReladb.html#.insert">insert</a></li><li data-type='method'><a href="WOrmReladb.html#.insertBulk">insertBulk</a></li><li data-type='method'><a href="WOrmReladb.html#.save">save</a></li><li data-type='method'><a href="WOrmReladb.html#.select">select</a></li><li data-type='method'><a href="WOrmReladb.html#.selectByPk">selectByPk</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#cvFind">cvFind</a></li><li><a href="global.html#getColKind">getColKind</a></li><li><a href="global.html#getColScale">getColScale</a></li><li><a href="global.html#importModels">importModels</a></li><li><a href="global.html#isKindOk">isKindOk</a></li><li><a href="global.html#normPk">normPk</a></li></ul>
|
|
32
|
+
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="WOrmReladb.html">WOrmReladb</a><ul class='methods'><li data-type='method'><a href="WOrmReladb.html#.closeSequelize">closeSequelize</a></li><li data-type='method'><a href="WOrmReladb.html#.createStorage">createStorage</a></li><li data-type='method'><a href="WOrmReladb.html#.del">del</a></li><li data-type='method'><a href="WOrmReladb.html#.delAll">delAll</a></li><li data-type='method'><a href="WOrmReladb.html#.genModelsByDB">genModelsByDB</a></li><li data-type='method'><a href="WOrmReladb.html#.genModelsByTabs">genModelsByTabs</a></li><li data-type='method'><a href="WOrmReladb.html#.genTransaction">genTransaction</a></li><li data-type='method'><a href="WOrmReladb.html#.initSequelize">initSequelize</a></li><li data-type='method'><a href="WOrmReladb.html#.insert">insert</a></li><li data-type='method'><a href="WOrmReladb.html#.insertBulk">insertBulk</a></li><li data-type='method'><a href="WOrmReladb.html#.save">save</a></li><li data-type='method'><a href="WOrmReladb.html#.select">select</a></li><li data-type='method'><a href="WOrmReladb.html#.selectByPk">selectByPk</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#cvFind">cvFind</a></li><li><a href="global.html#genDateChecker">genDateChecker</a></li><li><a href="global.html#getColKind">getColKind</a></li><li><a href="global.html#getColScale">getColScale</a></li><li><a href="global.html#importModels">importModels</a></li><li><a href="global.html#inDateRange">inDateRange</a></li><li><a href="global.html#isKindOk">isKindOk</a></li><li><a href="global.html#normPk">normPk</a></li></ul>
|
|
33
33
|
|
|
34
34
|
</nav>
|
|
35
35
|
|
|
@@ -141,15 +141,16 @@
|
|
|
141
141
|
|
|
142
142
|
<dt class="tag-description">Description:</dt>
|
|
143
143
|
<dd class="tag-description"><ul class="dummy"><li><p>將查詢條件轉為sequelize之where, 供select與delAll共用, 令同一find於兩函數由同一SQL謂詞決定命中</p>
|
|
144
|
-
<p>註:
|
|
145
|
-
|
|
146
|
-
註:
|
|
144
|
+
<p>註: 第一步經chkFindShape(wsemi之cvOrmFind)依系列白名單檢核並取複本, 其後只走訪複本; 白名單: 欄位等值{欄:純量|null}、
|
|
145
|
+
$eq $ne $gt $gte $lt $lte(純量)、$in $nin(純量陣列)、$and $or(條件物件之非空陣列); 其餘(含$not $nor $regex $options $exists、RegExp、Symbol鍵、陣列值)一律拋錯
|
|
146
|
+
註: 未給、undefined或{}回傳{}(全部); 其餘非條件物件(null、陣列、字串、數值等)拋錯, 不再視為{}
|
|
147
|
+
註: 與欄位型別不符之純量、不存在之欄一律拋錯, 不得交sequelize之型別stringify(見本檔之chkScalar); NULL依SQL三值邏輯</p></li></ul></dd>
|
|
147
148
|
|
|
148
149
|
|
|
149
150
|
|
|
150
151
|
<dt class="tag-source">Source:</dt>
|
|
151
152
|
<dd class="tag-source"><ul class="dummy"><li>
|
|
152
|
-
<a href="cvFind.mjs.html">cvFind.mjs</a>, <a href="cvFind.mjs.html#
|
|
153
|
+
<a href="cvFind.mjs.html">cvFind.mjs</a>, <a href="cvFind.mjs.html#line851">line 851</a>
|
|
153
154
|
</li></ul></dd>
|
|
154
155
|
|
|
155
156
|
|
|
@@ -306,6 +307,8 @@
|
|
|
306
307
|
|
|
307
308
|
<td class="attributes">
|
|
308
309
|
|
|
310
|
+
<optional><br>
|
|
311
|
+
|
|
309
312
|
|
|
310
313
|
|
|
311
314
|
|
|
@@ -315,7 +318,7 @@
|
|
|
315
318
|
|
|
316
319
|
|
|
317
320
|
|
|
318
|
-
<td class="description last"><p
|
|
321
|
+
<td class="description last"><p>已不使用(原供$regex之LIKE字面常值; 第33項批1移除$regex), 保留接受以相容既有呼叫端</p></td>
|
|
319
322
|
</tr>
|
|
320
323
|
|
|
321
324
|
|
|
@@ -383,7 +386,7 @@
|
|
|
383
386
|
|
|
384
387
|
|
|
385
388
|
|
|
386
|
-
<td class="description last"><p
|
|
389
|
+
<td class="description last"><p>已不使用(原供判定sqlite之LOWER僅折疊ASCII), 保留接受以相容既有呼叫端</p></td>
|
|
387
390
|
</tr>
|
|
388
391
|
|
|
389
392
|
|
|
@@ -511,6 +514,169 @@
|
|
|
511
514
|
|
|
512
515
|
|
|
513
516
|
|
|
517
|
+
<h4 class="name" id="genDateChecker"><span class="type-signature"></span>genDateChecker<span class="signature">(attrs)</span><span class="type-signature"> → {function}</span></h4>
|
|
518
|
+
|
|
519
|
+
|
|
520
|
+
|
|
521
|
+
|
|
522
|
+
|
|
523
|
+
|
|
524
|
+
<dl class="details">
|
|
525
|
+
|
|
526
|
+
<dt class="tag-description">Description:</dt>
|
|
527
|
+
<dd class="tag-description"><ul class="dummy"><li><p>產生寫入數據之DATE/DATEONLY欄範圍檢核函數(R12): 回傳之函數對單筆數據(物件)檢核各DATE、DATEONLY屬性之值,
|
|
528
|
+
回傳第一個無效或範圍外(年份不在1–9999)之屬性名(依model屬性定義順序), 皆合法回傳null
|
|
529
|
+
註: 與條件側共用inDateRange; 只檢核model中型別為DATE(date)與DATEONLY(dateonly)之屬性, 值為null或undefined者不檢;
|
|
530
|
+
非物件之記錄回傳null(由呼叫端前段檢核負責)
|
|
531
|
+
註: 通過檢核之物件值(Date及其子類別、包裝物件、陣列等)就地換成已檢核之標準值(Date或YYYY-MM-DD文字), 令檢查之值即使用之值(見chkWriteDate);
|
|
532
|
+
僅換記錄自有屬性, 原型鏈上之屬性只讀不換(create與bulkCreate不讀原型鏈屬性, update會讀, 故原型鏈上具狀態之getter不在保證範圍)</p></li></ul></dd>
|
|
533
|
+
|
|
534
|
+
|
|
535
|
+
|
|
536
|
+
<dt class="tag-source">Source:</dt>
|
|
537
|
+
<dd class="tag-source"><ul class="dummy"><li>
|
|
538
|
+
<a href="cvFind.mjs.html">cvFind.mjs</a>, <a href="cvFind.mjs.html#line415">line 415</a>
|
|
539
|
+
</li></ul></dd>
|
|
540
|
+
|
|
541
|
+
|
|
542
|
+
|
|
543
|
+
|
|
544
|
+
|
|
545
|
+
|
|
546
|
+
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
|
|
550
|
+
|
|
551
|
+
|
|
552
|
+
|
|
553
|
+
|
|
554
|
+
|
|
555
|
+
|
|
556
|
+
|
|
557
|
+
|
|
558
|
+
|
|
559
|
+
|
|
560
|
+
|
|
561
|
+
|
|
562
|
+
|
|
563
|
+
|
|
564
|
+
|
|
565
|
+
|
|
566
|
+
|
|
567
|
+
|
|
568
|
+
|
|
569
|
+
|
|
570
|
+
|
|
571
|
+
</dl>
|
|
572
|
+
|
|
573
|
+
|
|
574
|
+
|
|
575
|
+
|
|
576
|
+
|
|
577
|
+
|
|
578
|
+
|
|
579
|
+
|
|
580
|
+
|
|
581
|
+
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
<h5 class="h5-parameters">Parameters:</h5>
|
|
586
|
+
|
|
587
|
+
|
|
588
|
+
<table class="params">
|
|
589
|
+
<thead>
|
|
590
|
+
<tr>
|
|
591
|
+
|
|
592
|
+
<th>Name</th>
|
|
593
|
+
|
|
594
|
+
|
|
595
|
+
<th>Type</th>
|
|
596
|
+
|
|
597
|
+
|
|
598
|
+
|
|
599
|
+
|
|
600
|
+
|
|
601
|
+
<th class="last">Description</th>
|
|
602
|
+
</tr>
|
|
603
|
+
</thead>
|
|
604
|
+
|
|
605
|
+
<tbody>
|
|
606
|
+
|
|
607
|
+
|
|
608
|
+
<tr>
|
|
609
|
+
|
|
610
|
+
<td class="name"><code>attrs</code></td>
|
|
611
|
+
|
|
612
|
+
|
|
613
|
+
<td class="type">
|
|
614
|
+
|
|
615
|
+
|
|
616
|
+
<span class="param-type">Object</span>
|
|
617
|
+
|
|
618
|
+
|
|
619
|
+
|
|
620
|
+
|
|
621
|
+
</td>
|
|
622
|
+
|
|
623
|
+
|
|
624
|
+
|
|
625
|
+
|
|
626
|
+
|
|
627
|
+
<td class="description last"><p>輸入model之rawAttributes, 非物件時回傳恆為null之檢核函數</p></td>
|
|
628
|
+
</tr>
|
|
629
|
+
|
|
630
|
+
|
|
631
|
+
</tbody>
|
|
632
|
+
</table>
|
|
633
|
+
|
|
634
|
+
|
|
635
|
+
|
|
636
|
+
|
|
637
|
+
|
|
638
|
+
|
|
639
|
+
|
|
640
|
+
|
|
641
|
+
|
|
642
|
+
|
|
643
|
+
|
|
644
|
+
|
|
645
|
+
|
|
646
|
+
|
|
647
|
+
|
|
648
|
+
|
|
649
|
+
<h5 class="h5-returns">Returns:</h5>
|
|
650
|
+
|
|
651
|
+
|
|
652
|
+
<div class="param-desc">
|
|
653
|
+
<p>回傳檢核函數(rec)=>屬性名字串或null</p>
|
|
654
|
+
</div>
|
|
655
|
+
|
|
656
|
+
|
|
657
|
+
|
|
658
|
+
<dl class="param-type">
|
|
659
|
+
<dt>
|
|
660
|
+
Type
|
|
661
|
+
</dt>
|
|
662
|
+
<dd>
|
|
663
|
+
|
|
664
|
+
<span class="param-type">function</span>
|
|
665
|
+
|
|
666
|
+
|
|
667
|
+
|
|
668
|
+
</dd>
|
|
669
|
+
</dl>
|
|
670
|
+
|
|
671
|
+
|
|
672
|
+
|
|
673
|
+
|
|
674
|
+
|
|
675
|
+
|
|
676
|
+
|
|
677
|
+
|
|
678
|
+
|
|
679
|
+
|
|
514
680
|
<h4 class="name" id="getColKind"><span class="type-signature"></span>getColKind<span class="signature">(attrs, field)</span><span class="type-signature"> → {String}</span></h4>
|
|
515
681
|
|
|
516
682
|
|
|
@@ -527,7 +693,7 @@
|
|
|
527
693
|
|
|
528
694
|
<dt class="tag-source">Source:</dt>
|
|
529
695
|
<dd class="tag-source"><ul class="dummy"><li>
|
|
530
|
-
<a href="cvFind.mjs.html">cvFind.mjs</a>, <a href="cvFind.mjs.html#
|
|
696
|
+
<a href="cvFind.mjs.html">cvFind.mjs</a>, <a href="cvFind.mjs.html#line159">line 159</a>
|
|
531
697
|
</li></ul></dd>
|
|
532
698
|
|
|
533
699
|
|
|
@@ -709,7 +875,7 @@
|
|
|
709
875
|
|
|
710
876
|
<dt class="tag-source">Source:</dt>
|
|
711
877
|
<dd class="tag-source"><ul class="dummy"><li>
|
|
712
|
-
<a href="cvFind.mjs.html">cvFind.mjs</a>, <a href="cvFind.mjs.html#
|
|
878
|
+
<a href="cvFind.mjs.html">cvFind.mjs</a>, <a href="cvFind.mjs.html#line454">line 454</a>
|
|
713
879
|
</li></ul></dd>
|
|
714
880
|
|
|
715
881
|
|
|
@@ -1275,6 +1441,164 @@
|
|
|
1275
1441
|
|
|
1276
1442
|
|
|
1277
1443
|
|
|
1444
|
+
<h4 class="name" id="inDateRange"><span class="type-signature"></span>inDateRange<span class="signature">(ms)</span><span class="type-signature"> → {Boolean}</span></h4>
|
|
1445
|
+
|
|
1446
|
+
|
|
1447
|
+
|
|
1448
|
+
|
|
1449
|
+
|
|
1450
|
+
|
|
1451
|
+
<dl class="details">
|
|
1452
|
+
|
|
1453
|
+
<dt class="tag-description">Description:</dt>
|
|
1454
|
+
<dd class="tag-description"><ul class="dummy"><li><p>判定時間(毫秒)換算UTC後年份是否在1–9999, 供條件側與寫入側共用(R4、R12); 無效時間(NaN、超出Date範圍)為false</p></li></ul></dd>
|
|
1455
|
+
|
|
1456
|
+
|
|
1457
|
+
|
|
1458
|
+
<dt class="tag-source">Source:</dt>
|
|
1459
|
+
<dd class="tag-source"><ul class="dummy"><li>
|
|
1460
|
+
<a href="cvFind.mjs.html">cvFind.mjs</a>, <a href="cvFind.mjs.html#line341">line 341</a>
|
|
1461
|
+
</li></ul></dd>
|
|
1462
|
+
|
|
1463
|
+
|
|
1464
|
+
|
|
1465
|
+
|
|
1466
|
+
|
|
1467
|
+
|
|
1468
|
+
|
|
1469
|
+
|
|
1470
|
+
|
|
1471
|
+
|
|
1472
|
+
|
|
1473
|
+
|
|
1474
|
+
|
|
1475
|
+
|
|
1476
|
+
|
|
1477
|
+
|
|
1478
|
+
|
|
1479
|
+
|
|
1480
|
+
|
|
1481
|
+
|
|
1482
|
+
|
|
1483
|
+
|
|
1484
|
+
|
|
1485
|
+
|
|
1486
|
+
|
|
1487
|
+
|
|
1488
|
+
|
|
1489
|
+
|
|
1490
|
+
|
|
1491
|
+
|
|
1492
|
+
|
|
1493
|
+
</dl>
|
|
1494
|
+
|
|
1495
|
+
|
|
1496
|
+
|
|
1497
|
+
|
|
1498
|
+
|
|
1499
|
+
|
|
1500
|
+
|
|
1501
|
+
|
|
1502
|
+
|
|
1503
|
+
|
|
1504
|
+
|
|
1505
|
+
|
|
1506
|
+
|
|
1507
|
+
<h5 class="h5-parameters">Parameters:</h5>
|
|
1508
|
+
|
|
1509
|
+
|
|
1510
|
+
<table class="params">
|
|
1511
|
+
<thead>
|
|
1512
|
+
<tr>
|
|
1513
|
+
|
|
1514
|
+
<th>Name</th>
|
|
1515
|
+
|
|
1516
|
+
|
|
1517
|
+
<th>Type</th>
|
|
1518
|
+
|
|
1519
|
+
|
|
1520
|
+
|
|
1521
|
+
|
|
1522
|
+
|
|
1523
|
+
<th class="last">Description</th>
|
|
1524
|
+
</tr>
|
|
1525
|
+
</thead>
|
|
1526
|
+
|
|
1527
|
+
<tbody>
|
|
1528
|
+
|
|
1529
|
+
|
|
1530
|
+
<tr>
|
|
1531
|
+
|
|
1532
|
+
<td class="name"><code>ms</code></td>
|
|
1533
|
+
|
|
1534
|
+
|
|
1535
|
+
<td class="type">
|
|
1536
|
+
|
|
1537
|
+
|
|
1538
|
+
<span class="param-type">Number</span>
|
|
1539
|
+
|
|
1540
|
+
|
|
1541
|
+
|
|
1542
|
+
|
|
1543
|
+
</td>
|
|
1544
|
+
|
|
1545
|
+
|
|
1546
|
+
|
|
1547
|
+
|
|
1548
|
+
|
|
1549
|
+
<td class="description last"><p>輸入時間毫秒數</p></td>
|
|
1550
|
+
</tr>
|
|
1551
|
+
|
|
1552
|
+
|
|
1553
|
+
</tbody>
|
|
1554
|
+
</table>
|
|
1555
|
+
|
|
1556
|
+
|
|
1557
|
+
|
|
1558
|
+
|
|
1559
|
+
|
|
1560
|
+
|
|
1561
|
+
|
|
1562
|
+
|
|
1563
|
+
|
|
1564
|
+
|
|
1565
|
+
|
|
1566
|
+
|
|
1567
|
+
|
|
1568
|
+
|
|
1569
|
+
|
|
1570
|
+
|
|
1571
|
+
<h5 class="h5-returns">Returns:</h5>
|
|
1572
|
+
|
|
1573
|
+
|
|
1574
|
+
<div class="param-desc">
|
|
1575
|
+
<p>回傳是否在範圍內</p>
|
|
1576
|
+
</div>
|
|
1577
|
+
|
|
1578
|
+
|
|
1579
|
+
|
|
1580
|
+
<dl class="param-type">
|
|
1581
|
+
<dt>
|
|
1582
|
+
Type
|
|
1583
|
+
</dt>
|
|
1584
|
+
<dd>
|
|
1585
|
+
|
|
1586
|
+
<span class="param-type">Boolean</span>
|
|
1587
|
+
|
|
1588
|
+
|
|
1589
|
+
|
|
1590
|
+
</dd>
|
|
1591
|
+
</dl>
|
|
1592
|
+
|
|
1593
|
+
|
|
1594
|
+
|
|
1595
|
+
|
|
1596
|
+
|
|
1597
|
+
|
|
1598
|
+
|
|
1599
|
+
|
|
1600
|
+
|
|
1601
|
+
|
|
1278
1602
|
<h4 class="name" id="isKindOk"><span class="type-signature"></span>isKindOk<span class="signature">(v, kind)</span><span class="type-signature"> → {Boolean}</span></h4>
|
|
1279
1603
|
|
|
1280
1604
|
|
|
@@ -1294,7 +1618,7 @@
|
|
|
1294
1618
|
|
|
1295
1619
|
<dt class="tag-source">Source:</dt>
|
|
1296
1620
|
<dd class="tag-source"><ul class="dummy"><li>
|
|
1297
|
-
<a href="cvFind.mjs.html">cvFind.mjs</a>, <a href="cvFind.mjs.html#
|
|
1621
|
+
<a href="cvFind.mjs.html">cvFind.mjs</a>, <a href="cvFind.mjs.html#line476">line 476</a>
|
|
1298
1622
|
</li></ul></dd>
|
|
1299
1623
|
|
|
1300
1624
|
|
|
@@ -1485,7 +1809,7 @@ DECIMAL主鍵欄之值小數位多於scale者寫入時會被四捨五入而改
|
|
|
1485
1809
|
|
|
1486
1810
|
<dt class="tag-source">Source:</dt>
|
|
1487
1811
|
<dd class="tag-source"><ul class="dummy"><li>
|
|
1488
|
-
<a href="cvFind.mjs.html">cvFind.mjs</a>, <a href="cvFind.mjs.html#
|
|
1812
|
+
<a href="cvFind.mjs.html">cvFind.mjs</a>, <a href="cvFind.mjs.html#line569">line 569</a>
|
|
1489
1813
|
</li></ul></dd>
|
|
1490
1814
|
|
|
1491
1815
|
|
|
@@ -1737,7 +2061,7 @@ DECIMAL主鍵欄之值小數位多於scale者寫入時會被四捨五入而改
|
|
|
1737
2061
|
<br class="clear">
|
|
1738
2062
|
|
|
1739
2063
|
<footer>
|
|
1740
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on
|
|
2064
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Oct 19 2026 23:23:31 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
1741
2065
|
</footer>
|
|
1742
2066
|
|
|
1743
2067
|
<script>prettyPrint();</script>
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
<nav >
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="WOrmReladb.html">WOrmReladb</a><ul class='methods'><li data-type='method'><a href="WOrmReladb.html#.closeSequelize">closeSequelize</a></li><li data-type='method'><a href="WOrmReladb.html#.createStorage">createStorage</a></li><li data-type='method'><a href="WOrmReladb.html#.del">del</a></li><li data-type='method'><a href="WOrmReladb.html#.delAll">delAll</a></li><li data-type='method'><a href="WOrmReladb.html#.genModelsByDB">genModelsByDB</a></li><li data-type='method'><a href="WOrmReladb.html#.genModelsByTabs">genModelsByTabs</a></li><li data-type='method'><a href="WOrmReladb.html#.genTransaction">genTransaction</a></li><li data-type='method'><a href="WOrmReladb.html#.initSequelize">initSequelize</a></li><li data-type='method'><a href="WOrmReladb.html#.insert">insert</a></li><li data-type='method'><a href="WOrmReladb.html#.insertBulk">insertBulk</a></li><li data-type='method'><a href="WOrmReladb.html#.save">save</a></li><li data-type='method'><a href="WOrmReladb.html#.select">select</a></li><li data-type='method'><a href="WOrmReladb.html#.selectByPk">selectByPk</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#cvFind">cvFind</a></li><li><a href="global.html#getColKind">getColKind</a></li><li><a href="global.html#getColScale">getColScale</a></li><li><a href="global.html#importModels">importModels</a></li><li><a href="global.html#isKindOk">isKindOk</a></li><li><a href="global.html#normPk">normPk</a></li></ul>
|
|
32
|
+
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="WOrmReladb.html">WOrmReladb</a><ul class='methods'><li data-type='method'><a href="WOrmReladb.html#.closeSequelize">closeSequelize</a></li><li data-type='method'><a href="WOrmReladb.html#.createStorage">createStorage</a></li><li data-type='method'><a href="WOrmReladb.html#.del">del</a></li><li data-type='method'><a href="WOrmReladb.html#.delAll">delAll</a></li><li data-type='method'><a href="WOrmReladb.html#.genModelsByDB">genModelsByDB</a></li><li data-type='method'><a href="WOrmReladb.html#.genModelsByTabs">genModelsByTabs</a></li><li data-type='method'><a href="WOrmReladb.html#.genTransaction">genTransaction</a></li><li data-type='method'><a href="WOrmReladb.html#.initSequelize">initSequelize</a></li><li data-type='method'><a href="WOrmReladb.html#.insert">insert</a></li><li data-type='method'><a href="WOrmReladb.html#.insertBulk">insertBulk</a></li><li data-type='method'><a href="WOrmReladb.html#.save">save</a></li><li data-type='method'><a href="WOrmReladb.html#.select">select</a></li><li data-type='method'><a href="WOrmReladb.html#.selectByPk">selectByPk</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#cvFind">cvFind</a></li><li><a href="global.html#genDateChecker">genDateChecker</a></li><li><a href="global.html#getColKind">getColKind</a></li><li><a href="global.html#getColScale">getColScale</a></li><li><a href="global.html#importModels">importModels</a></li><li><a href="global.html#inDateRange">inDateRange</a></li><li><a href="global.html#isKindOk">isKindOk</a></li><li><a href="global.html#normPk">normPk</a></li></ul>
|
|
33
33
|
|
|
34
34
|
</nav>
|
|
35
35
|
|
|
@@ -242,7 +242,7 @@ export default importModels
|
|
|
242
242
|
<br class="clear">
|
|
243
243
|
|
|
244
244
|
<footer>
|
|
245
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on
|
|
245
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Oct 19 2026 23:23:31 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
246
246
|
</footer>
|
|
247
247
|
|
|
248
248
|
<script>prettyPrint();</script>
|
package/docs/index.html
CHANGED
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
<nav >
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="WOrmReladb.html">WOrmReladb</a><ul class='methods'><li data-type='method'><a href="WOrmReladb.html#.closeSequelize">closeSequelize</a></li><li data-type='method'><a href="WOrmReladb.html#.createStorage">createStorage</a></li><li data-type='method'><a href="WOrmReladb.html#.del">del</a></li><li data-type='method'><a href="WOrmReladb.html#.delAll">delAll</a></li><li data-type='method'><a href="WOrmReladb.html#.genModelsByDB">genModelsByDB</a></li><li data-type='method'><a href="WOrmReladb.html#.genModelsByTabs">genModelsByTabs</a></li><li data-type='method'><a href="WOrmReladb.html#.genTransaction">genTransaction</a></li><li data-type='method'><a href="WOrmReladb.html#.initSequelize">initSequelize</a></li><li data-type='method'><a href="WOrmReladb.html#.insert">insert</a></li><li data-type='method'><a href="WOrmReladb.html#.insertBulk">insertBulk</a></li><li data-type='method'><a href="WOrmReladb.html#.save">save</a></li><li data-type='method'><a href="WOrmReladb.html#.select">select</a></li><li data-type='method'><a href="WOrmReladb.html#.selectByPk">selectByPk</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#cvFind">cvFind</a></li><li><a href="global.html#getColKind">getColKind</a></li><li><a href="global.html#getColScale">getColScale</a></li><li><a href="global.html#importModels">importModels</a></li><li><a href="global.html#isKindOk">isKindOk</a></li><li><a href="global.html#normPk">normPk</a></li></ul>
|
|
32
|
+
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="WOrmReladb.html">WOrmReladb</a><ul class='methods'><li data-type='method'><a href="WOrmReladb.html#.closeSequelize">closeSequelize</a></li><li data-type='method'><a href="WOrmReladb.html#.createStorage">createStorage</a></li><li data-type='method'><a href="WOrmReladb.html#.del">del</a></li><li data-type='method'><a href="WOrmReladb.html#.delAll">delAll</a></li><li data-type='method'><a href="WOrmReladb.html#.genModelsByDB">genModelsByDB</a></li><li data-type='method'><a href="WOrmReladb.html#.genModelsByTabs">genModelsByTabs</a></li><li data-type='method'><a href="WOrmReladb.html#.genTransaction">genTransaction</a></li><li data-type='method'><a href="WOrmReladb.html#.initSequelize">initSequelize</a></li><li data-type='method'><a href="WOrmReladb.html#.insert">insert</a></li><li data-type='method'><a href="WOrmReladb.html#.insertBulk">insertBulk</a></li><li data-type='method'><a href="WOrmReladb.html#.save">save</a></li><li data-type='method'><a href="WOrmReladb.html#.select">select</a></li><li data-type='method'><a href="WOrmReladb.html#.selectByPk">selectByPk</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#cvFind">cvFind</a></li><li><a href="global.html#genDateChecker">genDateChecker</a></li><li><a href="global.html#getColKind">getColKind</a></li><li><a href="global.html#getColScale">getColScale</a></li><li><a href="global.html#importModels">importModels</a></li><li><a href="global.html#inDateRange">inDateRange</a></li><li><a href="global.html#isKindOk">isKindOk</a></li><li><a href="global.html#normPk">normPk</a></li></ul>
|
|
33
33
|
|
|
34
34
|
</nav>
|
|
35
35
|
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
<br class="clear">
|
|
72
72
|
|
|
73
73
|
<footer>
|
|
74
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on
|
|
74
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Oct 19 2026 23:23:31 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
75
75
|
</footer>
|
|
76
76
|
|
|
77
77
|
<script>prettyPrint();</script>
|
|
@@ -129,7 +129,7 @@ async function testCommit() {
|
|
|
129
129
|
|
|
130
130
|
|
|
131
131
|
//select all
|
|
132
|
-
let ssBeforeCommit = await w.select(
|
|
132
|
+
let ssBeforeCommit = await w.select({}, connState)
|
|
133
133
|
console.log('select all (before commit)', ssBeforeCommit) //此時select可查到暫時有效的數據
|
|
134
134
|
// => [
|
|
135
135
|
// { id: 'id-peter', name: 'peter(modify)', value: 123 },
|
|
@@ -129,7 +129,7 @@ async function testRollback() {
|
|
|
129
129
|
|
|
130
130
|
|
|
131
131
|
//select all
|
|
132
|
-
let ssBeforeRollback = await w.select(
|
|
132
|
+
let ssBeforeRollback = await w.select({}, connState)
|
|
133
133
|
console.log('select all (before rollback)', ssBeforeRollback) //此時select可查到暫時有效的數據
|
|
134
134
|
// => [
|
|
135
135
|
// { id: 'id-peter', name: 'peter(modify)', value: 123 },
|
package/g-mssql.mjs
CHANGED
|
@@ -133,9 +133,9 @@ async function test() {
|
|
|
133
133
|
console.log('select by $or, $and, $ne, $in, $nin', spc)
|
|
134
134
|
|
|
135
135
|
|
|
136
|
-
//select by
|
|
137
|
-
let sr = await w.select({ name:
|
|
138
|
-
console.log('
|
|
136
|
+
//select by equality (there is no pattern matching: filter in memory for substrings)
|
|
137
|
+
let sr = await w.select({ name: 'peter(modify)' })
|
|
138
|
+
console.log('selectEq', sr)
|
|
139
139
|
|
|
140
140
|
|
|
141
141
|
//del
|
|
@@ -189,7 +189,7 @@ test()
|
|
|
189
189
|
// { id: 'id-rosemary', name: 'rosemary(modify)', value: 123.456 },
|
|
190
190
|
// { id: '{random id}', name: 'kettle', value: 456 }
|
|
191
191
|
// ]
|
|
192
|
-
//
|
|
192
|
+
// selectEq [
|
|
193
193
|
// { id: 'id-peter', name: 'peter(modify)', value: 123 }
|
|
194
194
|
// ]
|
|
195
195
|
// change del
|
|
@@ -137,7 +137,7 @@
|
|
|
137
137
|
|
|
138
138
|
|
|
139
139
|
// //select all
|
|
140
|
-
// let ssBeforeCommit = await w.select(
|
|
140
|
+
// let ssBeforeCommit = await w.select({}, connState)
|
|
141
141
|
// console.log('select all (before commit)', ssBeforeCommit) //此時select可查到暫時有效的數據
|
|
142
142
|
// // => [
|
|
143
143
|
// // { id: 'id-peter', name: 'peter(modify)', value: 123 },
|
package/g-sqlite-encryption.mjs
CHANGED
|
@@ -148,9 +148,9 @@ async function test() {
|
|
|
148
148
|
console.log('select by $or, $and, $ne, $in, $nin', spc)
|
|
149
149
|
|
|
150
150
|
|
|
151
|
-
//select by
|
|
152
|
-
let sr = await w.select({ name:
|
|
153
|
-
console.log('
|
|
151
|
+
//select by equality (there is no pattern matching: filter in memory for substrings)
|
|
152
|
+
let sr = await w.select({ name: 'peter(modify)' })
|
|
153
|
+
console.log('selectEq', sr)
|
|
154
154
|
|
|
155
155
|
|
|
156
156
|
//del
|
|
@@ -204,7 +204,7 @@ test()
|
|
|
204
204
|
// { id: 'id-rosemary', name: 'rosemary(modify)', value: 123.456 },
|
|
205
205
|
// { id: '{random id}', name: 'kettle', value: 456 }
|
|
206
206
|
// ]
|
|
207
|
-
//
|
|
207
|
+
// selectEq [
|
|
208
208
|
// { id: 'id-peter', name: 'peter(modify)', value: 123 }
|
|
209
209
|
// ]
|
|
210
210
|
// change del
|
|
@@ -136,7 +136,7 @@ async function testCommit() {
|
|
|
136
136
|
|
|
137
137
|
|
|
138
138
|
//select all
|
|
139
|
-
let ssBeforeCommit = await w.select(
|
|
139
|
+
let ssBeforeCommit = await w.select({}, connState)
|
|
140
140
|
console.log('select all (before commit)', ssBeforeCommit) //此時select可查到暫時有效的數據
|
|
141
141
|
// => [
|
|
142
142
|
// { id: 'id-peter', name: 'peter(modify)', value: 123 },
|
|
@@ -136,7 +136,7 @@ async function testRollback() {
|
|
|
136
136
|
|
|
137
137
|
|
|
138
138
|
//select all
|
|
139
|
-
let ssBeforeRollback = await w.select(
|
|
139
|
+
let ssBeforeRollback = await w.select({}, connState)
|
|
140
140
|
console.log('select all (before rollback)', ssBeforeRollback) //此時select可查到暫時有效的數據
|
|
141
141
|
// => [
|
|
142
142
|
// { id: 'id-peter', name: 'peter(modify)', value: 123 },
|
package/g-sqlite.mjs
CHANGED
|
@@ -141,9 +141,9 @@ async function test() {
|
|
|
141
141
|
console.log('select by $or, $and, $ne, $in, $nin', spc)
|
|
142
142
|
|
|
143
143
|
|
|
144
|
-
//select by
|
|
145
|
-
let sr = await w.select({ name:
|
|
146
|
-
console.log('
|
|
144
|
+
//select by equality (there is no pattern matching: filter in memory for substrings)
|
|
145
|
+
let sr = await w.select({ name: 'peter(modify)' })
|
|
146
|
+
console.log('selectEq', sr)
|
|
147
147
|
|
|
148
148
|
|
|
149
149
|
//del
|
|
@@ -197,7 +197,7 @@ test()
|
|
|
197
197
|
// { id: 'id-rosemary', name: 'rosemary(modify)', value: 123.456 },
|
|
198
198
|
// { id: '{random id}', name: 'kettle', value: 456 }
|
|
199
199
|
// ]
|
|
200
|
-
//
|
|
200
|
+
// selectEq [
|
|
201
201
|
// { id: 'id-peter', name: 'peter(modify)', value: 123 }
|
|
202
202
|
// ]
|
|
203
203
|
// change del
|
package/models/tdate.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/* jshint indent: 1 */
|
|
2
|
+
module.exports = function(sequelize, DataTypes) {
|
|
3
|
+
return sequelize.define('tdate', {
|
|
4
|
+
'id': {
|
|
5
|
+
type: DataTypes.STRING,
|
|
6
|
+
allowNull: false,
|
|
7
|
+
primaryKey: true,
|
|
8
|
+
autoIncrement: false,
|
|
9
|
+
comment: null
|
|
10
|
+
},
|
|
11
|
+
'n': {
|
|
12
|
+
type: DataTypes.STRING,
|
|
13
|
+
allowNull: true,
|
|
14
|
+
autoIncrement: false,
|
|
15
|
+
comment: null
|
|
16
|
+
},
|
|
17
|
+
'd': {
|
|
18
|
+
type: DataTypes.DATE,
|
|
19
|
+
allowNull: true,
|
|
20
|
+
autoIncrement: false,
|
|
21
|
+
comment: null
|
|
22
|
+
},
|
|
23
|
+
'd2': {
|
|
24
|
+
type: DataTypes.DATE,
|
|
25
|
+
allowNull: true,
|
|
26
|
+
autoIncrement: false,
|
|
27
|
+
comment: null
|
|
28
|
+
},
|
|
29
|
+
'o': {
|
|
30
|
+
type: DataTypes.DATEONLY,
|
|
31
|
+
allowNull: true,
|
|
32
|
+
autoIncrement: false,
|
|
33
|
+
comment: null
|
|
34
|
+
}
|
|
35
|
+
}, {
|
|
36
|
+
tableName: 'tdate'
|
|
37
|
+
});
|
|
38
|
+
};
|
package/models/tdatei.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/* jshint indent: 1 */
|
|
2
|
+
module.exports = function(sequelize, DataTypes) {
|
|
3
|
+
return sequelize.define('tdatei', {
|
|
4
|
+
'id': {
|
|
5
|
+
type: DataTypes.INTEGER,
|
|
6
|
+
allowNull: false,
|
|
7
|
+
primaryKey: true,
|
|
8
|
+
autoIncrement: false,
|
|
9
|
+
comment: null
|
|
10
|
+
},
|
|
11
|
+
'd': {
|
|
12
|
+
type: DataTypes.DATE,
|
|
13
|
+
allowNull: true,
|
|
14
|
+
autoIncrement: false,
|
|
15
|
+
comment: null
|
|
16
|
+
}
|
|
17
|
+
}, {
|
|
18
|
+
tableName: 'tdatei'
|
|
19
|
+
});
|
|
20
|
+
};
|