pure-orm 4.0.0 → 4.0.2

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.
Files changed (217) hide show
  1. package/README.md +97 -43
  2. package/coverage/clover.xml +969 -626
  3. package/coverage/coverage-final.json +34 -22
  4. package/coverage/lcov-report/dist/src/core.js.html +220 -190
  5. package/coverage/lcov-report/dist/src/driver-integrations/index.html +97 -0
  6. package/coverage/lcov-report/dist/src/driver-integrations/pgp.js.html +240 -0
  7. package/coverage/lcov-report/dist/src/index.html +44 -18
  8. package/coverage/lcov-report/dist/src/index.js.html +2 -2
  9. package/coverage/lcov-report/dist/src/orm.js.html +125 -119
  10. package/coverage/lcov-report/dist/test-utils/blog/entities.js.html +1 -1
  11. package/coverage/lcov-report/dist/test-utils/blog/index.html +1 -1
  12. package/coverage/lcov-report/dist/test-utils/blog/models/article.js.html +15 -15
  13. package/coverage/lcov-report/dist/test-utils/blog/models/article_tag.js.html +7 -7
  14. package/coverage/lcov-report/dist/test-utils/blog/models/index.html +1 -1
  15. package/coverage/lcov-report/dist/test-utils/blog/models/person.js.html +13 -13
  16. package/coverage/lcov-report/dist/test-utils/blog/models/tag.js.html +4 -4
  17. package/coverage/lcov-report/dist/test-utils/five/entities.js.html +1 -1
  18. package/coverage/lcov-report/dist/test-utils/five/index.html +1 -1
  19. package/coverage/lcov-report/dist/test-utils/five/models/index.html +1 -1
  20. package/coverage/lcov-report/dist/test-utils/five/models/line-item.js.html +1 -1
  21. package/coverage/lcov-report/dist/test-utils/five/models/order.js.html +1 -1
  22. package/coverage/lcov-report/dist/test-utils/five/models/parcel-event.js.html +1 -1
  23. package/coverage/lcov-report/dist/test-utils/five/models/parcel-line-item.js.html +1 -1
  24. package/coverage/lcov-report/dist/test-utils/five/models/parcel.js.html +1 -1
  25. package/coverage/lcov-report/dist/test-utils/fourteen/entities.js.html +87 -0
  26. package/coverage/lcov-report/dist/test-utils/fourteen/index.html +97 -0
  27. package/coverage/lcov-report/dist/test-utils/fourteen/models/customer.js.html +159 -0
  28. package/coverage/lcov-report/dist/test-utils/fourteen/models/index.html +110 -0
  29. package/coverage/lcov-report/dist/test-utils/fourteen/models/person.js.html +138 -0
  30. package/coverage/lcov-report/dist/test-utils/nine/entities.js.html +1 -1
  31. package/coverage/lcov-report/dist/test-utils/nine/index.html +1 -1
  32. package/coverage/lcov-report/dist/test-utils/nine/models/feature-switch.js.html +1 -1
  33. package/coverage/lcov-report/dist/test-utils/nine/models/index.html +1 -1
  34. package/coverage/lcov-report/dist/test-utils/order/entities.js.html +11 -11
  35. package/coverage/lcov-report/dist/test-utils/order/index.html +1 -1
  36. package/coverage/lcov-report/dist/test-utils/order/models/index.html +1 -1
  37. package/coverage/lcov-report/dist/test-utils/order/models/line-item.js.html +24 -24
  38. package/coverage/lcov-report/dist/test-utils/order/models/order.js.html +42 -42
  39. package/coverage/lcov-report/dist/test-utils/order/models/product-variant.js.html +23 -23
  40. package/coverage/lcov-report/dist/test-utils/order/models/product.js.html +17 -17
  41. package/coverage/lcov-report/dist/test-utils/order/models/utm-source.js.html +12 -12
  42. package/coverage/lcov-report/dist/test-utils/order-more/entities.js.html +1 -1
  43. package/coverage/lcov-report/dist/test-utils/order-more/index.html +1 -1
  44. package/coverage/lcov-report/dist/test-utils/order-more/models/actual-product-variant.js.html +1 -1
  45. package/coverage/lcov-report/dist/test-utils/order-more/models/color.js.html +1 -1
  46. package/coverage/lcov-report/dist/test-utils/order-more/models/customer.js.html +1 -1
  47. package/coverage/lcov-report/dist/test-utils/order-more/models/gender.js.html +1 -1
  48. package/coverage/lcov-report/dist/test-utils/order-more/models/index.html +1 -1
  49. package/coverage/lcov-report/dist/test-utils/order-more/models/inventory-level.js.html +1 -1
  50. package/coverage/lcov-report/dist/test-utils/order-more/models/line-item.js.html +1 -1
  51. package/coverage/lcov-report/dist/test-utils/order-more/models/order.js.html +1 -1
  52. package/coverage/lcov-report/dist/test-utils/order-more/models/parcel-event.js.html +1 -1
  53. package/coverage/lcov-report/dist/test-utils/order-more/models/parcel-line-item.js.html +1 -1
  54. package/coverage/lcov-report/dist/test-utils/order-more/models/parcel.js.html +1 -1
  55. package/coverage/lcov-report/dist/test-utils/order-more/models/physical-address.js.html +1 -1
  56. package/coverage/lcov-report/dist/test-utils/order-more/models/product-variant-image.js.html +1 -1
  57. package/coverage/lcov-report/dist/test-utils/order-more/models/product-variant.js.html +1 -1
  58. package/coverage/lcov-report/dist/test-utils/order-more/models/product.js.html +1 -1
  59. package/coverage/lcov-report/dist/test-utils/order-more/models/refund.js.html +1 -1
  60. package/coverage/lcov-report/dist/test-utils/order-more/models/shipment-actual-product-variant.js.html +1 -1
  61. package/coverage/lcov-report/dist/test-utils/order-more/models/shipment.js.html +1 -1
  62. package/coverage/lcov-report/dist/test-utils/order-more/models/size.js.html +1 -1
  63. package/coverage/lcov-report/dist/test-utils/order-more/models/utm-medium.js.html +1 -1
  64. package/coverage/lcov-report/dist/test-utils/order-more/models/utm-source.js.html +1 -1
  65. package/coverage/lcov-report/dist/test-utils/six/entities.js.html +1 -1
  66. package/coverage/lcov-report/dist/test-utils/six/index.html +1 -1
  67. package/coverage/lcov-report/dist/test-utils/six/models/customer.js.html +1 -1
  68. package/coverage/lcov-report/dist/test-utils/six/models/index.html +1 -1
  69. package/coverage/lcov-report/dist/test-utils/six/models/line-item.js.html +1 -1
  70. package/coverage/lcov-report/dist/test-utils/six/models/order.js.html +1 -1
  71. package/coverage/lcov-report/dist/test-utils/six/models/parcel-line-item.js.html +1 -1
  72. package/coverage/lcov-report/dist/test-utils/six/models/parcel.js.html +1 -1
  73. package/coverage/lcov-report/dist/test-utils/thirteen/entities.js.html +1 -1
  74. package/coverage/lcov-report/dist/test-utils/thirteen/index.html +1 -1
  75. package/coverage/lcov-report/dist/test-utils/thirteen/models/audience.js.html +1 -1
  76. package/coverage/lcov-report/dist/test-utils/thirteen/models/brand.js.html +1 -1
  77. package/coverage/lcov-report/dist/test-utils/thirteen/models/category.js.html +1 -1
  78. package/coverage/lcov-report/dist/test-utils/thirteen/models/index.html +1 -1
  79. package/coverage/lcov-report/dist/test-utils/thirteen/models/member.js.html +1 -1
  80. package/coverage/lcov-report/dist/test-utils/thirteen/models/passion.js.html +1 -1
  81. package/coverage/lcov-report/dist/test-utils/thirteen/models/product.js.html +1 -1
  82. package/coverage/lcov-report/dist/test-utils/thirteen/models/recommendation-audience.js.html +1 -1
  83. package/coverage/lcov-report/dist/test-utils/thirteen/models/recommendation.js.html +1 -1
  84. package/coverage/lcov-report/dist/test-utils/three/index.html +1 -1
  85. package/coverage/lcov-report/dist/test-utils/three/results.js.html +1 -1
  86. package/coverage/lcov-report/dist/test-utils/twelve/entities.js.html +1 -1
  87. package/coverage/lcov-report/dist/test-utils/twelve/index.html +1 -1
  88. package/coverage/lcov-report/dist/test-utils/twelve/models/index.html +1 -1
  89. package/coverage/lcov-report/dist/test-utils/twelve/models/member.js.html +1 -1
  90. package/coverage/lcov-report/dist/test-utils/twelve/models/prompt.js.html +1 -1
  91. package/coverage/lcov-report/dist/test-utils/two/index.html +1 -1
  92. package/coverage/lcov-report/dist/test-utils/two/results.js.html +1 -1
  93. package/coverage/lcov-report/index.html +105 -27
  94. package/coverage/lcov-report/src/core.ts.html +235 -196
  95. package/coverage/lcov-report/src/driver-integrations/index.html +97 -0
  96. package/coverage/lcov-report/src/driver-integrations/pgp.ts.html +345 -0
  97. package/coverage/lcov-report/src/index.html +44 -18
  98. package/coverage/lcov-report/src/index.ts.html +3 -15
  99. package/coverage/lcov-report/src/orm.ts.html +256 -130
  100. package/coverage/lcov-report/test-utils/blog/entities.ts.html +1 -1
  101. package/coverage/lcov-report/test-utils/blog/index.html +1 -1
  102. package/coverage/lcov-report/test-utils/blog/models/article.ts.html +15 -15
  103. package/coverage/lcov-report/test-utils/blog/models/article_tag.ts.html +7 -7
  104. package/coverage/lcov-report/test-utils/blog/models/index.html +1 -1
  105. package/coverage/lcov-report/test-utils/blog/models/person.ts.html +13 -13
  106. package/coverage/lcov-report/test-utils/blog/models/tag.ts.html +4 -4
  107. package/coverage/lcov-report/test-utils/five/entities.ts.html +1 -1
  108. package/coverage/lcov-report/test-utils/five/index.html +1 -1
  109. package/coverage/lcov-report/test-utils/five/models/index.html +1 -1
  110. package/coverage/lcov-report/test-utils/five/models/line-item.ts.html +1 -1
  111. package/coverage/lcov-report/test-utils/five/models/order.ts.html +1 -1
  112. package/coverage/lcov-report/test-utils/five/models/parcel-event.ts.html +1 -1
  113. package/coverage/lcov-report/test-utils/five/models/parcel-line-item.ts.html +1 -1
  114. package/coverage/lcov-report/test-utils/five/models/parcel.ts.html +1 -1
  115. package/coverage/lcov-report/test-utils/fourteen/entities.ts.html +78 -0
  116. package/coverage/lcov-report/test-utils/fourteen/index.html +97 -0
  117. package/coverage/lcov-report/test-utils/fourteen/models/customer.ts.html +177 -0
  118. package/coverage/lcov-report/test-utils/fourteen/models/index.html +110 -0
  119. package/coverage/lcov-report/test-utils/fourteen/models/person.ts.html +150 -0
  120. package/coverage/lcov-report/test-utils/nine/entities.ts.html +1 -1
  121. package/coverage/lcov-report/test-utils/nine/index.html +1 -1
  122. package/coverage/lcov-report/test-utils/nine/models/feature-switch.ts.html +1 -1
  123. package/coverage/lcov-report/test-utils/nine/models/index.html +1 -1
  124. package/coverage/lcov-report/test-utils/order/entities.ts.html +5 -5
  125. package/coverage/lcov-report/test-utils/order/index.html +1 -1
  126. package/coverage/lcov-report/test-utils/order/models/index.html +1 -1
  127. package/coverage/lcov-report/test-utils/order/models/line-item.ts.html +18 -18
  128. package/coverage/lcov-report/test-utils/order/models/order.ts.html +37 -37
  129. package/coverage/lcov-report/test-utils/order/models/product-variant.ts.html +18 -18
  130. package/coverage/lcov-report/test-utils/order/models/product.ts.html +13 -13
  131. package/coverage/lcov-report/test-utils/order/models/utm-source.ts.html +8 -8
  132. package/coverage/lcov-report/test-utils/order-more/entities.ts.html +1 -1
  133. package/coverage/lcov-report/test-utils/order-more/index.html +1 -1
  134. package/coverage/lcov-report/test-utils/order-more/models/actual-product-variant.ts.html +1 -1
  135. package/coverage/lcov-report/test-utils/order-more/models/color.ts.html +1 -1
  136. package/coverage/lcov-report/test-utils/order-more/models/customer.ts.html +1 -1
  137. package/coverage/lcov-report/test-utils/order-more/models/gender.ts.html +1 -1
  138. package/coverage/lcov-report/test-utils/order-more/models/index.html +1 -1
  139. package/coverage/lcov-report/test-utils/order-more/models/inventory-level.ts.html +1 -1
  140. package/coverage/lcov-report/test-utils/order-more/models/line-item.ts.html +1 -1
  141. package/coverage/lcov-report/test-utils/order-more/models/order.ts.html +1 -1
  142. package/coverage/lcov-report/test-utils/order-more/models/parcel-event.ts.html +1 -1
  143. package/coverage/lcov-report/test-utils/order-more/models/parcel-line-item.ts.html +1 -1
  144. package/coverage/lcov-report/test-utils/order-more/models/parcel.ts.html +1 -1
  145. package/coverage/lcov-report/test-utils/order-more/models/physical-address.ts.html +1 -1
  146. package/coverage/lcov-report/test-utils/order-more/models/product-variant-image.ts.html +1 -1
  147. package/coverage/lcov-report/test-utils/order-more/models/product-variant.ts.html +1 -1
  148. package/coverage/lcov-report/test-utils/order-more/models/product.ts.html +1 -1
  149. package/coverage/lcov-report/test-utils/order-more/models/refund.ts.html +1 -1
  150. package/coverage/lcov-report/test-utils/order-more/models/shipment-actual-product-variant.ts.html +1 -1
  151. package/coverage/lcov-report/test-utils/order-more/models/shipment.ts.html +1 -1
  152. package/coverage/lcov-report/test-utils/order-more/models/size.ts.html +1 -1
  153. package/coverage/lcov-report/test-utils/order-more/models/utm-medium.ts.html +1 -1
  154. package/coverage/lcov-report/test-utils/order-more/models/utm-source.ts.html +1 -1
  155. package/coverage/lcov-report/test-utils/six/entities.ts.html +1 -1
  156. package/coverage/lcov-report/test-utils/six/index.html +1 -1
  157. package/coverage/lcov-report/test-utils/six/models/customer.ts.html +1 -1
  158. package/coverage/lcov-report/test-utils/six/models/index.html +1 -1
  159. package/coverage/lcov-report/test-utils/six/models/line-item.ts.html +1 -1
  160. package/coverage/lcov-report/test-utils/six/models/order.ts.html +1 -1
  161. package/coverage/lcov-report/test-utils/six/models/parcel-line-item.ts.html +1 -1
  162. package/coverage/lcov-report/test-utils/six/models/parcel.ts.html +1 -1
  163. package/coverage/lcov-report/test-utils/thirteen/entities.ts.html +1 -1
  164. package/coverage/lcov-report/test-utils/thirteen/index.html +1 -1
  165. package/coverage/lcov-report/test-utils/thirteen/models/audience.ts.html +1 -1
  166. package/coverage/lcov-report/test-utils/thirteen/models/brand.ts.html +1 -1
  167. package/coverage/lcov-report/test-utils/thirteen/models/category.ts.html +1 -1
  168. package/coverage/lcov-report/test-utils/thirteen/models/index.html +1 -1
  169. package/coverage/lcov-report/test-utils/thirteen/models/member.ts.html +1 -1
  170. package/coverage/lcov-report/test-utils/thirteen/models/passion.ts.html +1 -1
  171. package/coverage/lcov-report/test-utils/thirteen/models/product.ts.html +1 -1
  172. package/coverage/lcov-report/test-utils/thirteen/models/recommendation-audience.ts.html +1 -1
  173. package/coverage/lcov-report/test-utils/thirteen/models/recommendation.ts.html +1 -1
  174. package/coverage/lcov-report/test-utils/three/index.html +1 -1
  175. package/coverage/lcov-report/test-utils/three/results.js.html +1 -1
  176. package/coverage/lcov-report/test-utils/twelve/entities.ts.html +1 -1
  177. package/coverage/lcov-report/test-utils/twelve/index.html +1 -1
  178. package/coverage/lcov-report/test-utils/twelve/models/index.html +1 -1
  179. package/coverage/lcov-report/test-utils/twelve/models/member.ts.html +1 -1
  180. package/coverage/lcov-report/test-utils/twelve/models/prompt.ts.html +1 -1
  181. package/coverage/lcov-report/test-utils/two/index.html +1 -1
  182. package/coverage/lcov-report/test-utils/two/results.js.html +1 -1
  183. package/coverage/lcov.info +1686 -1005
  184. package/dist/src/core.d.ts +1 -1
  185. package/dist/src/core.js +18 -8
  186. package/dist/src/core.spec.js +643 -540
  187. package/dist/src/driver-integrations/index.d.ts +1 -0
  188. package/dist/src/orm.d.ts +21 -0
  189. package/dist/src/orm.js +6 -2
  190. package/dist/src/orm.spec.d.ts +1 -0
  191. package/dist/src/orm.spec.js +102 -0
  192. package/dist/test-utils/fourteen/entities.d.ts +6 -0
  193. package/dist/test-utils/fourteen/entities.js +6 -0
  194. package/dist/test-utils/fourteen/entities.ts +3 -0
  195. package/dist/test-utils/fourteen/models/customer.d.ts +19 -0
  196. package/dist/test-utils/fourteen/models/customer.js +30 -0
  197. package/dist/test-utils/fourteen/models/customer.ts +36 -0
  198. package/dist/test-utils/fourteen/models/person.d.ts +17 -0
  199. package/dist/test-utils/fourteen/models/person.js +23 -0
  200. package/dist/test-utils/fourteen/models/person.ts +27 -0
  201. package/dist/test-utils/fourteen/results.json +8 -0
  202. package/dist/test-utils/order/entities.js +2 -2
  203. package/dist/test-utils/order/entities.ts +2 -2
  204. package/dist/test-utils/order/models/order.js +1 -1
  205. package/dist/test-utils/order/models/order.ts +1 -1
  206. package/package.json +1 -1
  207. package/src/core.spec.ts +1112 -986
  208. package/src/core.ts +27 -14
  209. package/src/driver-integrations/index.ts +2 -0
  210. package/src/orm.spec.ts +113 -0
  211. package/src/orm.ts +54 -8
  212. package/test-utils/fourteen/entities.ts +3 -0
  213. package/test-utils/fourteen/models/customer.ts +36 -0
  214. package/test-utils/fourteen/models/person.ts +27 -0
  215. package/test-utils/fourteen/results.json +8 -0
  216. package/test-utils/order/entities.ts +2 -2
  217. package/test-utils/order/models/order.ts +1 -1
@@ -20,24 +20,24 @@
20
20
  </h1>
21
21
  <div class='clearfix'>
22
22
  <div class='fl pad1y space-right2'>
23
- <span class="strong">88.27% </span>
23
+ <span class="strong">95.16% </span>
24
24
  <span class="quiet">Statements</span>
25
- <span class='fraction'>158/179</span>
25
+ <span class='fraction'>177/186</span>
26
26
  </div>
27
27
  <div class='fl pad1y space-right2'>
28
- <span class="strong">70.1% </span>
28
+ <span class="strong">88.12% </span>
29
29
  <span class="quiet">Branches</span>
30
- <span class='fraction'>68/97</span>
30
+ <span class='fraction'>89/101</span>
31
31
  </div>
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">91.49% </span>
33
+ <span class="strong">98% </span>
34
34
  <span class="quiet">Functions</span>
35
- <span class='fraction'>43/47</span>
35
+ <span class='fraction'>49/50</span>
36
36
  </div>
37
37
  <div class='fl pad1y space-right2'>
38
- <span class="strong">88.37% </span>
38
+ <span class="strong">95.53% </span>
39
39
  <span class="quiet">Lines</span>
40
- <span class='fraction'>152/172</span>
40
+ <span class='fraction'>171/179</span>
41
41
  </div>
42
42
  </div>
43
43
  <p class="quiet">
@@ -554,7 +554,20 @@
554
554
  <a name='L506'></a><a href='#L506'>506</a>
555
555
  <a name='L507'></a><a href='#L507'>507</a>
556
556
  <a name='L508'></a><a href='#L508'>508</a>
557
- <a name='L509'></a><a href='#L509'>509</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
557
+ <a name='L509'></a><a href='#L509'>509</a>
558
+ <a name='L510'></a><a href='#L510'>510</a>
559
+ <a name='L511'></a><a href='#L511'>511</a>
560
+ <a name='L512'></a><a href='#L512'>512</a>
561
+ <a name='L513'></a><a href='#L513'>513</a>
562
+ <a name='L514'></a><a href='#L514'>514</a>
563
+ <a name='L515'></a><a href='#L515'>515</a>
564
+ <a name='L516'></a><a href='#L516'>516</a>
565
+ <a name='L517'></a><a href='#L517'>517</a>
566
+ <a name='L518'></a><a href='#L518'>518</a>
567
+ <a name='L519'></a><a href='#L519'>519</a>
568
+ <a name='L520'></a><a href='#L520'>520</a>
569
+ <a name='L521'></a><a href='#L521'>521</a>
570
+ <a name='L522'></a><a href='#L522'>522</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
558
571
  <span class="cline-any cline-neutral">&nbsp;</span>
559
572
  <span class="cline-any cline-neutral">&nbsp;</span>
560
573
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -651,73 +664,73 @@
651
664
  <span class="cline-any cline-neutral">&nbsp;</span>
652
665
  <span class="cline-any cline-neutral">&nbsp;</span>
653
666
  <span class="cline-any cline-neutral">&nbsp;</span>
654
- <span class="cline-any cline-yes">1x</span>
667
+ <span class="cline-any cline-yes">2x</span>
655
668
  <span class="cline-any cline-neutral">&nbsp;</span>
656
669
  <span class="cline-any cline-neutral">&nbsp;</span>
657
- <span class="cline-any cline-yes">14x</span>
670
+ <span class="cline-any cline-yes">34x</span>
658
671
  <span class="cline-any cline-neutral">&nbsp;</span>
659
- <span class="cline-any cline-yes">139x</span>
660
- <span class="cline-any cline-yes">139x</span>
672
+ <span class="cline-any cline-yes">227x</span>
673
+ <span class="cline-any cline-yes">227x</span>
661
674
  <span class="cline-any cline-neutral">&nbsp;</span>
662
- <span class="cline-any cline-yes">139x</span>
663
- <span class="cline-any cline-yes">139x</span>
675
+ <span class="cline-any cline-yes">227x</span>
676
+ <span class="cline-any cline-yes">227x</span>
664
677
  <span class="cline-any cline-neutral">&nbsp;</span>
665
678
  <span class="cline-any cline-neutral">&nbsp;</span>
666
- <span class="cline-any cline-yes">899x</span>
667
- <span class="cline-any cline-yes">767x</span>
679
+ <span class="cline-any cline-yes">1793x</span>
680
+ <span class="cline-any cline-yes">1580x</span>
668
681
  <span class="cline-any cline-neutral">&nbsp;</span>
669
682
  <span class="cline-any cline-neutral">&nbsp;</span>
670
683
  <span class="cline-any cline-neutral">&nbsp;</span>
671
684
  <span class="cline-any cline-neutral">&nbsp;</span>
672
685
  <span class="cline-any cline-neutral">&nbsp;</span>
673
- <span class="cline-any cline-yes">132x</span>
686
+ <span class="cline-any cline-yes">213x</span>
674
687
  <span class="cline-any cline-neutral">&nbsp;</span>
675
688
  <span class="cline-any cline-neutral">&nbsp;</span>
676
689
  <span class="cline-any cline-neutral">&nbsp;</span>
677
690
  <span class="cline-any cline-neutral">&nbsp;</span>
678
691
  <span class="cline-any cline-neutral">&nbsp;</span>
679
692
  <span class="cline-any cline-neutral">&nbsp;</span>
680
- <span class="cline-any cline-yes">139x</span>
681
- <span class="cline-any cline-yes">899x</span>
693
+ <span class="cline-any cline-yes">227x</span>
694
+ <span class="cline-any cline-yes">1793x</span>
682
695
  <span class="cline-any cline-neutral">&nbsp;</span>
683
- <span class="cline-any cline-yes">899x</span>
684
- <span class="cline-any cline-yes">139x</span>
685
- <span class="cline-any cline-yes">899x</span>
696
+ <span class="cline-any cline-yes">1793x</span>
697
+ <span class="cline-any cline-yes">227x</span>
698
+ <span class="cline-any cline-yes">1793x</span>
686
699
  <span class="cline-any cline-neutral">&nbsp;</span>
687
- <span class="cline-any cline-yes">139x</span>
688
- <span class="cline-any cline-yes">139x</span>
700
+ <span class="cline-any cline-yes">227x</span>
701
+ <span class="cline-any cline-yes">227x</span>
689
702
  <span class="cline-any cline-neutral">&nbsp;</span>
690
- <span class="cline-any cline-yes">139x</span>
691
- <span class="cline-any cline-yes">899x</span>
703
+ <span class="cline-any cline-yes">227x</span>
704
+ <span class="cline-any cline-yes">1793x</span>
692
705
  <span class="cline-any cline-neutral">&nbsp;</span>
693
- <span class="cline-any cline-yes">139x</span>
694
- <span class="cline-any cline-yes">139x</span>
706
+ <span class="cline-any cline-yes">227x</span>
707
+ <span class="cline-any cline-yes">227x</span>
695
708
  <span class="cline-any cline-neutral">&nbsp;</span>
696
709
  <span class="cline-any cline-neutral">&nbsp;</span>
697
- <span class="cline-any cline-yes">139x</span>
698
- <span class="cline-any cline-yes">2379x</span>
699
- <span class="cline-any cline-yes">2379x</span>
710
+ <span class="cline-any cline-yes">227x</span>
711
+ <span class="cline-any cline-yes">3611x</span>
712
+ <span class="cline-any cline-yes">3611x</span>
700
713
  <span class="cline-any cline-neutral">&nbsp;</span>
701
714
  <span class="cline-any cline-neutral">&nbsp;</span>
702
715
  <span class="cline-any cline-neutral">&nbsp;</span>
703
- <span class="cline-any cline-yes">139x</span>
704
- <span class="cline-any cline-yes">899x</span>
716
+ <span class="cline-any cline-yes">227x</span>
717
+ <span class="cline-any cline-yes">1793x</span>
705
718
  <span class="cline-any cline-neutral">&nbsp;</span>
706
719
  <span class="cline-any cline-neutral">&nbsp;</span>
707
- <span class="cline-any cline-yes">132x</span>
720
+ <span class="cline-any cline-yes">201x</span>
708
721
  <span class="cline-any cline-neutral">&nbsp;</span>
709
722
  <span class="cline-any cline-neutral">&nbsp;</span>
710
723
  <span class="cline-any cline-neutral">&nbsp;</span>
711
724
  <span class="cline-any cline-neutral">&nbsp;</span>
712
725
  <span class="cline-any cline-neutral">&nbsp;</span>
713
- <span class="cline-any cline-yes">139x</span>
726
+ <span class="cline-any cline-yes">227x</span>
714
727
  <span class="cline-any cline-neutral">&nbsp;</span>
715
728
  <span class="cline-any cline-neutral">&nbsp;</span>
716
- <span class="cline-any cline-yes">899x</span>
729
+ <span class="cline-any cline-yes">1793x</span>
717
730
  <span class="cline-any cline-neutral">&nbsp;</span>
718
731
  <span class="cline-any cline-neutral">&nbsp;</span>
719
732
  <span class="cline-any cline-neutral">&nbsp;</span>
720
- <span class="cline-any cline-yes">139x</span>
733
+ <span class="cline-any cline-yes">227x</span>
721
734
  <span class="cline-any cline-neutral">&nbsp;</span>
722
735
  <span class="cline-any cline-neutral">&nbsp;</span>
723
736
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -735,44 +748,48 @@
735
748
  <span class="cline-any cline-neutral">&nbsp;</span>
736
749
  <span class="cline-any cline-neutral">&nbsp;</span>
737
750
  <span class="cline-any cline-neutral">&nbsp;</span>
738
- <span class="cline-any cline-yes">14x</span>
751
+ <span class="cline-any cline-yes">34x</span>
739
752
  <span class="cline-any cline-neutral">&nbsp;</span>
740
753
  <span class="cline-any cline-neutral">&nbsp;</span>
741
754
  <span class="cline-any cline-neutral">&nbsp;</span>
742
755
  <span class="cline-any cline-neutral">&nbsp;</span>
743
- <span class="cline-any cline-yes">139x</span>
744
- <span class="cline-any cline-yes">139x</span>
756
+ <span class="cline-any cline-yes">227x</span>
757
+ <span class="cline-any cline-yes">227x</span>
745
758
  <span class="cline-any cline-neutral">&nbsp;</span>
746
759
  <span class="cline-any cline-neutral">&nbsp;</span>
747
760
  <span class="cline-any cline-neutral">&nbsp;</span>
748
761
  <span class="cline-any cline-neutral">&nbsp;</span>
749
- <span class="cline-any cline-yes">14x</span>
750
- <span class="cline-any cline-yes">1104x</span>
751
- <span class="cline-any cline-yes">1104x</span>
762
+ <span class="cline-any cline-yes">34x</span>
763
+ <span class="cline-any cline-yes">1435x</span>
764
+ <span class="cline-any cline-yes">1435x</span>
752
765
  <span class="cline-any cline-no">&nbsp;</span>
753
766
  <span class="cline-any cline-neutral">&nbsp;</span>
754
- <span class="cline-any cline-yes">1104x</span>
767
+ <span class="cline-any cline-yes">1435x</span>
768
+ <span class="cline-any cline-neutral">&nbsp;</span>
755
769
  <span class="cline-any cline-neutral">&nbsp;</span>
770
+ <span class="cline-any cline-yes">34x</span>
756
771
  <span class="cline-any cline-neutral">&nbsp;</span>
757
- <span class="cline-any cline-yes">14x</span>
758
772
  <span class="cline-any cline-neutral">&nbsp;</span>
759
773
  <span class="cline-any cline-neutral">&nbsp;</span>
760
774
  <span class="cline-any cline-neutral">&nbsp;</span>
775
+ <span class="cline-any cline-yes">227x</span>
776
+ <span class="cline-any cline-yes">227x</span>
761
777
  <span class="cline-any cline-neutral">&nbsp;</span>
762
- <span class="cline-any cline-yes">139x</span>
763
- <span class="cline-any cline-yes">139x</span>
764
778
  <span class="cline-any cline-neutral">&nbsp;</span>
765
779
  <span class="cline-any cline-neutral">&nbsp;</span>
766
780
  <span class="cline-any cline-neutral">&nbsp;</span>
781
+ <span class="cline-any cline-yes">34x</span>
767
782
  <span class="cline-any cline-neutral">&nbsp;</span>
768
- <span class="cline-any cline-yes">14x</span>
769
- <span class="cline-any cline-yes">38207x</span>
770
- <span class="cline-any cline-yes">38207x</span>
783
+ <span class="cline-any cline-neutral">&nbsp;</span>
784
+ <span class="cline-any cline-yes">42896x</span>
785
+ <span class="cline-any cline-yes">42896x</span>
771
786
  <span class="cline-any cline-no">&nbsp;</span>
772
787
  <span class="cline-any cline-neutral">&nbsp;</span>
773
- <span class="cline-any cline-yes">38207x</span>
788
+ <span class="cline-any cline-yes">42896x</span>
774
789
  <span class="cline-any cline-neutral">&nbsp;</span>
775
790
  <span class="cline-any cline-neutral">&nbsp;</span>
791
+ <span class="cline-any cline-yes">34x</span>
792
+ <span class="cline-any cline-yes">42895x</span>
776
793
  <span class="cline-any cline-neutral">&nbsp;</span>
777
794
  <span class="cline-any cline-neutral">&nbsp;</span>
778
795
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -782,42 +799,44 @@
782
799
  <span class="cline-any cline-neutral">&nbsp;</span>
783
800
  <span class="cline-any cline-neutral">&nbsp;</span>
784
801
  <span class="cline-any cline-neutral">&nbsp;</span>
785
- <span class="cline-any cline-yes">14x</span>
786
- <span class="cline-any cline-yes">111x</span>
787
- <span class="cline-any cline-yes">26x</span>
788
- <span class="cline-any cline-yes">26x</span>
789
- <span class="cline-any cline-yes">1104x</span>
790
802
  <span class="cline-any cline-neutral">&nbsp;</span>
791
- <span class="cline-any cline-yes">26x</span>
792
803
  <span class="cline-any cline-neutral">&nbsp;</span>
793
- <span class="cline-any cline-yes">26x</span>
804
+ <span class="cline-any cline-yes">34x</span>
805
+ <span class="cline-any cline-yes">188x</span>
806
+ <span class="cline-any cline-yes">39x</span>
807
+ <span class="cline-any cline-yes">39x</span>
808
+ <span class="cline-any cline-yes">1434x</span>
794
809
  <span class="cline-any cline-neutral">&nbsp;</span>
810
+ <span class="cline-any cline-yes">39x</span>
795
811
  <span class="cline-any cline-neutral">&nbsp;</span>
796
- <span class="cline-any cline-yes">26x</span>
797
- <span class="cline-any cline-yes">111x</span>
798
- <span class="cline-any cline-yes">993x</span>
812
+ <span class="cline-any cline-yes">39x</span>
813
+ <span class="cline-any cline-neutral">&nbsp;</span>
814
+ <span class="cline-any cline-neutral">&nbsp;</span>
815
+ <span class="cline-any cline-yes">39x</span>
816
+ <span class="cline-any cline-yes">188x</span>
817
+ <span class="cline-any cline-yes">1246x</span>
799
818
  <span class="cline-any cline-neutral">&nbsp;</span>
800
- <span class="cline-any cline-yes">18827x</span>
819
+ <span class="cline-any cline-yes">21304x</span>
801
820
  <span class="cline-any cline-neutral">&nbsp;</span>
802
821
  <span class="cline-any cline-neutral">&nbsp;</span>
803
822
  <span class="cline-any cline-neutral">&nbsp;</span>
804
- <span class="cline-any cline-yes">993x</span>
805
- <span class="cline-any cline-yes">993x</span>
806
- <span class="cline-any cline-yes">993x</span>
807
- <span class="cline-any cline-yes">27484x</span>
823
+ <span class="cline-any cline-yes">1246x</span>
824
+ <span class="cline-any cline-yes">1246x</span>
825
+ <span class="cline-any cline-yes">1246x</span>
826
+ <span class="cline-any cline-yes">29445x</span>
808
827
  <span class="cline-any cline-neutral">&nbsp;</span>
809
- <span class="cline-any cline-yes">26688x</span>
828
+ <span class="cline-any cline-yes">28144x</span>
810
829
  <span class="cline-any cline-neutral">&nbsp;</span>
811
- <span class="cline-any cline-yes">26688x</span>
812
- <span class="cline-any cline-yes">27484x</span>
813
- <span class="cline-any cline-yes">26812x</span>
830
+ <span class="cline-any cline-yes">28144x</span>
831
+ <span class="cline-any cline-yes">29445x</span>
832
+ <span class="cline-any cline-yes">28597x</span>
814
833
  <span class="cline-any cline-neutral">&nbsp;</span>
815
- <span class="cline-any cline-yes">672x</span>
816
- <span class="cline-any cline-yes">673x</span>
834
+ <span class="cline-any cline-yes">848x</span>
835
+ <span class="cline-any cline-yes">849x</span>
817
836
  <span class="cline-any cline-neutral">&nbsp;</span>
818
837
  <span class="cline-any cline-neutral">&nbsp;</span>
819
- <span class="cline-any cline-yes">673x</span>
820
- <span class="cline-any cline-yes">646x</span>
838
+ <span class="cline-any cline-yes">849x</span>
839
+ <span class="cline-any cline-yes">822x</span>
821
840
  <span class="cline-any cline-neutral">&nbsp;</span>
822
841
  <span class="cline-any cline-neutral">&nbsp;</span>
823
842
  <span class="cline-any cline-yes">26x</span>
@@ -825,36 +844,43 @@
825
844
  <span class="cline-any cline-neutral">&nbsp;</span>
826
845
  <span class="cline-any cline-neutral">&nbsp;</span>
827
846
  <span class="cline-any cline-neutral">&nbsp;</span>
828
- <span class="cline-any cline-yes">993x</span>
829
- <span class="cline-any cline-yes">11737x</span>
830
- <span class="cline-any cline-yes">9876x</span>
847
+ <span class="cline-any cline-yes">1246x</span>
848
+ <span class="cline-any cline-yes">12590x</span>
849
+ <span class="cline-any cline-yes">10448x</span>
831
850
  <span class="cline-any cline-neutral">&nbsp;</span>
832
- <span class="cline-any cline-yes">1861x</span>
833
- <span class="cline-any cline-yes">48580x</span>
851
+ <span class="cline-any cline-yes">2142x</span>
852
+ <span class="cline-any cline-yes">49133x</span>
834
853
  <span class="cline-any cline-neutral">&nbsp;</span>
835
- <span class="cline-any cline-yes">1861x</span>
836
- <span class="cline-any cline-yes">963x</span>
854
+ <span class="cline-any cline-yes">2142x</span>
855
+ <span class="cline-any cline-yes">1203x</span>
837
856
  <span class="cline-any cline-neutral">&nbsp;</span>
838
- <span class="cline-any cline-yes">898x</span>
857
+ <span class="cline-any cline-yes">939x</span>
839
858
  <span class="cline-any cline-neutral">&nbsp;</span>
840
- <span class="cline-any cline-yes">993x</span>
859
+ <span class="cline-any cline-yes">1246x</span>
841
860
  <span class="cline-any cline-neutral">&nbsp;</span>
842
861
  <span class="cline-any cline-neutral">&nbsp;</span>
843
862
  <span class="cline-any cline-neutral">&nbsp;</span>
844
- <span class="cline-any cline-yes">993x</span>
845
- <span class="cline-any cline-yes">5858x</span>
863
+ <span class="cline-any cline-yes">1246x</span>
864
+ <span class="cline-any cline-yes">6559x</span>
846
865
  <span class="cline-any cline-neutral">&nbsp;</span>
866
+ <span class="cline-any cline-yes">2788x</span>
847
867
  <span class="cline-any cline-neutral">&nbsp;</span>
848
- <span class="cline-any cline-yes">5858x</span>
849
- <span class="cline-any cline-yes">5526x</span>
868
+ <span class="cline-any cline-yes">2788x</span>
869
+ <span class="cline-any cline-yes">6559x</span>
870
+ <span class="cline-any cline-yes">6150x</span>
850
871
  <span class="cline-any cline-neutral">&nbsp;</span>
851
- <span class="cline-any cline-yes">332x</span>
872
+ <span class="cline-any cline-yes">409x</span>
873
+ <span class="cline-any cline-yes">410x</span>
852
874
  <span class="cline-any cline-neutral">&nbsp;</span>
853
875
  <span class="cline-any cline-neutral">&nbsp;</span>
854
- <span class="cline-any cline-yes">332x</span>
876
+ <span class="cline-any cline-yes">410x</span>
877
+ <span class="cline-any cline-yes">355x</span>
855
878
  <span class="cline-any cline-neutral">&nbsp;</span>
856
- <span class="cline-any cline-yes">993x</span>
857
- <span class="cline-any cline-yes">538x</span>
879
+ <span class="cline-any cline-neutral">&nbsp;</span>
880
+ <span class="cline-any cline-yes">54x</span>
881
+ <span class="cline-any cline-neutral">&nbsp;</span>
882
+ <span class="cline-any cline-yes">1246x</span>
883
+ <span class="cline-any cline-yes">614x</span>
858
884
  <span class="cline-any cline-yes">75x</span>
859
885
  <span class="cline-any cline-yes">75x</span>
860
886
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -863,28 +889,28 @@
863
889
  <span class="cline-any cline-neutral">&nbsp;</span>
864
890
  <span class="cline-any cline-neutral">&nbsp;</span>
865
891
  <span class="cline-any cline-neutral">&nbsp;</span>
866
- <span class="cline-any cline-yes">463x</span>
892
+ <span class="cline-any cline-yes">539x</span>
867
893
  <span class="cline-any cline-neutral">&nbsp;</span>
868
- <span class="cline-any cline-yes">463x</span>
894
+ <span class="cline-any cline-yes">539x</span>
869
895
  <span class="cline-any cline-neutral">&nbsp;</span>
870
896
  <span class="cline-any cline-neutral">&nbsp;</span>
871
897
  <span class="cline-any cline-neutral">&nbsp;</span>
872
- <span class="cline-any cline-yes">463x</span>
898
+ <span class="cline-any cline-yes">539x</span>
873
899
  <span class="cline-any cline-yes">61x</span>
874
900
  <span class="cline-any cline-yes">61x</span>
875
901
  <span class="cline-any cline-neutral">&nbsp;</span>
876
902
  <span class="cline-any cline-neutral">&nbsp;</span>
877
903
  <span class="cline-any cline-neutral">&nbsp;</span>
878
- <span class="cline-any cline-yes">857x</span>
879
- <span class="cline-any cline-yes">585x</span>
880
- <span class="cline-any cline-yes">272x</span>
904
+ <span class="cline-any cline-yes">1110x</span>
905
+ <span class="cline-any cline-yes">761x</span>
906
+ <span class="cline-any cline-yes">349x</span>
881
907
  <span class="cline-any cline-neutral">&nbsp;</span>
882
- <span class="cline-any cline-yes">151x</span>
883
- <span class="cline-any cline-yes">151x</span>
884
- <span class="cline-any cline-yes">85x</span>
908
+ <span class="cline-any cline-yes">228x</span>
909
+ <span class="cline-any cline-yes">228x</span>
910
+ <span class="cline-any cline-yes">149x</span>
885
911
  <span class="cline-any cline-neutral">&nbsp;</span>
886
- <span class="cline-any cline-yes">66x</span>
887
- <span class="cline-any cline-yes">66x</span>
912
+ <span class="cline-any cline-yes">79x</span>
913
+ <span class="cline-any cline-yes">79x</span>
888
914
  <span class="cline-any cline-neutral">&nbsp;</span>
889
915
  <span class="cline-any cline-neutral">&nbsp;</span>
890
916
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -900,11 +926,11 @@
900
926
  <span class="cline-any cline-neutral">&nbsp;</span>
901
927
  <span class="cline-any cline-neutral">&nbsp;</span>
902
928
  <span class="cline-any cline-neutral">&nbsp;</span>
903
- <span class="cline-any cline-yes">736x</span>
929
+ <span class="cline-any cline-yes">989x</span>
904
930
  <span class="cline-any cline-neutral">&nbsp;</span>
905
931
  <span class="cline-any cline-neutral">&nbsp;</span>
906
932
  <span class="cline-any cline-neutral">&nbsp;</span>
907
- <span class="cline-any cline-yes">26x</span>
933
+ <span class="cline-any cline-yes">39x</span>
908
934
  <span class="cline-any cline-neutral">&nbsp;</span>
909
935
  <span class="cline-any cline-neutral">&nbsp;</span>
910
936
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -926,36 +952,36 @@
926
952
  <span class="cline-any cline-neutral">&nbsp;</span>
927
953
  <span class="cline-any cline-neutral">&nbsp;</span>
928
954
  <span class="cline-any cline-neutral">&nbsp;</span>
929
- <span class="cline-any cline-yes">14x</span>
955
+ <span class="cline-any cline-yes">34x</span>
930
956
  <span class="cline-any cline-neutral">&nbsp;</span>
931
957
  <span class="cline-any cline-neutral">&nbsp;</span>
932
- <span class="cline-any cline-yes">13x</span>
933
- <span class="cline-any cline-yes">13x</span>
934
- <span class="cline-any cline-yes">13x</span>
935
- <span class="cline-any cline-yes">111x</span>
958
+ <span class="cline-any cline-yes">22x</span>
959
+ <span class="cline-any cline-yes">22x</span>
960
+ <span class="cline-any cline-yes">22x</span>
961
+ <span class="cline-any cline-yes">188x</span>
936
962
  <span class="cline-any cline-neutral">&nbsp;</span>
937
963
  <span class="cline-any cline-neutral">&nbsp;</span>
938
- <span class="cline-any cline-yes">111x</span>
964
+ <span class="cline-any cline-yes">188x</span>
939
965
  <span class="cline-any cline-neutral">&nbsp;</span>
940
966
  <span class="cline-any cline-neutral">&nbsp;</span>
941
- <span class="cline-any cline-yes">111x</span>
942
- <span class="cline-any cline-yes">85x</span>
967
+ <span class="cline-any cline-yes">188x</span>
968
+ <span class="cline-any cline-yes">149x</span>
943
969
  <span class="cline-any cline-neutral">&nbsp;</span>
944
- <span class="cline-any cline-yes">26x</span>
970
+ <span class="cline-any cline-yes">39x</span>
945
971
  <span class="cline-any cline-neutral">&nbsp;</span>
946
- <span class="cline-any cline-yes">111x</span>
972
+ <span class="cline-any cline-yes">188x</span>
947
973
  <span class="cline-any cline-neutral">&nbsp;</span>
948
- <span class="cline-any cline-yes">13x</span>
974
+ <span class="cline-any cline-yes">22x</span>
949
975
  <span class="cline-any cline-neutral">&nbsp;</span>
950
976
  <span class="cline-any cline-neutral">&nbsp;</span>
951
- <span class="cline-any cline-yes">14x</span>
952
- <span class="cline-any cline-yes">111x</span>
953
- <span class="cline-any cline-yes">1104x</span>
954
- <span class="cline-any cline-yes">1104x</span>
977
+ <span class="cline-any cline-yes">34x</span>
978
+ <span class="cline-any cline-yes">188x</span>
979
+ <span class="cline-any cline-yes">1434x</span>
980
+ <span class="cline-any cline-yes">1434x</span>
955
981
  <span class="cline-any cline-neutral">&nbsp;</span>
956
982
  <span class="cline-any cline-neutral">&nbsp;</span>
957
- <span class="cline-any cline-yes">3703x</span>
958
- <span class="cline-any cline-yes">3703x</span>
983
+ <span class="cline-any cline-yes">6747x</span>
984
+ <span class="cline-any cline-yes">6747x</span>
959
985
  <span class="cline-any cline-no">&nbsp;</span>
960
986
  <span class="cline-any cline-no">&nbsp;</span>
961
987
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -964,12 +990,12 @@
964
990
  <span class="cline-any cline-neutral">&nbsp;</span>
965
991
  <span class="cline-any cline-neutral">&nbsp;</span>
966
992
  <span class="cline-any cline-neutral">&nbsp;</span>
967
- <span class="cline-any cline-yes">3703x</span>
968
- <span class="cline-any cline-yes">3703x</span>
993
+ <span class="cline-any cline-yes">6747x</span>
994
+ <span class="cline-any cline-yes">6747x</span>
969
995
  <span class="cline-any cline-neutral">&nbsp;</span>
970
996
  <span class="cline-any cline-neutral">&nbsp;</span>
971
997
  <span class="cline-any cline-neutral">&nbsp;</span>
972
- <span class="cline-any cline-yes">1104x</span>
998
+ <span class="cline-any cline-yes">1434x</span>
973
999
  <span class="cline-any cline-neutral">&nbsp;</span>
974
1000
  <span class="cline-any cline-neutral">&nbsp;</span>
975
1001
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -977,76 +1003,76 @@
977
1003
  <span class="cline-any cline-neutral">&nbsp;</span>
978
1004
  <span class="cline-any cline-neutral">&nbsp;</span>
979
1005
  <span class="cline-any cline-neutral">&nbsp;</span>
980
- <span class="cline-any cline-yes">14x</span>
981
- <span class="cline-any cline-yes">111x</span>
982
- <span class="cline-any cline-yes">3703x</span>
983
- <span class="cline-any cline-yes">3703x</span>
984
- <span class="cline-any cline-yes">3703x</span>
1006
+ <span class="cline-any cline-yes">34x</span>
1007
+ <span class="cline-any cline-yes">188x</span>
1008
+ <span class="cline-any cline-yes">6747x</span>
1009
+ <span class="cline-any cline-yes">6747x</span>
1010
+ <span class="cline-any cline-yes">6747x</span>
985
1011
  <span class="cline-any cline-no">&nbsp;</span>
986
1012
  <span class="cline-any cline-neutral">&nbsp;</span>
987
- <span class="cline-any cline-yes">3703x</span>
988
- <span class="cline-any cline-yes">3703x</span>
989
- <span class="cline-any cline-yes">3703x</span>
1013
+ <span class="cline-any cline-yes">6747x</span>
1014
+ <span class="cline-any cline-yes">6747x</span>
1015
+ <span class="cline-any cline-yes">6747x</span>
990
1016
  <span class="cline-any cline-neutral">&nbsp;</span>
991
1017
  <span class="cline-any cline-neutral">&nbsp;</span>
992
1018
  <span class="cline-any cline-neutral">&nbsp;</span>
993
- <span class="cline-any cline-yes">14x</span>
994
- <span class="cline-any cline-yes">13x</span>
995
- <span class="cline-any cline-yes">13x</span>
996
- <span class="cline-any cline-yes">13x</span>
997
- <span class="cline-any cline-yes">13x</span>
998
- <span class="cline-any cline-yes">13x</span>
999
- <span class="cline-any cline-yes">26x</span>
1000
- <span class="cline-any cline-yes">13x</span>
1001
- <span class="cline-any cline-yes">13x</span>
1019
+ <span class="cline-any cline-yes">34x</span>
1020
+ <span class="cline-any cline-yes">22x</span>
1021
+ <span class="cline-any cline-yes">22x</span>
1022
+ <span class="cline-any cline-yes">22x</span>
1023
+ <span class="cline-any cline-yes">22x</span>
1024
+ <span class="cline-any cline-yes">22x</span>
1025
+ <span class="cline-any cline-yes">39x</span>
1026
+ <span class="cline-any cline-yes">22x</span>
1027
+ <span class="cline-any cline-yes">22x</span>
1002
1028
  <span class="cline-any cline-neutral">&nbsp;</span>
1003
1029
  <span class="cline-any cline-neutral">&nbsp;</span>
1004
- <span class="cline-any cline-yes">14x</span>
1030
+ <span class="cline-any cline-yes">34x</span>
1005
1031
  <span class="cline-any cline-neutral">&nbsp;</span>
1006
1032
  <span class="cline-any cline-neutral">&nbsp;</span>
1007
1033
  <span class="cline-any cline-neutral">&nbsp;</span>
1008
- <span class="cline-any cline-no">&nbsp;</span>
1034
+ <span class="cline-any cline-yes">4x</span>
1009
1035
  <span class="cline-any cline-neutral">&nbsp;</span>
1010
- <span class="cline-any cline-no">&nbsp;</span>
1036
+ <span class="cline-any cline-yes">2x</span>
1011
1037
  <span class="cline-any cline-neutral">&nbsp;</span>
1012
1038
  <span class="cline-any cline-neutral">&nbsp;</span>
1013
- <span class="cline-any cline-no">&nbsp;</span>
1039
+ <span class="cline-any cline-yes">2x</span>
1014
1040
  <span class="cline-any cline-neutral">&nbsp;</span>
1015
- <span class="cline-any cline-no">&nbsp;</span>
1041
+ <span class="cline-any cline-yes">2x</span>
1016
1042
  <span class="cline-any cline-neutral">&nbsp;</span>
1017
1043
  <span class="cline-any cline-neutral">&nbsp;</span>
1018
- <span class="cline-any cline-yes">14x</span>
1019
- <span class="cline-any cline-yes">4x</span>
1020
- <span class="cline-any cline-no">&nbsp;</span>
1044
+ <span class="cline-any cline-yes">34x</span>
1045
+ <span class="cline-any cline-yes">5x</span>
1046
+ <span class="cline-any cline-yes">1x</span>
1021
1047
  <span class="cline-any cline-neutral">&nbsp;</span>
1022
1048
  <span class="cline-any cline-yes">4x</span>
1023
1049
  <span class="cline-any cline-yes">4x</span>
1024
1050
  <span class="cline-any cline-no">&nbsp;</span>
1025
1051
  <span class="cline-any cline-yes">4x</span>
1026
- <span class="cline-any cline-no">&nbsp;</span>
1052
+ <span class="cline-any cline-yes">2x</span>
1027
1053
  <span class="cline-any cline-neutral">&nbsp;</span>
1028
- <span class="cline-any cline-yes">4x</span>
1054
+ <span class="cline-any cline-yes">2x</span>
1029
1055
  <span class="cline-any cline-neutral">&nbsp;</span>
1030
1056
  <span class="cline-any cline-neutral">&nbsp;</span>
1031
- <span class="cline-any cline-yes">14x</span>
1057
+ <span class="cline-any cline-yes">34x</span>
1032
1058
  <span class="cline-any cline-neutral">&nbsp;</span>
1033
1059
  <span class="cline-any cline-neutral">&nbsp;</span>
1034
- <span class="cline-any cline-no">&nbsp;</span>
1035
- <span class="cline-any cline-no">&nbsp;</span>
1060
+ <span class="cline-any cline-yes">3x</span>
1061
+ <span class="cline-any cline-yes">1x</span>
1036
1062
  <span class="cline-any cline-neutral">&nbsp;</span>
1037
- <span class="cline-any cline-no">&nbsp;</span>
1063
+ <span class="cline-any cline-yes">2x</span>
1038
1064
  <span class="cline-any cline-neutral">&nbsp;</span>
1039
1065
  <span class="cline-any cline-neutral">&nbsp;</span>
1040
- <span class="cline-any cline-yes">14x</span>
1066
+ <span class="cline-any cline-yes">34x</span>
1041
1067
  <span class="cline-any cline-neutral">&nbsp;</span>
1042
1068
  <span class="cline-any cline-neutral">&nbsp;</span>
1043
- <span class="cline-any cline-no">&nbsp;</span>
1044
- <span class="cline-any cline-no">&nbsp;</span>
1069
+ <span class="cline-any cline-yes">3x</span>
1070
+ <span class="cline-any cline-yes">1x</span>
1045
1071
  <span class="cline-any cline-neutral">&nbsp;</span>
1046
- <span class="cline-any cline-no">&nbsp;</span>
1072
+ <span class="cline-any cline-yes">2x</span>
1047
1073
  <span class="cline-any cline-neutral">&nbsp;</span>
1048
1074
  <span class="cline-any cline-neutral">&nbsp;</span>
1049
- <span class="cline-any cline-yes">14x</span>
1075
+ <span class="cline-any cline-yes">34x</span>
1050
1076
  <span class="cline-any cline-neutral">&nbsp;</span>
1051
1077
  <span class="cline-any cline-neutral">&nbsp;</span>
1052
1078
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1055,10 +1081,10 @@
1055
1081
  <span class="cline-any cline-neutral">&nbsp;</span>
1056
1082
  <span class="cline-any cline-neutral">&nbsp;</span>
1057
1083
  <span class="cline-any cline-neutral">&nbsp;</span>
1058
- <span class="cline-any cline-yes">139x</span>
1084
+ <span class="cline-any cline-yes">227x</span>
1059
1085
  <span class="cline-any cline-neutral">&nbsp;</span>
1060
1086
  <span class="cline-any cline-neutral">&nbsp;</span>
1061
- <span class="cline-any cline-yes">139x</span>
1087
+ <span class="cline-any cline-yes">227x</span>
1062
1088
  <span class="cline-any cline-neutral">&nbsp;</span>
1063
1089
  <span class="cline-any cline-neutral">&nbsp;</span>
1064
1090
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1138,7 +1164,7 @@ export interface ICore {
1138
1164
  createFromDatabase: &lt;T extends ICollection&lt;IModel&gt;&gt;(rows: any) =&gt; T;
1139
1165
  createAnyFromDatabase: &lt;T extends ICollection&lt;IModel&gt;&gt;(
1140
1166
  rows: any,
1141
- rootKey: string | IModel
1167
+ rootKey: string | IModelClass
1142
1168
  ) =&gt; T;
1143
1169
  createOneFromDatabase: &lt;T extends IModel&gt;(rows: any) =&gt; T;
1144
1170
  createOneOrNoneFromDatabase: &lt;T extends IModel&gt;(rows: any) =&gt; T | void;
@@ -1182,7 +1208,7 @@ export const createCore = ({
1182
1208
  column: d.column,
1183
1209
  property: d.property || camelCase(d.column),
1184
1210
  primaryKey: d.primaryKey || false,
1185
- ...(d.references ? { references: d.references } : <span class="branch-1 cbranch-no" title="branch not covered" >{})</span>
1211
+ ...(d.references ? { references: d.references } : {})
1186
1212
  };
1187
1213
  });
1188
1214
  const propertyNames = columns.map(
@@ -1273,13 +1299,19 @@ export const createCore = ({
1273
1299
  new Map()
1274
1300
  );
1275
1301
  &nbsp;
1276
- const getEntityByModel = (model: IModel): IEntityInternal&lt;IModel&gt; =&gt; {
1277
- const entity = modelToEntityMap.get(model.constructor);
1302
+ const getEntityByModelClass = (
1303
+ Model: IModelClass
1304
+ ): IEntityInternal&lt;IModel&gt; =&gt; {
1305
+ const entity = modelToEntityMap.get(Model);
1278
1306
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!entity) {
1279
- <span class="cstat-no" title="statement not covered" > throw new Error(`Could not find entity for class ${model.constructor}`);</span>
1307
+ <span class="cstat-no" title="statement not covered" > throw new Error(`Could not find entity for class ${Model}`);</span>
1280
1308
  }
1281
1309
  return entity;
1282
1310
  };
1311
+ &nbsp;
1312
+ const getEntityByModel = (model: IModel): IEntityInternal&lt;IModel&gt; =&gt; {
1313
+ return getEntityByModelClass(model.constructor as IModelClass);
1314
+ };
1283
1315
  &nbsp;
1284
1316
  /*
1285
1317
  * In:
@@ -1350,16 +1382,23 @@ export const createCore = ({
1350
1382
  ...nodes.slice(0, indexOfOldestParent + 1).reverse()
1351
1383
  ];
1352
1384
  const nodeItPointsTo = parentHeirarchy.find((parent) =&gt; {
1353
- const index = Object.values(
1354
- getEntityByModel(model).references
1355
- ).indexOf(parent.constructor);
1356
- if (index === -1) {
1385
+ const indexes = Object.values(getEntityByModel(model).references)
1386
+ .map((x: IModelClass, i: number) =&gt;
1387
+ x === parent.constructor ? i : null
1388
+ )
1389
+ .filter((x: number | null, i) =&gt; x != null) as Array&lt;number&gt;;
1390
+ if (!indexes.length) {
1357
1391
  return false;
1358
1392
  }
1359
- const property = Object.keys(getEntityByModel(model).references)[
1360
- index
1361
- ];
1362
- return model[property as keyof typeof model] === parent.id;
1393
+ for (const index of indexes) {
1394
+ const property = Object.keys(getEntityByModel(model).references)[
1395
+ index
1396
+ ];
1397
+ if (model[property] === parent.id) {
1398
+ return true;
1399
+ }
1400
+ }
1401
+ return false;
1363
1402
  });
1364
1403
  if (isNodeAlreadySeen) {
1365
1404
  if (nodeItPointsTo &amp;&amp; !nodePointingToIt) {
@@ -1509,49 +1548,49 @@ export const createCore = ({
1509
1548
  return &lt;T&gt;new Collection({ models });
1510
1549
  };
1511
1550
  &nbsp;
1512
- const createAnyFromDatabase = <span class="fstat-no" title="function not covered" >&lt;T</span> extends ICollection&lt;IModel&gt;&gt;(
1551
+ const createAnyFromDatabase = &lt;T extends ICollection&lt;IModel&gt;&gt;(
1513
1552
  rows: any,
1514
- rootKey: string | IModel
1553
+ rootKey: string | IModelClass
1515
1554
  ): T =&gt; {
1516
- <span class="cstat-no" title="statement not covered" > if (!rows || !rows.length) {</span>
1555
+ if (!rows || !rows.length) {
1517
1556
  const Collection =
1518
- <span class="cstat-no" title="statement not covered" > typeof rootKey === 'string'</span>
1557
+ typeof rootKey === 'string'
1519
1558
  ? getEntityByTableName(rootKey).Collection
1520
- : getEntityByModel(rootKey).Collection;
1521
- <span class="cstat-no" title="statement not covered" > return new Collection({ models: [] }) as T;</span>
1559
+ : getEntityByModelClass(rootKey).Collection;
1560
+ return new Collection({ models: [] }) as T;
1522
1561
  }
1523
- <span class="cstat-no" title="statement not covered" > return &lt;T&gt;createFromDatabase&lt;T&gt;(rows);</span>
1562
+ return &lt;T&gt;createFromDatabase&lt;T&gt;(rows);
1524
1563
  };
1525
1564
  &nbsp;
1526
1565
  const createOneFromDatabase = &lt;T extends IModel&gt;(rows: any): T =&gt; {
1527
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!rows || !rows.length) {
1528
- <span class="cstat-no" title="statement not covered" > throw Error('Did not get one.');</span>
1566
+ if (!rows || !rows.length) {
1567
+ throw Error('Did not get one.');
1529
1568
  }
1530
1569
  const collection = createFromDatabase&lt;ICollection&lt;IModel&gt;&gt;(rows);
1531
1570
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!collection || !collection.models || collection.models.length === 0) {
1532
1571
  <span class="cstat-no" title="statement not covered" > throw Error('Did not get one.');</span>
1533
- } else <span class="missing-if-branch" title="if path not taken" >I</span>if (collection.models.length &gt; 1) {
1534
- <span class="cstat-no" title="statement not covered" > throw Error('Got more than one.');</span>
1572
+ } else if (collection.models.length &gt; 1) {
1573
+ throw Error('Got more than one.');
1535
1574
  }
1536
1575
  return &lt;T&gt;collection.models[0];
1537
1576
  };
1538
1577
  &nbsp;
1539
- const createOneOrNoneFromDatabase = <span class="fstat-no" title="function not covered" >&lt;T</span> extends IModel&gt;(
1578
+ const createOneOrNoneFromDatabase = &lt;T extends IModel&gt;(
1540
1579
  rows: any
1541
1580
  ): T | void =&gt; {
1542
- <span class="cstat-no" title="statement not covered" > if (!rows || !rows.length) {</span>
1543
- <span class="cstat-no" title="statement not covered" > return void 0;</span>
1581
+ if (!rows || !rows.length) {
1582
+ return void 0;
1544
1583
  }
1545
- <span class="cstat-no" title="statement not covered" > return &lt;T&gt;createOneFromDatabase(rows);</span>
1584
+ return &lt;T&gt;createOneFromDatabase(rows);
1546
1585
  };
1547
1586
  &nbsp;
1548
- const createManyFromDatabase = <span class="fstat-no" title="function not covered" >&lt;T</span> extends ICollection&lt;IModel&gt;&gt;(
1587
+ const createManyFromDatabase = &lt;T extends ICollection&lt;IModel&gt;&gt;(
1549
1588
  rows: any
1550
1589
  ): T =&gt; {
1551
- <span class="cstat-no" title="statement not covered" > if (!rows || !rows.length) {</span>
1552
- <span class="cstat-no" title="statement not covered" > throw Error('Did not get at least one.');</span>
1590
+ if (!rows || !rows.length) {
1591
+ throw Error('Did not get at least one.');
1553
1592
  }
1554
- <span class="cstat-no" title="statement not covered" > return &lt;T&gt;createFromDatabase(rows);</span>
1593
+ return &lt;T&gt;createFromDatabase(rows);
1555
1594
  };
1556
1595
  &nbsp;
1557
1596
  return {
@@ -1576,7 +1615,7 @@ export const createCore = ({
1576
1615
  </div><!-- /wrapper -->
1577
1616
  <div class='footer quiet pad2 space-top1 center small'>
1578
1617
  Code coverage
1579
- generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Tue May 10 2022 08:44:14 GMT-0400 (Eastern Daylight Time)
1618
+ generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Sat Dec 23 2023 12:48:55 GMT-0500 (Eastern Standard Time)
1580
1619
  </div>
1581
1620
  </div>
1582
1621
  <script src="../prettify.js"></script>