pure-orm 4.0.2 → 4.1.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/.benchmarks/bench-core-baseline.json +303 -0
- package/.eslintrc.json +20 -10
- package/README.md +0 -7
- package/coverage/clover.xml +1493 -1232
- package/coverage/coverage-final.json +103 -103
- package/coverage/lcov-report/dist/src/core.js.html +590 -383
- package/coverage/lcov-report/dist/src/driver-integrations/index.html +20 -20
- package/coverage/lcov-report/dist/src/driver-integrations/pgp.js.html +52 -52
- package/coverage/lcov-report/dist/src/index.html +28 -28
- package/coverage/lcov-report/dist/src/index.js.html +2 -2
- package/coverage/lcov-report/dist/src/orm.js.html +392 -209
- package/coverage/lcov-report/dist/test-utils/blog/entities.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/blog/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/blog/models/article.js.html +15 -15
- package/coverage/lcov-report/dist/test-utils/blog/models/article_tag.js.html +2 -2
- package/coverage/lcov-report/dist/test-utils/blog/models/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/blog/models/person.js.html +13 -13
- package/coverage/lcov-report/dist/test-utils/blog/models/tag.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/five/entities.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/five/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/five/models/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/five/models/line-item.js.html +4 -4
- package/coverage/lcov-report/dist/test-utils/five/models/order.js.html +3 -3
- package/coverage/lcov-report/dist/test-utils/five/models/parcel-event.js.html +6 -6
- package/coverage/lcov-report/dist/test-utils/five/models/parcel-line-item.js.html +7 -7
- package/coverage/lcov-report/dist/test-utils/five/models/parcel.js.html +2 -2
- package/coverage/lcov-report/dist/test-utils/fourteen/entities.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/fourteen/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/fourteen/models/customer.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/fourteen/models/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/fourteen/models/person.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/nine/entities.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/nine/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/nine/models/feature-switch.js.html +6 -6
- package/coverage/lcov-report/dist/test-utils/nine/models/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order/entities.js.html +9 -9
- package/coverage/lcov-report/dist/test-utils/order/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order/models/index.html +14 -14
- package/coverage/lcov-report/dist/test-utils/order/models/line-item.js.html +11 -11
- package/coverage/lcov-report/dist/test-utils/order/models/order.js.html +41 -41
- package/coverage/lcov-report/dist/test-utils/order/models/product-variant.js.html +18 -18
- package/coverage/lcov-report/dist/test-utils/order/models/product.js.html +17 -17
- package/coverage/lcov-report/dist/test-utils/order/models/utm-source.js.html +12 -12
- package/coverage/lcov-report/dist/test-utils/order-more/entities.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/order-more/models/actual-product-variant.js.html +3 -3
- package/coverage/lcov-report/dist/test-utils/order-more/models/color.js.html +6 -6
- package/coverage/lcov-report/dist/test-utils/order-more/models/customer.js.html +3 -3
- package/coverage/lcov-report/dist/test-utils/order-more/models/gender.js.html +4 -4
- package/coverage/lcov-report/dist/test-utils/order-more/models/index.html +23 -23
- package/coverage/lcov-report/dist/test-utils/order-more/models/inventory-level.js.html +11 -11
- package/coverage/lcov-report/dist/test-utils/order-more/models/line-item.js.html +15 -15
- package/coverage/lcov-report/dist/test-utils/order-more/models/order.js.html +39 -39
- package/coverage/lcov-report/dist/test-utils/order-more/models/parcel-event.js.html +6 -6
- package/coverage/lcov-report/dist/test-utils/order-more/models/parcel-line-item.js.html +7 -7
- package/coverage/lcov-report/dist/test-utils/order-more/models/parcel.js.html +2 -2
- package/coverage/lcov-report/dist/test-utils/order-more/models/physical-address.js.html +12 -12
- package/coverage/lcov-report/dist/test-utils/order-more/models/product-variant-image.js.html +7 -7
- package/coverage/lcov-report/dist/test-utils/order-more/models/product-variant.js.html +22 -22
- package/coverage/lcov-report/dist/test-utils/order-more/models/product.js.html +11 -11
- package/coverage/lcov-report/dist/test-utils/order-more/models/refund.js.html +11 -11
- package/coverage/lcov-report/dist/test-utils/order-more/models/shipment-actual-product-variant.js.html +9 -9
- package/coverage/lcov-report/dist/test-utils/order-more/models/shipment.js.html +4 -4
- package/coverage/lcov-report/dist/test-utils/order-more/models/size.js.html +4 -4
- package/coverage/lcov-report/dist/test-utils/order-more/models/utm-medium.js.html +15 -15
- package/coverage/lcov-report/dist/test-utils/order-more/models/utm-source.js.html +17 -17
- package/coverage/lcov-report/dist/test-utils/six/entities.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/six/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/six/models/customer.js.html +3 -3
- package/coverage/lcov-report/dist/test-utils/six/models/index.html +21 -21
- package/coverage/lcov-report/dist/test-utils/six/models/line-item.js.html +10 -10
- package/coverage/lcov-report/dist/test-utils/six/models/order.js.html +13 -13
- package/coverage/lcov-report/dist/test-utils/six/models/parcel-line-item.js.html +2 -2
- package/coverage/lcov-report/dist/test-utils/six/models/parcel.js.html +2 -2
- package/coverage/lcov-report/dist/test-utils/thirteen/entities.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/thirteen/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/thirteen/models/audience.js.html +2 -2
- package/coverage/lcov-report/dist/test-utils/thirteen/models/brand.js.html +2 -2
- package/coverage/lcov-report/dist/test-utils/thirteen/models/category.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/thirteen/models/index.html +14 -14
- package/coverage/lcov-report/dist/test-utils/thirteen/models/member.js.html +2 -2
- package/coverage/lcov-report/dist/test-utils/thirteen/models/passion.js.html +2 -2
- package/coverage/lcov-report/dist/test-utils/thirteen/models/product.js.html +10 -10
- package/coverage/lcov-report/dist/test-utils/thirteen/models/recommendation-audience.js.html +2 -2
- package/coverage/lcov-report/dist/test-utils/thirteen/models/recommendation.js.html +2 -2
- package/coverage/lcov-report/dist/test-utils/three/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/three/results.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/twelve/entities.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/twelve/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/twelve/models/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/twelve/models/member.js.html +1 -1
- package/coverage/lcov-report/dist/test-utils/twelve/models/prompt.js.html +2 -2
- package/coverage/lcov-report/dist/test-utils/two/index.html +1 -1
- package/coverage/lcov-report/dist/test-utils/two/results.js.html +1 -1
- package/coverage/lcov-report/index.html +103 -103
- package/coverage/lcov-report/src/core.ts.html +841 -415
- package/coverage/lcov-report/src/driver-integrations/index.html +20 -20
- package/coverage/lcov-report/src/driver-integrations/pgp.ts.html +63 -63
- package/coverage/lcov-report/src/index.html +28 -28
- package/coverage/lcov-report/src/index.ts.html +1 -1
- package/coverage/lcov-report/src/orm.ts.html +388 -298
- package/coverage/lcov-report/test-utils/blog/entities.ts.html +1 -1
- package/coverage/lcov-report/test-utils/blog/index.html +1 -1
- package/coverage/lcov-report/test-utils/blog/models/article.ts.html +15 -15
- package/coverage/lcov-report/test-utils/blog/models/article_tag.ts.html +2 -2
- package/coverage/lcov-report/test-utils/blog/models/index.html +1 -1
- package/coverage/lcov-report/test-utils/blog/models/person.ts.html +13 -13
- package/coverage/lcov-report/test-utils/blog/models/tag.ts.html +1 -1
- package/coverage/lcov-report/test-utils/five/entities.ts.html +1 -1
- package/coverage/lcov-report/test-utils/five/index.html +1 -1
- package/coverage/lcov-report/test-utils/five/models/index.html +1 -1
- package/coverage/lcov-report/test-utils/five/models/line-item.ts.html +4 -4
- package/coverage/lcov-report/test-utils/five/models/order.ts.html +3 -3
- package/coverage/lcov-report/test-utils/five/models/parcel-event.ts.html +6 -6
- package/coverage/lcov-report/test-utils/five/models/parcel-line-item.ts.html +7 -7
- package/coverage/lcov-report/test-utils/five/models/parcel.ts.html +2 -2
- package/coverage/lcov-report/test-utils/fourteen/entities.ts.html +1 -1
- package/coverage/lcov-report/test-utils/fourteen/index.html +1 -1
- package/coverage/lcov-report/test-utils/fourteen/models/customer.ts.html +1 -1
- package/coverage/lcov-report/test-utils/fourteen/models/index.html +1 -1
- package/coverage/lcov-report/test-utils/fourteen/models/person.ts.html +1 -1
- package/coverage/lcov-report/test-utils/nine/entities.ts.html +1 -1
- package/coverage/lcov-report/test-utils/nine/index.html +1 -1
- package/coverage/lcov-report/test-utils/nine/models/feature-switch.ts.html +8 -8
- package/coverage/lcov-report/test-utils/nine/models/index.html +1 -1
- package/coverage/lcov-report/test-utils/order/entities.ts.html +2 -2
- package/coverage/lcov-report/test-utils/order/index.html +1 -1
- package/coverage/lcov-report/test-utils/order/models/index.html +14 -14
- package/coverage/lcov-report/test-utils/order/models/line-item.ts.html +5 -5
- package/coverage/lcov-report/test-utils/order/models/order.ts.html +36 -36
- package/coverage/lcov-report/test-utils/order/models/product-variant.ts.html +13 -13
- package/coverage/lcov-report/test-utils/order/models/product.ts.html +13 -13
- package/coverage/lcov-report/test-utils/order/models/utm-source.ts.html +8 -8
- package/coverage/lcov-report/test-utils/order-more/entities.ts.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/index.html +1 -1
- package/coverage/lcov-report/test-utils/order-more/models/actual-product-variant.ts.html +3 -3
- package/coverage/lcov-report/test-utils/order-more/models/color.ts.html +6 -6
- package/coverage/lcov-report/test-utils/order-more/models/customer.ts.html +3 -3
- package/coverage/lcov-report/test-utils/order-more/models/gender.ts.html +4 -4
- package/coverage/lcov-report/test-utils/order-more/models/index.html +23 -23
- package/coverage/lcov-report/test-utils/order-more/models/inventory-level.ts.html +11 -11
- package/coverage/lcov-report/test-utils/order-more/models/line-item.ts.html +15 -15
- package/coverage/lcov-report/test-utils/order-more/models/order.ts.html +45 -45
- package/coverage/lcov-report/test-utils/order-more/models/parcel-event.ts.html +6 -6
- package/coverage/lcov-report/test-utils/order-more/models/parcel-line-item.ts.html +7 -7
- package/coverage/lcov-report/test-utils/order-more/models/parcel.ts.html +2 -2
- package/coverage/lcov-report/test-utils/order-more/models/physical-address.ts.html +12 -12
- package/coverage/lcov-report/test-utils/order-more/models/product-variant-image.ts.html +7 -7
- package/coverage/lcov-report/test-utils/order-more/models/product-variant.ts.html +22 -22
- package/coverage/lcov-report/test-utils/order-more/models/product.ts.html +11 -11
- package/coverage/lcov-report/test-utils/order-more/models/refund.ts.html +11 -11
- package/coverage/lcov-report/test-utils/order-more/models/shipment-actual-product-variant.ts.html +9 -9
- package/coverage/lcov-report/test-utils/order-more/models/shipment.ts.html +4 -4
- package/coverage/lcov-report/test-utils/order-more/models/size.ts.html +4 -4
- package/coverage/lcov-report/test-utils/order-more/models/utm-medium.ts.html +15 -15
- package/coverage/lcov-report/test-utils/order-more/models/utm-source.ts.html +17 -17
- package/coverage/lcov-report/test-utils/six/entities.ts.html +1 -1
- package/coverage/lcov-report/test-utils/six/index.html +1 -1
- package/coverage/lcov-report/test-utils/six/models/customer.ts.html +3 -3
- package/coverage/lcov-report/test-utils/six/models/index.html +21 -21
- package/coverage/lcov-report/test-utils/six/models/line-item.ts.html +10 -10
- package/coverage/lcov-report/test-utils/six/models/order.ts.html +13 -13
- package/coverage/lcov-report/test-utils/six/models/parcel-line-item.ts.html +2 -2
- package/coverage/lcov-report/test-utils/six/models/parcel.ts.html +2 -2
- package/coverage/lcov-report/test-utils/thirteen/entities.ts.html +1 -1
- package/coverage/lcov-report/test-utils/thirteen/index.html +1 -1
- package/coverage/lcov-report/test-utils/thirteen/models/audience.ts.html +2 -2
- package/coverage/lcov-report/test-utils/thirteen/models/brand.ts.html +2 -2
- package/coverage/lcov-report/test-utils/thirteen/models/category.ts.html +1 -1
- package/coverage/lcov-report/test-utils/thirteen/models/index.html +14 -14
- package/coverage/lcov-report/test-utils/thirteen/models/member.ts.html +2 -2
- package/coverage/lcov-report/test-utils/thirteen/models/passion.ts.html +2 -2
- package/coverage/lcov-report/test-utils/thirteen/models/product.ts.html +10 -10
- package/coverage/lcov-report/test-utils/thirteen/models/recommendation-audience.ts.html +2 -2
- package/coverage/lcov-report/test-utils/thirteen/models/recommendation.ts.html +2 -2
- package/coverage/lcov-report/test-utils/three/index.html +1 -1
- package/coverage/lcov-report/test-utils/three/results.js.html +1 -1
- package/coverage/lcov-report/test-utils/twelve/entities.ts.html +1 -1
- package/coverage/lcov-report/test-utils/twelve/index.html +1 -1
- package/coverage/lcov-report/test-utils/twelve/models/index.html +1 -1
- package/coverage/lcov-report/test-utils/twelve/models/member.ts.html +1 -1
- package/coverage/lcov-report/test-utils/twelve/models/prompt.ts.html +2 -2
- package/coverage/lcov-report/test-utils/two/index.html +1 -1
- package/coverage/lcov-report/test-utils/two/results.js.html +1 -1
- package/coverage/lcov.info +2136 -1991
- package/dist/example/data-access/person.d.ts +1 -1
- package/dist/src/core.d.ts +13 -7
- package/dist/src/core.js +258 -189
- package/dist/src/core.spec.js +413 -0
- package/dist/src/driver-integrations/index.d.ts +5 -5
- package/dist/src/driver-integrations/pgp.spec.d.ts +1 -0
- package/dist/src/driver-integrations/pgp.spec.js +376 -0
- package/dist/src/orm.d.ts +9 -9
- package/dist/src/orm.js +137 -76
- package/dist/src/orm.spec.js +535 -85
- package/dist/test-utils/nine/models/feature-switch.d.ts +2 -2
- package/dist/test-utils/nine/models/feature-switch.ts +2 -2
- package/example/data-access/person.ts +1 -1
- package/package.json +9 -6
- package/scripts/bench-core.js +636 -0
- package/scripts/check-bench-scenarios.js +47 -0
- package/src/core.spec.ts +485 -2
- package/src/core.ts +369 -227
- package/src/driver-integrations/index.ts +5 -5
- package/src/driver-integrations/pgp.spec.ts +444 -0
- package/src/driver-integrations/pgp.ts +5 -5
- package/src/orm.spec.ts +592 -88
- package/src/orm.ts +173 -143
- package/test-utils/nine/models/feature-switch.ts +2 -2
|
@@ -20,31 +20,31 @@
|
|
|
20
20
|
</h1>
|
|
21
21
|
<div class='clearfix'>
|
|
22
22
|
<div class='fl pad1y space-right2'>
|
|
23
|
-
<span class="strong">
|
|
23
|
+
<span class="strong">100% </span>
|
|
24
24
|
<span class="quiet">Statements</span>
|
|
25
|
-
<span class='fraction'>
|
|
25
|
+
<span class='fraction'>154/154</span>
|
|
26
26
|
</div>
|
|
27
27
|
<div class='fl pad1y space-right2'>
|
|
28
|
-
<span class="strong">
|
|
28
|
+
<span class="strong">88.89% </span>
|
|
29
29
|
<span class="quiet">Branches</span>
|
|
30
|
-
<span class='fraction'>
|
|
30
|
+
<span class='fraction'>24/27</span>
|
|
31
31
|
</div>
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
34
|
<span class="quiet">Functions</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>17/17</span>
|
|
36
36
|
</div>
|
|
37
37
|
<div class='fl pad1y space-right2'>
|
|
38
|
-
<span class="strong">
|
|
38
|
+
<span class="strong">100% </span>
|
|
39
39
|
<span class="quiet">Lines</span>
|
|
40
|
-
<span class='fraction'>
|
|
40
|
+
<span class='fraction'>148/148</span>
|
|
41
41
|
</div>
|
|
42
42
|
</div>
|
|
43
43
|
<p class="quiet">
|
|
44
44
|
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
45
45
|
</p>
|
|
46
46
|
</div>
|
|
47
|
-
<div class='status-line
|
|
47
|
+
<div class='status-line high'></div>
|
|
48
48
|
<pre><table class="coverage">
|
|
49
49
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
50
50
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -383,7 +383,37 @@
|
|
|
383
383
|
<a name='L335'></a><a href='#L335'>335</a>
|
|
384
384
|
<a name='L336'></a><a href='#L336'>336</a>
|
|
385
385
|
<a name='L337'></a><a href='#L337'>337</a>
|
|
386
|
-
<a name='L338'></a><a href='#L338'>338</a
|
|
386
|
+
<a name='L338'></a><a href='#L338'>338</a>
|
|
387
|
+
<a name='L339'></a><a href='#L339'>339</a>
|
|
388
|
+
<a name='L340'></a><a href='#L340'>340</a>
|
|
389
|
+
<a name='L341'></a><a href='#L341'>341</a>
|
|
390
|
+
<a name='L342'></a><a href='#L342'>342</a>
|
|
391
|
+
<a name='L343'></a><a href='#L343'>343</a>
|
|
392
|
+
<a name='L344'></a><a href='#L344'>344</a>
|
|
393
|
+
<a name='L345'></a><a href='#L345'>345</a>
|
|
394
|
+
<a name='L346'></a><a href='#L346'>346</a>
|
|
395
|
+
<a name='L347'></a><a href='#L347'>347</a>
|
|
396
|
+
<a name='L348'></a><a href='#L348'>348</a>
|
|
397
|
+
<a name='L349'></a><a href='#L349'>349</a>
|
|
398
|
+
<a name='L350'></a><a href='#L350'>350</a>
|
|
399
|
+
<a name='L351'></a><a href='#L351'>351</a>
|
|
400
|
+
<a name='L352'></a><a href='#L352'>352</a>
|
|
401
|
+
<a name='L353'></a><a href='#L353'>353</a>
|
|
402
|
+
<a name='L354'></a><a href='#L354'>354</a>
|
|
403
|
+
<a name='L355'></a><a href='#L355'>355</a>
|
|
404
|
+
<a name='L356'></a><a href='#L356'>356</a>
|
|
405
|
+
<a name='L357'></a><a href='#L357'>357</a>
|
|
406
|
+
<a name='L358'></a><a href='#L358'>358</a>
|
|
407
|
+
<a name='L359'></a><a href='#L359'>359</a>
|
|
408
|
+
<a name='L360'></a><a href='#L360'>360</a>
|
|
409
|
+
<a name='L361'></a><a href='#L361'>361</a>
|
|
410
|
+
<a name='L362'></a><a href='#L362'>362</a>
|
|
411
|
+
<a name='L363'></a><a href='#L363'>363</a>
|
|
412
|
+
<a name='L364'></a><a href='#L364'>364</a>
|
|
413
|
+
<a name='L365'></a><a href='#L365'>365</a>
|
|
414
|
+
<a name='L366'></a><a href='#L366'>366</a>
|
|
415
|
+
<a name='L367'></a><a href='#L367'>367</a>
|
|
416
|
+
<a name='L368'></a><a href='#L368'>368</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
387
417
|
<span class="cline-any cline-neutral"> </span>
|
|
388
418
|
<span class="cline-any cline-neutral"> </span>
|
|
389
419
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -440,267 +470,297 @@
|
|
|
440
470
|
<span class="cline-any cline-neutral"> </span>
|
|
441
471
|
<span class="cline-any cline-neutral"> </span>
|
|
442
472
|
<span class="cline-any cline-neutral"> </span>
|
|
443
|
-
<span class="cline-any cline-yes">1x</span>
|
|
444
|
-
<span class="cline-any cline-neutral"> </span>
|
|
445
|
-
<span class="cline-any cline-neutral"> </span>
|
|
446
|
-
<span class="cline-any cline-neutral"> </span>
|
|
447
|
-
<span class="cline-any cline-neutral"> </span>
|
|
448
|
-
<span class="cline-any cline-yes">6x</span>
|
|
449
|
-
<span class="cline-any cline-neutral"> </span>
|
|
450
|
-
<span class="cline-any cline-neutral"> </span>
|
|
451
|
-
<span class="cline-any cline-yes">6x</span>
|
|
452
|
-
<span class="cline-any cline-yes">6x</span>
|
|
453
|
-
<span class="cline-any cline-neutral"> </span>
|
|
454
|
-
<span class="cline-any cline-no"> </span>
|
|
455
|
-
<span class="cline-any cline-neutral"> </span>
|
|
456
|
-
<span class="cline-any cline-neutral"> </span>
|
|
457
|
-
<span class="cline-any cline-neutral"> </span>
|
|
458
|
-
<span class="cline-any cline-neutral"> </span>
|
|
459
|
-
<span class="cline-any cline-neutral"> </span>
|
|
460
|
-
<span class="cline-any cline-neutral"> </span>
|
|
461
|
-
<span class="cline-any cline-neutral"> </span>
|
|
462
|
-
<span class="cline-any cline-neutral"> </span>
|
|
463
|
-
<span class="cline-any cline-yes">6x</span>
|
|
464
473
|
<span class="cline-any cline-neutral"> </span>
|
|
465
474
|
<span class="cline-any cline-neutral"> </span>
|
|
466
475
|
<span class="cline-any cline-yes">1x</span>
|
|
467
476
|
<span class="cline-any cline-neutral"> </span>
|
|
468
477
|
<span class="cline-any cline-neutral"> </span>
|
|
469
478
|
<span class="cline-any cline-neutral"> </span>
|
|
470
|
-
<span class="cline-any cline-yes">24x</span>
|
|
471
|
-
<span class="cline-any cline-neutral"> </span>
|
|
472
|
-
<span class="cline-any cline-neutral"> </span>
|
|
473
479
|
<span class="cline-any cline-neutral"> </span>
|
|
480
|
+
<span class="cline-any cline-yes">41x</span>
|
|
474
481
|
<span class="cline-any cline-neutral"> </span>
|
|
475
482
|
<span class="cline-any cline-neutral"> </span>
|
|
476
|
-
<span class="cline-any cline-yes">
|
|
483
|
+
<span class="cline-any cline-yes">41x</span>
|
|
484
|
+
<span class="cline-any cline-yes">40x</span>
|
|
477
485
|
<span class="cline-any cline-neutral"> </span>
|
|
478
486
|
<span class="cline-any cline-yes">1x</span>
|
|
479
487
|
<span class="cline-any cline-neutral"> </span>
|
|
480
488
|
<span class="cline-any cline-neutral"> </span>
|
|
481
|
-
<span class="cline-any cline-yes">24x</span>
|
|
482
489
|
<span class="cline-any cline-neutral"> </span>
|
|
483
|
-
<span class="cline-any cline-yes">24x</span>
|
|
484
|
-
<span class="cline-any cline-yes">1x</span>
|
|
485
|
-
<span class="cline-any cline-yes">4x</span>
|
|
486
490
|
<span class="cline-any cline-neutral"> </span>
|
|
487
|
-
<span class="cline-any cline-yes">1x</span>
|
|
488
491
|
<span class="cline-any cline-neutral"> </span>
|
|
489
492
|
<span class="cline-any cline-neutral"> </span>
|
|
490
|
-
<span class="cline-any cline-yes">6x</span>
|
|
491
493
|
<span class="cline-any cline-neutral"> </span>
|
|
492
494
|
<span class="cline-any cline-neutral"> </span>
|
|
493
495
|
<span class="cline-any cline-neutral"> </span>
|
|
494
|
-
<span class="cline-any cline-yes">1x</span>
|
|
495
496
|
<span class="cline-any cline-neutral"> </span>
|
|
496
497
|
<span class="cline-any cline-neutral"> </span>
|
|
497
498
|
<span class="cline-any cline-neutral"> </span>
|
|
498
|
-
<span class="cline-any cline-yes">24x</span>
|
|
499
499
|
<span class="cline-any cline-neutral"> </span>
|
|
500
500
|
<span class="cline-any cline-neutral"> </span>
|
|
501
501
|
<span class="cline-any cline-neutral"> </span>
|
|
502
|
+
<span class="cline-any cline-yes">40x</span>
|
|
503
|
+
<span class="cline-any cline-yes">40x</span>
|
|
504
|
+
<span class="cline-any cline-yes">23x</span>
|
|
505
|
+
<span class="cline-any cline-yes">23x</span>
|
|
506
|
+
<span class="cline-any cline-yes">23x</span>
|
|
507
|
+
<span class="cline-any cline-yes">23x</span>
|
|
508
|
+
<span class="cline-any cline-yes">23x</span>
|
|
509
|
+
<span class="cline-any cline-yes">23x</span>
|
|
510
|
+
<span class="cline-any cline-yes">23x</span>
|
|
511
|
+
<span class="cline-any cline-yes">552x</span>
|
|
512
|
+
<span class="cline-any cline-yes">552x</span>
|
|
513
|
+
<span class="cline-any cline-yes">552x</span>
|
|
514
|
+
<span class="cline-any cline-yes">552x</span>
|
|
515
|
+
<span class="cline-any cline-yes">552x</span>
|
|
502
516
|
<span class="cline-any cline-neutral"> </span>
|
|
517
|
+
<span class="cline-any cline-yes">23x</span>
|
|
503
518
|
<span class="cline-any cline-neutral"> </span>
|
|
504
519
|
<span class="cline-any cline-neutral"> </span>
|
|
505
|
-
<span class="cline-any cline-yes">4x</span>
|
|
506
520
|
<span class="cline-any cline-neutral"> </span>
|
|
507
|
-
<span class="cline-any cline-yes">1x</span>
|
|
508
|
-
<span class="cline-any cline-yes">1x</span>
|
|
509
|
-
<span class="cline-any cline-yes">1x</span>
|
|
510
|
-
<span class="cline-any cline-neutral"> </span>
|
|
511
|
-
<span class="cline-any cline-neutral"> </span>
|
|
512
|
-
<span class="cline-any cline-yes">24x</span>
|
|
513
|
-
<span class="cline-any cline-neutral"> </span>
|
|
514
|
-
<span class="cline-any cline-yes">24x</span>
|
|
515
|
-
<span class="cline-any cline-yes">1x</span>
|
|
516
|
-
<span class="cline-any cline-yes">1x</span>
|
|
517
|
-
<span class="cline-any cline-neutral"> </span>
|
|
518
|
-
<span class="cline-any cline-neutral"> </span>
|
|
519
|
-
<span class="cline-any cline-yes">6x</span>
|
|
520
|
-
<span class="cline-any cline-neutral"> </span>
|
|
521
|
-
<span class="cline-any cline-neutral"> </span>
|
|
522
|
-
<span class="cline-any cline-yes">1x</span>
|
|
523
521
|
<span class="cline-any cline-neutral"> </span>
|
|
524
522
|
<span class="cline-any cline-neutral"> </span>
|
|
525
|
-
<span class="cline-any cline-yes">
|
|
523
|
+
<span class="cline-any cline-yes">23x</span>
|
|
526
524
|
<span class="cline-any cline-neutral"> </span>
|
|
525
|
+
<span class="cline-any cline-yes">23x</span>
|
|
527
526
|
<span class="cline-any cline-neutral"> </span>
|
|
528
527
|
<span class="cline-any cline-neutral"> </span>
|
|
528
|
+
<span class="cline-any cline-yes">40x</span>
|
|
529
529
|
<span class="cline-any cline-neutral"> </span>
|
|
530
530
|
<span class="cline-any cline-neutral"> </span>
|
|
531
|
-
<span class="cline-any cline-yes">
|
|
532
|
-
<span class="cline-any cline-yes">
|
|
533
|
-
<span class="cline-any cline-
|
|
534
|
-
<span class="cline-any cline-yes">
|
|
531
|
+
<span class="cline-any cline-yes">5x</span>
|
|
532
|
+
<span class="cline-any cline-yes">5x</span>
|
|
533
|
+
<span class="cline-any cline-yes">5x</span>
|
|
534
|
+
<span class="cline-any cline-yes">5x</span>
|
|
535
|
+
<span class="cline-any cline-yes">5x</span>
|
|
536
|
+
<span class="cline-any cline-yes">5x</span>
|
|
537
|
+
<span class="cline-any cline-yes">5x</span>
|
|
538
|
+
<span class="cline-any cline-yes">5x</span>
|
|
539
|
+
<span class="cline-any cline-yes">120x</span>
|
|
540
|
+
<span class="cline-any cline-yes">120x</span>
|
|
541
|
+
<span class="cline-any cline-yes">12x</span>
|
|
542
|
+
<span class="cline-any cline-yes">7x</span>
|
|
535
543
|
<span class="cline-any cline-neutral"> </span>
|
|
544
|
+
<span class="cline-any cline-yes">12x</span>
|
|
545
|
+
<span class="cline-any cline-yes">12x</span>
|
|
546
|
+
<span class="cline-any cline-yes">12x</span>
|
|
547
|
+
<span class="cline-any cline-yes">12x</span>
|
|
536
548
|
<span class="cline-any cline-neutral"> </span>
|
|
537
|
-
<span class="cline-any cline-yes">24x</span>
|
|
538
549
|
<span class="cline-any cline-neutral"> </span>
|
|
550
|
+
<span class="cline-any cline-yes">5x</span>
|
|
539
551
|
<span class="cline-any cline-neutral"> </span>
|
|
540
552
|
<span class="cline-any cline-neutral"> </span>
|
|
541
|
-
<span class="cline-any cline-yes">
|
|
542
|
-
<span class="cline-any cline-yes">1x</span>
|
|
543
|
-
<span class="cline-any cline-neutral"> </span>
|
|
553
|
+
<span class="cline-any cline-yes">40x</span>
|
|
544
554
|
<span class="cline-any cline-neutral"> </span>
|
|
545
555
|
<span class="cline-any cline-neutral"> </span>
|
|
546
556
|
<span class="cline-any cline-neutral"> </span>
|
|
547
557
|
<span class="cline-any cline-yes">6x</span>
|
|
558
|
+
<span class="cline-any cline-yes">6x</span>
|
|
559
|
+
<span class="cline-any cline-yes">6x</span>
|
|
560
|
+
<span class="cline-any cline-yes">6x</span>
|
|
561
|
+
<span class="cline-any cline-yes">6x</span>
|
|
562
|
+
<span class="cline-any cline-yes">6x</span>
|
|
563
|
+
<span class="cline-any cline-yes">6x</span>
|
|
564
|
+
<span class="cline-any cline-yes">144x</span>
|
|
565
|
+
<span class="cline-any cline-yes">144x</span>
|
|
566
|
+
<span class="cline-any cline-yes">13x</span>
|
|
567
|
+
<span class="cline-any cline-yes">7x</span>
|
|
548
568
|
<span class="cline-any cline-neutral"> </span>
|
|
569
|
+
<span class="cline-any cline-yes">13x</span>
|
|
570
|
+
<span class="cline-any cline-yes">13x</span>
|
|
571
|
+
<span class="cline-any cline-yes">13x</span>
|
|
549
572
|
<span class="cline-any cline-neutral"> </span>
|
|
550
|
-
<span class="cline-any cline-yes">1x</span>
|
|
551
|
-
<span class="cline-any cline-neutral"> </span>
|
|
552
|
-
<span class="cline-any cline-neutral"> </span>
|
|
553
|
-
<span class="cline-any cline-yes">24x</span>
|
|
554
573
|
<span class="cline-any cline-neutral"> </span>
|
|
574
|
+
<span class="cline-any cline-yes">6x</span>
|
|
575
|
+
<span class="cline-any cline-yes">6x</span>
|
|
576
|
+
<span class="cline-any cline-yes">6x</span>
|
|
555
577
|
<span class="cline-any cline-neutral"> </span>
|
|
556
578
|
<span class="cline-any cline-neutral"> </span>
|
|
579
|
+
<span class="cline-any cline-yes">40x</span>
|
|
557
580
|
<span class="cline-any cline-neutral"> </span>
|
|
558
581
|
<span class="cline-any cline-neutral"> </span>
|
|
559
|
-
<span class="cline-any cline-yes">
|
|
582
|
+
<span class="cline-any cline-yes">10x</span>
|
|
583
|
+
<span class="cline-any cline-yes">10x</span>
|
|
584
|
+
<span class="cline-any cline-yes">10x</span>
|
|
585
|
+
<span class="cline-any cline-yes">10x</span>
|
|
586
|
+
<span class="cline-any cline-yes">10x</span>
|
|
587
|
+
<span class="cline-any cline-yes">10x</span>
|
|
588
|
+
<span class="cline-any cline-yes">10x</span>
|
|
589
|
+
<span class="cline-any cline-yes">240x</span>
|
|
590
|
+
<span class="cline-any cline-yes">240x</span>
|
|
591
|
+
<span class="cline-any cline-yes">14x</span>
|
|
560
592
|
<span class="cline-any cline-yes">4x</span>
|
|
561
593
|
<span class="cline-any cline-neutral"> </span>
|
|
562
|
-
<span class="cline-any cline-yes">
|
|
594
|
+
<span class="cline-any cline-yes">14x</span>
|
|
595
|
+
<span class="cline-any cline-yes">14x</span>
|
|
596
|
+
<span class="cline-any cline-yes">14x</span>
|
|
563
597
|
<span class="cline-any cline-neutral"> </span>
|
|
564
598
|
<span class="cline-any cline-neutral"> </span>
|
|
565
|
-
<span class="cline-any cline-yes">
|
|
599
|
+
<span class="cline-any cline-yes">10x</span>
|
|
566
600
|
<span class="cline-any cline-neutral"> </span>
|
|
567
601
|
<span class="cline-any cline-neutral"> </span>
|
|
568
602
|
<span class="cline-any cline-neutral"> </span>
|
|
569
|
-
<span class="cline-any cline-yes">24x</span>
|
|
570
603
|
<span class="cline-any cline-neutral"> </span>
|
|
604
|
+
<span class="cline-any cline-yes">40x</span>
|
|
571
605
|
<span class="cline-any cline-neutral"> </span>
|
|
572
|
-
<span class="cline-any cline-yes">4x</span>
|
|
573
606
|
<span class="cline-any cline-neutral"> </span>
|
|
607
|
+
<span class="cline-any cline-yes">2x</span>
|
|
608
|
+
<span class="cline-any cline-yes">2x</span>
|
|
609
|
+
<span class="cline-any cline-yes">2x</span>
|
|
610
|
+
<span class="cline-any cline-yes">2x</span>
|
|
611
|
+
<span class="cline-any cline-yes">2x</span>
|
|
612
|
+
<span class="cline-any cline-yes">2x</span>
|
|
613
|
+
<span class="cline-any cline-yes">2x</span>
|
|
614
|
+
<span class="cline-any cline-yes">48x</span>
|
|
615
|
+
<span class="cline-any cline-yes">48x</span>
|
|
616
|
+
<span class="cline-any cline-yes">5x</span>
|
|
617
|
+
<span class="cline-any cline-yes">3x</span>
|
|
574
618
|
<span class="cline-any cline-neutral"> </span>
|
|
575
|
-
<span class="cline-any cline-yes">
|
|
619
|
+
<span class="cline-any cline-yes">5x</span>
|
|
620
|
+
<span class="cline-any cline-yes">5x</span>
|
|
621
|
+
<span class="cline-any cline-yes">5x</span>
|
|
576
622
|
<span class="cline-any cline-neutral"> </span>
|
|
577
623
|
<span class="cline-any cline-neutral"> </span>
|
|
578
|
-
<span class="cline-any cline-yes">
|
|
579
|
-
<span class="cline-any cline-no"> </span>
|
|
580
|
-
<span class="cline-any cline-no"> </span>
|
|
624
|
+
<span class="cline-any cline-yes">2x</span>
|
|
581
625
|
<span class="cline-any cline-neutral"> </span>
|
|
582
|
-
<span class="cline-any cline-no"> </span>
|
|
583
626
|
<span class="cline-any cline-neutral"> </span>
|
|
627
|
+
<span class="cline-any cline-yes">40x</span>
|
|
628
|
+
<span class="cline-any cline-yes">3x</span>
|
|
629
|
+
<span class="cline-any cline-yes">3x</span>
|
|
630
|
+
<span class="cline-any cline-yes">3x</span>
|
|
631
|
+
<span class="cline-any cline-yes">3x</span>
|
|
632
|
+
<span class="cline-any cline-yes">6x</span>
|
|
633
|
+
<span class="cline-any cline-yes">6x</span>
|
|
634
|
+
<span class="cline-any cline-yes">6x</span>
|
|
584
635
|
<span class="cline-any cline-neutral"> </span>
|
|
585
636
|
<span class="cline-any cline-neutral"> </span>
|
|
586
|
-
<span class="cline-any cline-
|
|
637
|
+
<span class="cline-any cline-yes">3x</span>
|
|
587
638
|
<span class="cline-any cline-neutral"> </span>
|
|
588
|
-
<span class="cline-any cline-no"> </span>
|
|
589
|
-
<span class="cline-any cline-no"> </span>
|
|
590
639
|
<span class="cline-any cline-neutral"> </span>
|
|
640
|
+
<span class="cline-any cline-yes">40x</span>
|
|
641
|
+
<span class="cline-any cline-yes">5x</span>
|
|
642
|
+
<span class="cline-any cline-yes">5x</span>
|
|
643
|
+
<span class="cline-any cline-yes">5x</span>
|
|
591
644
|
<span class="cline-any cline-neutral"> </span>
|
|
592
645
|
<span class="cline-any cline-neutral"> </span>
|
|
593
|
-
<span class="cline-any cline-no"> </span>
|
|
594
646
|
<span class="cline-any cline-neutral"> </span>
|
|
595
647
|
<span class="cline-any cline-neutral"> </span>
|
|
596
|
-
<span class="cline-any cline-yes">
|
|
597
|
-
<span class="cline-any cline-yes">4x</span>
|
|
648
|
+
<span class="cline-any cline-yes">40x</span>
|
|
598
649
|
<span class="cline-any cline-neutral"> </span>
|
|
599
650
|
<span class="cline-any cline-neutral"> </span>
|
|
600
651
|
<span class="cline-any cline-neutral"> </span>
|
|
652
|
+
<span class="cline-any cline-yes">6x</span>
|
|
653
|
+
<span class="cline-any cline-yes">6x</span>
|
|
654
|
+
<span class="cline-any cline-yes">6x</span>
|
|
601
655
|
<span class="cline-any cline-neutral"> </span>
|
|
602
656
|
<span class="cline-any cline-neutral"> </span>
|
|
603
657
|
<span class="cline-any cline-neutral"> </span>
|
|
604
|
-
<span class="cline-any cline-yes">6x</span>
|
|
605
658
|
<span class="cline-any cline-neutral"> </span>
|
|
606
659
|
<span class="cline-any cline-neutral"> </span>
|
|
607
660
|
<span class="cline-any cline-neutral"> </span>
|
|
608
|
-
<span class="cline-any cline-yes">3x</span>
|
|
609
661
|
<span class="cline-any cline-neutral"> </span>
|
|
662
|
+
<span class="cline-any cline-yes">40x</span>
|
|
663
|
+
<span class="cline-any cline-yes">2x</span>
|
|
664
|
+
<span class="cline-any cline-yes">2x</span>
|
|
665
|
+
<span class="cline-any cline-yes">2x</span>
|
|
610
666
|
<span class="cline-any cline-neutral"> </span>
|
|
611
667
|
<span class="cline-any cline-neutral"> </span>
|
|
612
668
|
<span class="cline-any cline-neutral"> </span>
|
|
613
669
|
<span class="cline-any cline-neutral"> </span>
|
|
670
|
+
<span class="cline-any cline-yes">2x</span>
|
|
614
671
|
<span class="cline-any cline-neutral"> </span>
|
|
615
672
|
<span class="cline-any cline-neutral"> </span>
|
|
616
673
|
<span class="cline-any cline-neutral"> </span>
|
|
674
|
+
<span class="cline-any cline-yes">40x</span>
|
|
617
675
|
<span class="cline-any cline-neutral"> </span>
|
|
618
|
-
<span class="cline-any cline-yes">6x</span>
|
|
619
|
-
<span class="cline-any cline-no"> </span>
|
|
620
|
-
<span class="cline-any cline-no"> </span>
|
|
621
676
|
<span class="cline-any cline-neutral"> </span>
|
|
622
677
|
<span class="cline-any cline-neutral"> </span>
|
|
678
|
+
<span class="cline-any cline-yes">2x</span>
|
|
679
|
+
<span class="cline-any cline-yes">2x</span>
|
|
680
|
+
<span class="cline-any cline-yes">2x</span>
|
|
623
681
|
<span class="cline-any cline-neutral"> </span>
|
|
624
682
|
<span class="cline-any cline-neutral"> </span>
|
|
625
|
-
<span class="cline-any cline-no"> </span>
|
|
626
683
|
<span class="cline-any cline-neutral"> </span>
|
|
627
684
|
<span class="cline-any cline-neutral"> </span>
|
|
628
685
|
<span class="cline-any cline-neutral"> </span>
|
|
629
|
-
<span class="cline-any cline-yes">6x</span>
|
|
630
|
-
<span class="cline-any cline-no"> </span>
|
|
631
|
-
<span class="cline-any cline-no"> </span>
|
|
632
686
|
<span class="cline-any cline-neutral"> </span>
|
|
633
687
|
<span class="cline-any cline-neutral"> </span>
|
|
634
688
|
<span class="cline-any cline-neutral"> </span>
|
|
689
|
+
<span class="cline-any cline-yes">2x</span>
|
|
635
690
|
<span class="cline-any cline-neutral"> </span>
|
|
636
691
|
<span class="cline-any cline-neutral"> </span>
|
|
637
692
|
<span class="cline-any cline-neutral"> </span>
|
|
693
|
+
<span class="cline-any cline-yes">40x</span>
|
|
694
|
+
<span class="cline-any cline-yes">1x</span>
|
|
695
|
+
<span class="cline-any cline-yes">1x</span>
|
|
696
|
+
<span class="cline-any cline-yes">1x</span>
|
|
638
697
|
<span class="cline-any cline-neutral"> </span>
|
|
639
|
-
<span class="cline-any cline-no"> </span>
|
|
640
698
|
<span class="cline-any cline-neutral"> </span>
|
|
641
699
|
<span class="cline-any cline-neutral"> </span>
|
|
700
|
+
<span class="cline-any cline-yes">1x</span>
|
|
642
701
|
<span class="cline-any cline-neutral"> </span>
|
|
643
|
-
<span class="cline-any cline-yes">6x</span>
|
|
644
|
-
<span class="cline-any cline-no"> </span>
|
|
645
|
-
<span class="cline-any cline-no"> </span>
|
|
646
702
|
<span class="cline-any cline-neutral"> </span>
|
|
703
|
+
<span class="cline-any cline-yes">40x</span>
|
|
704
|
+
<span class="cline-any cline-yes">1x</span>
|
|
705
|
+
<span class="cline-any cline-yes">1x</span>
|
|
706
|
+
<span class="cline-any cline-yes">1x</span>
|
|
647
707
|
<span class="cline-any cline-neutral"> </span>
|
|
648
708
|
<span class="cline-any cline-neutral"> </span>
|
|
649
|
-
<span class="cline-any cline-no"> </span>
|
|
650
709
|
<span class="cline-any cline-neutral"> </span>
|
|
710
|
+
<span class="cline-any cline-yes">1x</span>
|
|
651
711
|
<span class="cline-any cline-neutral"> </span>
|
|
652
|
-
<span class="cline-any cline-yes">6x</span>
|
|
653
|
-
<span class="cline-any cline-no"> </span>
|
|
654
|
-
<span class="cline-any cline-no"> </span>
|
|
655
712
|
<span class="cline-any cline-neutral"> </span>
|
|
713
|
+
<span class="cline-any cline-yes">40x</span>
|
|
714
|
+
<span class="cline-any cline-yes">1x</span>
|
|
715
|
+
<span class="cline-any cline-yes">1x</span>
|
|
716
|
+
<span class="cline-any cline-yes">1x</span>
|
|
656
717
|
<span class="cline-any cline-neutral"> </span>
|
|
657
718
|
<span class="cline-any cline-neutral"> </span>
|
|
658
|
-
<span class="cline-any cline-no"> </span>
|
|
659
719
|
<span class="cline-any cline-neutral"> </span>
|
|
660
720
|
<span class="cline-any cline-neutral"> </span>
|
|
661
|
-
<span class="cline-any cline-yes">
|
|
662
|
-
<span class="cline-any cline-no"> </span>
|
|
663
|
-
<span class="cline-any cline-no"> </span>
|
|
721
|
+
<span class="cline-any cline-yes">1x</span>
|
|
664
722
|
<span class="cline-any cline-neutral"> </span>
|
|
665
723
|
<span class="cline-any cline-neutral"> </span>
|
|
724
|
+
<span class="cline-any cline-yes">40x</span>
|
|
666
725
|
<span class="cline-any cline-neutral"> </span>
|
|
667
726
|
<span class="cline-any cline-neutral"> </span>
|
|
668
|
-
<span class="cline-any cline-
|
|
727
|
+
<span class="cline-any cline-yes">2x</span>
|
|
728
|
+
<span class="cline-any cline-yes">2x</span>
|
|
729
|
+
<span class="cline-any cline-yes">2x</span>
|
|
669
730
|
<span class="cline-any cline-neutral"> </span>
|
|
670
731
|
<span class="cline-any cline-neutral"> </span>
|
|
671
|
-
<span class="cline-any cline-yes">6x</span>
|
|
672
|
-
<span class="cline-any cline-no"> </span>
|
|
673
|
-
<span class="cline-any cline-no"> </span>
|
|
674
732
|
<span class="cline-any cline-neutral"> </span>
|
|
675
733
|
<span class="cline-any cline-neutral"> </span>
|
|
734
|
+
<span class="cline-any cline-yes">2x</span>
|
|
676
735
|
<span class="cline-any cline-neutral"> </span>
|
|
677
736
|
<span class="cline-any cline-neutral"> </span>
|
|
678
|
-
<span class="cline-any cline-
|
|
737
|
+
<span class="cline-any cline-yes">40x</span>
|
|
679
738
|
<span class="cline-any cline-neutral"> </span>
|
|
680
739
|
<span class="cline-any cline-neutral"> </span>
|
|
681
|
-
<span class="cline-any cline-yes">
|
|
740
|
+
<span class="cline-any cline-yes">2x</span>
|
|
741
|
+
<span class="cline-any cline-yes">2x</span>
|
|
742
|
+
<span class="cline-any cline-yes">2x</span>
|
|
682
743
|
<span class="cline-any cline-neutral"> </span>
|
|
683
744
|
<span class="cline-any cline-neutral"> </span>
|
|
684
|
-
<span class="cline-any cline-no"> </span>
|
|
685
|
-
<span class="cline-any cline-no"> </span>
|
|
686
745
|
<span class="cline-any cline-neutral"> </span>
|
|
687
746
|
<span class="cline-any cline-neutral"> </span>
|
|
747
|
+
<span class="cline-any cline-yes">2x</span>
|
|
688
748
|
<span class="cline-any cline-neutral"> </span>
|
|
689
749
|
<span class="cline-any cline-neutral"> </span>
|
|
690
|
-
<span class="cline-any cline-
|
|
750
|
+
<span class="cline-any cline-yes">40x</span>
|
|
691
751
|
<span class="cline-any cline-neutral"> </span>
|
|
692
752
|
<span class="cline-any cline-neutral"> </span>
|
|
693
|
-
<span class="cline-any cline-yes">
|
|
694
|
-
<span class="cline-any cline-
|
|
695
|
-
<span class="cline-any cline-
|
|
753
|
+
<span class="cline-any cline-yes">2x</span>
|
|
754
|
+
<span class="cline-any cline-yes">2x</span>
|
|
755
|
+
<span class="cline-any cline-yes">2x</span>
|
|
696
756
|
<span class="cline-any cline-neutral"> </span>
|
|
697
757
|
<span class="cline-any cline-neutral"> </span>
|
|
698
758
|
<span class="cline-any cline-neutral"> </span>
|
|
699
759
|
<span class="cline-any cline-neutral"> </span>
|
|
700
|
-
<span class="cline-any cline-
|
|
760
|
+
<span class="cline-any cline-yes">2x</span>
|
|
701
761
|
<span class="cline-any cline-neutral"> </span>
|
|
702
762
|
<span class="cline-any cline-neutral"> </span>
|
|
703
|
-
<span class="cline-any cline-yes">
|
|
763
|
+
<span class="cline-any cline-yes">40x</span>
|
|
704
764
|
<span class="cline-any cline-neutral"> </span>
|
|
705
765
|
<span class="cline-any cline-neutral"> </span>
|
|
706
766
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -742,14 +802,16 @@ export interface IPureORM extends ICoreIntegratedDriver {
|
|
|
742
802
|
* if you want to write these in your data access layer yourself.
|
|
743
803
|
*/
|
|
744
804
|
|
|
745
|
-
getMatching: <T extends IModel>(model: T) => T
|
|
746
|
-
getOneOrNoneMatching: <T extends IModel>(model: T) => T | void
|
|
747
|
-
getAnyMatching: <T extends ICollection<IModel>>(
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
805
|
+
getMatching: <T extends IModel>(model: T) => Promise<T>;
|
|
806
|
+
getOneOrNoneMatching: <T extends IModel>(model: T) => Promise<T | void>;
|
|
807
|
+
getAnyMatching: <T extends ICollection<IModel>>(
|
|
808
|
+
model: IModel
|
|
809
|
+
) => Promise<T | void>;
|
|
810
|
+
getAllMatching: <T extends ICollection<IModel>>(model: IModel) => Promise<T>;
|
|
811
|
+
create: <T extends IModel>(model: T) => Promise<T>;
|
|
812
|
+
update: <T extends IModel>(model: T, options?: { on: string }) => Promise<T>;
|
|
813
|
+
delete: <T extends IModel>(model: T) => Promise<void>;
|
|
814
|
+
deleteMatching: <T extends IModel>(model: T) => Promise<void>;
|
|
753
815
|
|
|
754
816
|
/* ------------------------------------------------------------------------*/
|
|
755
817
|
/* Helper Utility Functions -----------------------------------------------*/
|
|
@@ -785,10 +847,10 @@ export const create = ({
|
|
|
785
847
|
const core = createCore({ entities: externalEntities });
|
|
786
848
|
|
|
787
849
|
let orm: ICoreIntegratedDriver;
|
|
788
|
-
|
|
850
|
+
if (db.$config.pgp) {
|
|
789
851
|
orm = createForPGP({ core, db, logError });
|
|
790
852
|
} else {
|
|
791
|
-
|
|
853
|
+
throw new Error(
|
|
792
854
|
`You're database driver is not yet supported. You can make a PR to add it, or use the \`createCore\` export which doesn't try to abstract over the database driver, and instead you pass the results of the database driver queries to it.`
|
|
793
855
|
);
|
|
794
856
|
}
|
|
@@ -796,31 +858,62 @@ export const create = ({
|
|
|
796
858
|
/* ------------------------------------------------------------------------*/
|
|
797
859
|
/* Helper Utilities for CRUD functions ------------------------------------*/
|
|
798
860
|
/* ------------------------------------------------------------------------*/
|
|
861
|
+
|
|
862
|
+
interface IOrmHelperPlan {
|
|
863
|
+
quotedColumns: Array<string>;
|
|
864
|
+
updateClausePrefixes: Array<string>;
|
|
865
|
+
wherePositionalPrefixes: Array<string>;
|
|
866
|
+
whereNamedPrefixes: Array<string>;
|
|
867
|
+
}
|
|
868
|
+
|
|
869
|
+
const helperPlanByEntity = new Map<any, IOrmHelperPlan>();
|
|
870
|
+
const getHelperPlan = (entity: any): IOrmHelperPlan => {
|
|
871
|
+
let plan = helperPlanByEntity.get(entity);
|
|
872
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (!plan) {
|
|
873
|
+
const quotedColumns = new Array(entity.columnNames.length);
|
|
874
|
+
const updateClausePrefixes = new Array(entity.columnNames.length);
|
|
875
|
+
const wherePositionalPrefixes = new Array(entity.columnNames.length);
|
|
876
|
+
const whereNamedPrefixes = new Array(entity.columnNames.length);
|
|
877
|
+
for (let i = 0; i < entity.columnNames.length; i++) {
|
|
878
|
+
const column = entity.columnNames[i];
|
|
879
|
+
quotedColumns[i] = `"${column}"`;
|
|
880
|
+
updateClausePrefixes[i] = `"${column}" = $`;
|
|
881
|
+
wherePositionalPrefixes[i] = `"${entity.tableName}"."${column}" = $`;
|
|
882
|
+
whereNamedPrefixes[i] = `"${entity.tableName}"."${column}" = $(`;
|
|
883
|
+
}
|
|
884
|
+
plan = {
|
|
885
|
+
quotedColumns,
|
|
886
|
+
updateClausePrefixes,
|
|
887
|
+
wherePositionalPrefixes,
|
|
888
|
+
whereNamedPrefixes
|
|
889
|
+
};
|
|
890
|
+
helperPlanByEntity.set(entity, plan);
|
|
891
|
+
}
|
|
892
|
+
return plan;
|
|
893
|
+
};
|
|
799
894
|
|
|
800
895
|
const getSqlInsertParts = (
|
|
801
896
|
model: IModel
|
|
802
897
|
): { columns: string; values: Array<string>; valuesVar: Array<string> } => {
|
|
803
|
-
const
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
)
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
(
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
(value: any, index: number) => `$${index + 1}`
|
|
823
|
-
);
|
|
898
|
+
const entity = orm.getEntityByModel(model);
|
|
899
|
+
const { columnNames, propertyNames } = entity;
|
|
900
|
+
const helperPlan = getHelperPlan(entity);
|
|
901
|
+
let columns = '';
|
|
902
|
+
const values: Array<any> = [];
|
|
903
|
+
const valuesVar: Array<string> = [];
|
|
904
|
+
let paramIndex = 1;
|
|
905
|
+
for (let i = 0; i < columnNames.length; i++) {
|
|
906
|
+
const val = model[propertyNames[i] as keyof typeof model];
|
|
907
|
+
if (val !== void 0) {
|
|
908
|
+
if (columns) {
|
|
909
|
+
columns += ', ';
|
|
910
|
+
}
|
|
911
|
+
columns += helperPlan.quotedColumns[i];
|
|
912
|
+
values.push(val);
|
|
913
|
+
valuesVar.push(`$${paramIndex}`);
|
|
914
|
+
paramIndex++;
|
|
915
|
+
}
|
|
916
|
+
}
|
|
824
917
|
return { columns, values, valuesVar };
|
|
825
918
|
};
|
|
826
919
|
|
|
@@ -828,54 +921,48 @@ export const create = ({
|
|
|
828
921
|
model: IModel,
|
|
829
922
|
on = 'id'
|
|
830
923
|
): { clause: string; idVar: string; values: Array<string> } => {
|
|
831
|
-
const
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
)
|
|
851
|
-
.filter((value: any) => value !== void 0);
|
|
852
|
-
const values = [..._values, model[on as keyof typeof model]];
|
|
924
|
+
const entity = orm.getEntityByModel(model);
|
|
925
|
+
const { columnNames, propertyNames } = entity;
|
|
926
|
+
const helperPlan = getHelperPlan(entity);
|
|
927
|
+
let clause = '';
|
|
928
|
+
const values: Array<any> = [];
|
|
929
|
+
let paramIndex = 1;
|
|
930
|
+
for (let i = 0; i < columnNames.length; i++) {
|
|
931
|
+
const val = model[propertyNames[i] as keyof typeof model];
|
|
932
|
+
if (val !== void 0) {
|
|
933
|
+
if (clause) {
|
|
934
|
+
clause += ', ';
|
|
935
|
+
}
|
|
936
|
+
clause += helperPlan.updateClausePrefixes[i] + paramIndex;
|
|
937
|
+
values.push(val);
|
|
938
|
+
paramIndex++;
|
|
939
|
+
}
|
|
940
|
+
}
|
|
941
|
+
const idVar = `$${paramIndex}`;
|
|
942
|
+
values.push(model[on as keyof typeof model]);
|
|
853
943
|
return { clause, idVar, values };
|
|
854
944
|
};
|
|
855
945
|
|
|
856
946
|
const getMatchingParts = (
|
|
857
947
|
model: IModel
|
|
858
948
|
): { whereClause: string; values: Array<string> } => {
|
|
859
|
-
const
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
)
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
: null
|
|
877
|
-
)
|
|
878
|
-
.filter((x: any) => x != null);
|
|
949
|
+
const entity = orm.getEntityByModel(model);
|
|
950
|
+
const { propertyNames, columnNames } = entity;
|
|
951
|
+
const helperPlan = getHelperPlan(entity);
|
|
952
|
+
const values: Array<any> = [];
|
|
953
|
+
let paramIndex = 1;
|
|
954
|
+
let whereClause = '';
|
|
955
|
+
for (let i = 0; i < propertyNames.length; i++) {
|
|
956
|
+
const val = model[propertyNames[i] as keyof typeof model];
|
|
957
|
+
if (val != null) {
|
|
958
|
+
if (whereClause) {
|
|
959
|
+
whereClause += ' AND ';
|
|
960
|
+
}
|
|
961
|
+
whereClause += helperPlan.wherePositionalPrefixes[i] + paramIndex;
|
|
962
|
+
values.push(val);
|
|
963
|
+
paramIndex++;
|
|
964
|
+
}
|
|
965
|
+
}
|
|
879
966
|
return { whereClause, values };
|
|
880
967
|
};
|
|
881
968
|
|
|
@@ -884,67 +971,54 @@ export const create = ({
|
|
|
884
971
|
const getMatchingPartsObject = (
|
|
885
972
|
model: IModel
|
|
886
973
|
): { whereClause: string; values: Array<string> } => {
|
|
887
|
-
const
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
)
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
: null
|
|
905
|
-
)
|
|
906
|
-
.filter((x: any) => x != null)
|
|
907
|
-
.reduce(
|
|
908
|
-
(accum: any, val: any, index: number) =>
|
|
909
|
-
Object.assign({}, accum, { [index + 1]: val }),
|
|
910
|
-
{}
|
|
911
|
-
);
|
|
974
|
+
const entity = orm.getEntityByModel(model);
|
|
975
|
+
const { propertyNames, columnNames } = entity;
|
|
976
|
+
const helperPlan = getHelperPlan(entity);
|
|
977
|
+
const values: any = {};
|
|
978
|
+
let paramIndex = 1;
|
|
979
|
+
let whereClause = '';
|
|
980
|
+
for (let i = 0; i < propertyNames.length; i++) {
|
|
981
|
+
const val = model[propertyNames[i] as keyof typeof model];
|
|
982
|
+
if (val != null) {
|
|
983
|
+
if (whereClause) {
|
|
984
|
+
whereClause += ' AND ';
|
|
985
|
+
}
|
|
986
|
+
whereClause += helperPlan.whereNamedPrefixes[i] + paramIndex + ')';
|
|
987
|
+
values[paramIndex] = val;
|
|
988
|
+
paramIndex++;
|
|
989
|
+
}
|
|
990
|
+
}
|
|
912
991
|
return { whereClause, values };
|
|
913
992
|
};
|
|
914
993
|
|
|
915
|
-
const getNewWith =
|
|
916
|
-
const Constructor =
|
|
917
|
-
const
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
<span class="cstat-no" title="statement not covered" > return data;</span>
|
|
927
|
-
},
|
|
928
|
-
{}
|
|
929
|
-
);
|
|
930
|
-
<span class="cstat-no" title="statement not covered" > return new Constructor(modelData);</span>
|
|
994
|
+
const getNewWith = (model: IModel, sqlColumns: any, values: any): IModel => {
|
|
995
|
+
const Constructor = model.constructor as any;
|
|
996
|
+
const entity = orm.getEntityByModel(model);
|
|
997
|
+
const modelData: any = {};
|
|
998
|
+
for (let i = 0; i < sqlColumns.length; i++) {
|
|
999
|
+
const propertyName = entity.columnToPropertyMap.get(sqlColumns[i]);
|
|
1000
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (propertyName) {
|
|
1001
|
+
modelData[propertyName] = values[i];
|
|
1002
|
+
}
|
|
1003
|
+
}
|
|
1004
|
+
return new Constructor(modelData);
|
|
931
1005
|
};
|
|
932
1006
|
|
|
933
1007
|
const getValueBySqlColumn = (model: IModel, sqlColumn: string): string => {
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
1008
|
+
const entity = orm.getEntityByModel(model);
|
|
1009
|
+
const propertyName = entity.columnToPropertyMap.get(sqlColumn);
|
|
1010
|
+
return propertyName
|
|
1011
|
+
? model[propertyName as keyof typeof model]
|
|
1012
|
+
: (<span class="branch-1 cbranch-no" title="branch not covered" >undefined as any)</span>;
|
|
939
1013
|
};
|
|
940
1014
|
|
|
941
1015
|
const getSqlColumnForPropertyName = (
|
|
942
1016
|
model: IModel,
|
|
943
1017
|
propertyName: string
|
|
944
1018
|
): string => {
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
1019
|
+
const entity = orm.getEntityByModel(model);
|
|
1020
|
+
const column = entity.propertyToColumnMap.get(propertyName);
|
|
1021
|
+
return column as string;
|
|
948
1022
|
};
|
|
949
1023
|
|
|
950
1024
|
/* ------------------------------------------------------------------------*/
|
|
@@ -952,89 +1026,105 @@ export const create = ({
|
|
|
952
1026
|
/* ------------------------------------------------------------------------*/
|
|
953
1027
|
|
|
954
1028
|
// Standard create
|
|
955
|
-
const create =
|
|
956
|
-
const
|
|
957
|
-
const
|
|
958
|
-
|
|
1029
|
+
const create = <T extends IModel>(model: T): Promise<T> => {
|
|
1030
|
+
const entity = orm.getEntityByModel(model);
|
|
1031
|
+
const { columns, values, valuesVar } = getSqlInsertParts(model);
|
|
1032
|
+
const query = `
|
|
1033
|
+
INSERT INTO "${entity.tableName}" ( ${columns} )
|
|
959
1034
|
VALUES ( ${valuesVar} )
|
|
960
|
-
RETURNING ${
|
|
1035
|
+
RETURNING ${entity.selectColumnsClause};
|
|
961
1036
|
`;
|
|
962
|
-
|
|
1037
|
+
return orm.one<T>(query, values);
|
|
963
1038
|
};
|
|
964
1039
|
|
|
965
1040
|
// Standard update
|
|
966
|
-
const update =
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
1041
|
+
const update = <T extends IModel>(
|
|
1042
|
+
model: T,
|
|
1043
|
+
{ on = 'id' } = {}
|
|
1044
|
+
): Promise<T> => {
|
|
1045
|
+
const entity = orm.getEntityByModel(model);
|
|
1046
|
+
const { clause, idVar, values } = getSqlUpdateParts(model, on);
|
|
1047
|
+
const query = `
|
|
1048
|
+
UPDATE "${entity.tableName}"
|
|
970
1049
|
SET ${clause}
|
|
971
|
-
WHERE "${
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
1050
|
+
WHERE "${entity.tableName}".${getSqlColumnForPropertyName(
|
|
1051
|
+
model,
|
|
1052
|
+
on
|
|
1053
|
+
)} = ${idVar}
|
|
1054
|
+
RETURNING ${entity.selectColumnsClause};
|
|
975
1055
|
`;
|
|
976
|
-
|
|
1056
|
+
return orm.one<T>(query, values);
|
|
977
1057
|
};
|
|
978
1058
|
|
|
979
1059
|
// Standard delete
|
|
980
|
-
const _delete =
|
|
981
|
-
const
|
|
982
|
-
const
|
|
983
|
-
|
|
984
|
-
|
|
1060
|
+
const _delete = <T extends IModel>(model: T): Promise<void> => {
|
|
1061
|
+
const entity = orm.getEntityByModel(model);
|
|
1062
|
+
const id = (model as any).id;
|
|
1063
|
+
const query = `
|
|
1064
|
+
DELETE FROM "${entity.tableName}"
|
|
1065
|
+
WHERE "${entity.tableName}".id = $(id)
|
|
985
1066
|
`;
|
|
986
|
-
|
|
1067
|
+
return orm.none(query, { id });
|
|
987
1068
|
};
|
|
988
1069
|
|
|
989
|
-
const deleteMatching =
|
|
990
|
-
const
|
|
991
|
-
const
|
|
992
|
-
|
|
1070
|
+
const deleteMatching = <T extends IModel>(model: T): Promise<void> => {
|
|
1071
|
+
const entity = orm.getEntityByModel(model);
|
|
1072
|
+
const { whereClause, values } = getMatchingParts(model);
|
|
1073
|
+
const query = `
|
|
1074
|
+
DELETE FROM "${entity.tableName}"
|
|
993
1075
|
WHERE ${whereClause};
|
|
994
1076
|
`;
|
|
995
|
-
|
|
1077
|
+
return orm.none(query, values);
|
|
996
1078
|
};
|
|
997
1079
|
|
|
998
|
-
const getMatching =
|
|
999
|
-
const
|
|
1000
|
-
const
|
|
1001
|
-
|
|
1002
|
-
|
|
1080
|
+
const getMatching = <T extends IModel>(model: T): Promise<T> => {
|
|
1081
|
+
const entity = orm.getEntityByModel(model);
|
|
1082
|
+
const { whereClause, values } = getMatchingParts(model);
|
|
1083
|
+
const query = `
|
|
1084
|
+
SELECT ${entity.selectColumnsClause}
|
|
1085
|
+
FROM "${entity.tableName}"
|
|
1003
1086
|
WHERE ${whereClause};
|
|
1004
1087
|
`;
|
|
1005
|
-
|
|
1088
|
+
return orm.one<T>(query, values);
|
|
1006
1089
|
};
|
|
1007
1090
|
|
|
1008
|
-
const getOneOrNoneMatching =
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1091
|
+
const getOneOrNoneMatching = <T extends IModel>(
|
|
1092
|
+
model: T
|
|
1093
|
+
): Promise<T | void> => {
|
|
1094
|
+
const entity = orm.getEntityByModel(model);
|
|
1095
|
+
const { whereClause, values } = getMatchingParts(model);
|
|
1096
|
+
const query = `
|
|
1097
|
+
SELECT ${entity.selectColumnsClause}
|
|
1098
|
+
FROM "${entity.tableName}"
|
|
1013
1099
|
WHERE ${whereClause};
|
|
1014
1100
|
`;
|
|
1015
|
-
|
|
1101
|
+
return orm.oneOrNone<T>(query, values);
|
|
1016
1102
|
};
|
|
1017
1103
|
|
|
1018
|
-
const getAnyMatching =
|
|
1104
|
+
const getAnyMatching = <T extends ICollection<IModel>>(
|
|
1019
1105
|
model: IModel
|
|
1020
|
-
): T | void => {
|
|
1021
|
-
const
|
|
1022
|
-
const
|
|
1023
|
-
|
|
1024
|
-
|
|
1106
|
+
): Promise<T | void> => {
|
|
1107
|
+
const entity = orm.getEntityByModel(model);
|
|
1108
|
+
const { whereClause, values } = getMatchingParts(model);
|
|
1109
|
+
const query = `
|
|
1110
|
+
SELECT ${entity.selectColumnsClause}
|
|
1111
|
+
FROM "${entity.tableName}"
|
|
1025
1112
|
WHERE ${whereClause};
|
|
1026
1113
|
`;
|
|
1027
|
-
|
|
1114
|
+
return orm.any<T>(query, values);
|
|
1028
1115
|
};
|
|
1029
1116
|
|
|
1030
|
-
const getAllMatching =
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1117
|
+
const getAllMatching = <T extends ICollection<IModel>>(
|
|
1118
|
+
model: IModel
|
|
1119
|
+
): Promise<T> => {
|
|
1120
|
+
const entity = orm.getEntityByModel(model);
|
|
1121
|
+
const { whereClause, values } = getMatchingParts(model);
|
|
1122
|
+
const query = `
|
|
1123
|
+
SELECT ${entity.selectColumnsClause}
|
|
1124
|
+
FROM "${entity.tableName}"
|
|
1035
1125
|
WHERE ${whereClause};
|
|
1036
1126
|
`;
|
|
1037
|
-
|
|
1127
|
+
return orm.many<T>(query, values);
|
|
1038
1128
|
};
|
|
1039
1129
|
|
|
1040
1130
|
return Object.assign({}, orm, {
|
|
@@ -1063,7 +1153,7 @@ export const create = ({
|
|
|
1063
1153
|
</div><!-- /wrapper -->
|
|
1064
1154
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1065
1155
|
Code coverage
|
|
1066
|
-
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at
|
|
1156
|
+
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Sun Mar 01 2026 17:10:47 GMT-0500 (Eastern Standard Time)
|
|
1067
1157
|
</div>
|
|
1068
1158
|
</div>
|
|
1069
1159
|
<script src="../prettify.js"></script>
|