pure-orm 4.0.0-6 → 4.0.0-7

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 (311) hide show
  1. package/README.md +9 -9
  2. package/coverage/clover.xml +371 -589
  3. package/coverage/coverage-final.json +18 -20
  4. package/coverage/lcov-report/dist/src/core.js.html +1014 -0
  5. package/coverage/lcov-report/dist/src/drivers/index.html +97 -0
  6. package/coverage/lcov-report/dist/src/drivers/pgp.js.html +240 -0
  7. package/coverage/lcov-report/dist/src/factory.js.html +285 -198
  8. package/coverage/lcov-report/dist/src/index.html +20 -33
  9. package/coverage/lcov-report/dist/src/index.js.html +16 -10
  10. package/coverage/lcov-report/dist/src/orm.js.html +645 -0
  11. package/coverage/lcov-report/dist/test-utils/blog/entities.js.html +108 -0
  12. package/coverage/lcov-report/dist/test-utils/blog/index.html +6 -6
  13. package/coverage/lcov-report/dist/test-utils/blog/models/article.js.html +1 -1
  14. package/coverage/lcov-report/dist/test-utils/blog/models/article_tag.js.html +1 -1
  15. package/coverage/lcov-report/dist/test-utils/blog/models/index.html +1 -1
  16. package/coverage/lcov-report/dist/test-utils/blog/models/person.js.html +1 -1
  17. package/coverage/lcov-report/dist/test-utils/blog/models/tag.js.html +1 -1
  18. package/coverage/lcov-report/dist/test-utils/blog/orm.js.html +1 -1
  19. package/coverage/lcov-report/dist/test-utils/five/entities.js.html +114 -0
  20. package/coverage/lcov-report/dist/test-utils/five/index.html +6 -6
  21. package/coverage/lcov-report/dist/test-utils/five/models/index.html +1 -1
  22. package/coverage/lcov-report/dist/test-utils/five/models/line-item.js.html +1 -1
  23. package/coverage/lcov-report/dist/test-utils/five/models/order.js.html +1 -1
  24. package/coverage/lcov-report/dist/test-utils/five/models/parcel-event.js.html +1 -1
  25. package/coverage/lcov-report/dist/test-utils/five/models/parcel-line-item.js.html +1 -1
  26. package/coverage/lcov-report/dist/test-utils/five/models/parcel.js.html +1 -1
  27. package/coverage/lcov-report/dist/test-utils/five/orm.js.html +1 -1
  28. package/coverage/lcov-report/dist/test-utils/nine/entities.js.html +84 -0
  29. package/coverage/lcov-report/dist/test-utils/nine/index.html +6 -6
  30. package/coverage/lcov-report/dist/test-utils/nine/models/feature-switch.js.html +1 -1
  31. package/coverage/lcov-report/dist/test-utils/nine/models/index.html +1 -1
  32. package/coverage/lcov-report/dist/test-utils/nine/orm.js.html +1 -1
  33. package/coverage/lcov-report/dist/test-utils/order/entities.js.html +114 -0
  34. package/coverage/lcov-report/dist/test-utils/order/index.html +6 -6
  35. package/coverage/lcov-report/dist/test-utils/order/models/index.html +1 -1
  36. package/coverage/lcov-report/dist/test-utils/order/models/line-item.js.html +1 -1
  37. package/coverage/lcov-report/dist/test-utils/order/models/order.js.html +1 -1
  38. package/coverage/lcov-report/dist/test-utils/order/models/product-variant.js.html +1 -1
  39. package/coverage/lcov-report/dist/test-utils/order/models/product.js.html +1 -1
  40. package/coverage/lcov-report/dist/test-utils/order/models/utm-source.js.html +1 -1
  41. package/coverage/lcov-report/dist/test-utils/order/orm.js.html +1 -1
  42. package/coverage/lcov-report/dist/test-utils/order-more/entities.js.html +204 -0
  43. package/coverage/lcov-report/dist/test-utils/order-more/index.html +6 -6
  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/order-more/orm.js.html +1 -1
  66. package/coverage/lcov-report/dist/test-utils/six/entities.js.html +114 -0
  67. package/coverage/lcov-report/dist/test-utils/six/index.html +6 -6
  68. package/coverage/lcov-report/dist/test-utils/six/models/customer.js.html +1 -1
  69. package/coverage/lcov-report/dist/test-utils/six/models/index.html +1 -1
  70. package/coverage/lcov-report/dist/test-utils/six/models/line-item.js.html +1 -1
  71. package/coverage/lcov-report/dist/test-utils/six/models/order.js.html +1 -1
  72. package/coverage/lcov-report/dist/test-utils/six/models/parcel-line-item.js.html +1 -1
  73. package/coverage/lcov-report/dist/test-utils/six/models/parcel.js.html +1 -1
  74. package/coverage/lcov-report/dist/test-utils/six/orm.js.html +1 -1
  75. package/coverage/lcov-report/dist/test-utils/thirteen/entities.js.html +132 -0
  76. package/coverage/lcov-report/dist/test-utils/thirteen/index.html +6 -6
  77. package/coverage/lcov-report/dist/test-utils/thirteen/models/audience.js.html +1 -1
  78. package/coverage/lcov-report/dist/test-utils/thirteen/models/brand.js.html +1 -1
  79. package/coverage/lcov-report/dist/test-utils/thirteen/models/category.js.html +1 -1
  80. package/coverage/lcov-report/dist/test-utils/thirteen/models/index.html +1 -1
  81. package/coverage/lcov-report/dist/test-utils/thirteen/models/member.js.html +1 -1
  82. package/coverage/lcov-report/dist/test-utils/thirteen/models/passion.js.html +1 -1
  83. package/coverage/lcov-report/dist/test-utils/thirteen/models/product.js.html +1 -1
  84. package/coverage/lcov-report/dist/test-utils/thirteen/models/recommendation-audience.js.html +1 -1
  85. package/coverage/lcov-report/dist/test-utils/thirteen/models/recommendation.js.html +1 -1
  86. package/coverage/lcov-report/dist/test-utils/thirteen/orm.js.html +1 -1
  87. package/coverage/lcov-report/dist/test-utils/three/index.html +1 -1
  88. package/coverage/lcov-report/dist/test-utils/three/results.js.html +1 -1
  89. package/coverage/lcov-report/dist/test-utils/twelve/entities.js.html +87 -0
  90. package/coverage/lcov-report/dist/test-utils/twelve/index.html +6 -6
  91. package/coverage/lcov-report/dist/test-utils/twelve/models/index.html +1 -1
  92. package/coverage/lcov-report/dist/test-utils/twelve/models/member.js.html +1 -1
  93. package/coverage/lcov-report/dist/test-utils/twelve/models/prompt.js.html +1 -1
  94. package/coverage/lcov-report/dist/test-utils/twelve/orm.js.html +1 -1
  95. package/coverage/lcov-report/dist/test-utils/two/index.html +1 -1
  96. package/coverage/lcov-report/dist/test-utils/two/results.js.html +1 -1
  97. package/coverage/lcov-report/index.html +47 -47
  98. package/coverage/lcov-report/src/core.ts.html +1527 -0
  99. package/coverage/lcov-report/src/drivers/index.html +97 -0
  100. package/coverage/lcov-report/src/drivers/pgp.ts.html +516 -0
  101. package/coverage/lcov-report/src/factory.ts.html +427 -250
  102. package/coverage/lcov-report/src/index.html +20 -33
  103. package/coverage/lcov-report/src/index.ts.html +23 -5
  104. package/coverage/lcov-report/src/orm.ts.html +954 -0
  105. package/coverage/lcov-report/test-utils/blog/entities.ts.html +102 -0
  106. package/coverage/lcov-report/test-utils/blog/index.html +6 -6
  107. package/coverage/lcov-report/test-utils/blog/models/article.ts.html +1 -1
  108. package/coverage/lcov-report/test-utils/blog/models/article_tag.ts.html +1 -1
  109. package/coverage/lcov-report/test-utils/blog/models/index.html +1 -1
  110. package/coverage/lcov-report/test-utils/blog/models/person.ts.html +1 -1
  111. package/coverage/lcov-report/test-utils/blog/models/tag.ts.html +1 -1
  112. package/coverage/lcov-report/test-utils/blog/orm.ts.html +1 -1
  113. package/coverage/lcov-report/test-utils/five/entities.ts.html +105 -0
  114. package/coverage/lcov-report/test-utils/five/index.html +2 -2
  115. package/coverage/lcov-report/test-utils/five/models/index.html +1 -1
  116. package/coverage/lcov-report/test-utils/five/models/line-item.ts.html +1 -1
  117. package/coverage/lcov-report/test-utils/five/models/order.ts.html +1 -1
  118. package/coverage/lcov-report/test-utils/five/models/parcel-event.ts.html +1 -1
  119. package/coverage/lcov-report/test-utils/five/models/parcel-line-item.ts.html +1 -1
  120. package/coverage/lcov-report/test-utils/five/models/parcel.ts.html +1 -1
  121. package/coverage/lcov-report/test-utils/five/orm.ts.html +1 -1
  122. package/coverage/lcov-report/test-utils/nine/entities.ts.html +75 -0
  123. package/coverage/lcov-report/test-utils/nine/index.html +2 -2
  124. package/coverage/lcov-report/test-utils/nine/models/feature-switch.ts.html +1 -1
  125. package/coverage/lcov-report/test-utils/nine/models/index.html +1 -1
  126. package/coverage/lcov-report/test-utils/nine/orm.ts.html +1 -1
  127. package/coverage/lcov-report/test-utils/order/entities.ts.html +108 -0
  128. package/coverage/lcov-report/test-utils/order/index.html +2 -2
  129. package/coverage/lcov-report/test-utils/order/models/index.html +1 -1
  130. package/coverage/lcov-report/test-utils/order/models/line-item.ts.html +1 -1
  131. package/coverage/lcov-report/test-utils/order/models/order.ts.html +1 -1
  132. package/coverage/lcov-report/test-utils/order/models/product-variant.ts.html +1 -1
  133. package/coverage/lcov-report/test-utils/order/models/product.ts.html +1 -1
  134. package/coverage/lcov-report/test-utils/order/models/utm-source.ts.html +1 -1
  135. package/coverage/lcov-report/test-utils/order/orm.ts.html +1 -1
  136. package/coverage/lcov-report/test-utils/order-more/entities.ts.html +198 -0
  137. package/coverage/lcov-report/test-utils/order-more/index.html +2 -2
  138. package/coverage/lcov-report/test-utils/order-more/models/actual-product-variant.ts.html +1 -1
  139. package/coverage/lcov-report/test-utils/order-more/models/color.ts.html +1 -1
  140. package/coverage/lcov-report/test-utils/order-more/models/customer.ts.html +1 -1
  141. package/coverage/lcov-report/test-utils/order-more/models/gender.ts.html +1 -1
  142. package/coverage/lcov-report/test-utils/order-more/models/index.html +1 -1
  143. package/coverage/lcov-report/test-utils/order-more/models/inventory-level.ts.html +1 -1
  144. package/coverage/lcov-report/test-utils/order-more/models/line-item.ts.html +1 -1
  145. package/coverage/lcov-report/test-utils/order-more/models/order.ts.html +1 -1
  146. package/coverage/lcov-report/test-utils/order-more/models/parcel-event.ts.html +1 -1
  147. package/coverage/lcov-report/test-utils/order-more/models/parcel-line-item.ts.html +1 -1
  148. package/coverage/lcov-report/test-utils/order-more/models/parcel.ts.html +1 -1
  149. package/coverage/lcov-report/test-utils/order-more/models/physical-address.ts.html +1 -1
  150. package/coverage/lcov-report/test-utils/order-more/models/product-variant-image.ts.html +1 -1
  151. package/coverage/lcov-report/test-utils/order-more/models/product-variant.ts.html +1 -1
  152. package/coverage/lcov-report/test-utils/order-more/models/product.ts.html +1 -1
  153. package/coverage/lcov-report/test-utils/order-more/models/refund.ts.html +1 -1
  154. package/coverage/lcov-report/test-utils/order-more/models/shipment-actual-product-variant.ts.html +1 -1
  155. package/coverage/lcov-report/test-utils/order-more/models/shipment.ts.html +1 -1
  156. package/coverage/lcov-report/test-utils/order-more/models/size.ts.html +1 -1
  157. package/coverage/lcov-report/test-utils/order-more/models/utm-medium.ts.html +1 -1
  158. package/coverage/lcov-report/test-utils/order-more/models/utm-source.ts.html +1 -1
  159. package/coverage/lcov-report/test-utils/order-more/orm.ts.html +1 -1
  160. package/coverage/lcov-report/test-utils/six/entities.ts.html +105 -0
  161. package/coverage/lcov-report/test-utils/six/index.html +2 -2
  162. package/coverage/lcov-report/test-utils/six/models/customer.ts.html +1 -1
  163. package/coverage/lcov-report/test-utils/six/models/index.html +1 -1
  164. package/coverage/lcov-report/test-utils/six/models/line-item.ts.html +1 -1
  165. package/coverage/lcov-report/test-utils/six/models/order.ts.html +1 -1
  166. package/coverage/lcov-report/test-utils/six/models/parcel-line-item.ts.html +1 -1
  167. package/coverage/lcov-report/test-utils/six/models/parcel.ts.html +1 -1
  168. package/coverage/lcov-report/test-utils/six/orm.ts.html +1 -1
  169. package/coverage/lcov-report/test-utils/thirteen/entities.ts.html +123 -0
  170. package/coverage/lcov-report/test-utils/thirteen/index.html +2 -2
  171. package/coverage/lcov-report/test-utils/thirteen/models/audience.ts.html +1 -1
  172. package/coverage/lcov-report/test-utils/thirteen/models/brand.ts.html +1 -1
  173. package/coverage/lcov-report/test-utils/thirteen/models/category.ts.html +1 -1
  174. package/coverage/lcov-report/test-utils/thirteen/models/index.html +1 -1
  175. package/coverage/lcov-report/test-utils/thirteen/models/member.ts.html +1 -1
  176. package/coverage/lcov-report/test-utils/thirteen/models/passion.ts.html +1 -1
  177. package/coverage/lcov-report/test-utils/thirteen/models/product.ts.html +1 -1
  178. package/coverage/lcov-report/test-utils/thirteen/models/recommendation-audience.ts.html +1 -1
  179. package/coverage/lcov-report/test-utils/thirteen/models/recommendation.ts.html +1 -1
  180. package/coverage/lcov-report/test-utils/thirteen/orm.ts.html +1 -1
  181. package/coverage/lcov-report/test-utils/three/index.html +1 -1
  182. package/coverage/lcov-report/test-utils/three/results.js.html +1 -1
  183. package/coverage/lcov-report/test-utils/twelve/entities.ts.html +78 -0
  184. package/coverage/lcov-report/test-utils/twelve/index.html +2 -2
  185. package/coverage/lcov-report/test-utils/twelve/models/index.html +1 -1
  186. package/coverage/lcov-report/test-utils/twelve/models/member.ts.html +1 -1
  187. package/coverage/lcov-report/test-utils/twelve/models/prompt.ts.html +1 -1
  188. package/coverage/lcov-report/test-utils/twelve/orm.ts.html +1 -1
  189. package/coverage/lcov-report/test-utils/two/index.html +1 -1
  190. package/coverage/lcov-report/test-utils/two/results.js.html +1 -1
  191. package/coverage/lcov.info +715 -1160
  192. package/dist/example/factories/orm.d.ts +1 -47
  193. package/dist/example/models/employer.d.ts +1 -1
  194. package/dist/example/models/job.d.ts +1 -1
  195. package/dist/example/models/person.d.ts +1 -1
  196. package/dist/src/core.d.ts +66 -0
  197. package/dist/src/{factory.js → core.js} +38 -243
  198. package/dist/src/{factory.spec.d.ts → core.spec.d.ts} +0 -0
  199. package/dist/src/{factory.spec.js → core.spec.js} +56 -43
  200. package/dist/src/driver-integrations/index.d.ts +13 -0
  201. package/dist/src/driver-integrations/index.js +2 -0
  202. package/dist/src/driver-integrations/pgp.d.ts +2 -0
  203. package/dist/src/driver-integrations/pgp.js +57 -0
  204. package/dist/src/index.d.ts +2 -1
  205. package/dist/src/index.js +5 -3
  206. package/dist/src/orm.d.ts +20 -0
  207. package/dist/src/orm.js +190 -0
  208. package/dist/test-utils/blog/entities.d.ts +1 -0
  209. package/dist/test-utils/blog/{orm.js → entities.js} +7 -6
  210. package/dist/test-utils/blog/{orm.ts → entities.ts} +6 -6
  211. package/dist/test-utils/blog/models/article.d.ts +1 -1
  212. package/dist/test-utils/blog/models/article_tag.d.ts +1 -1
  213. package/dist/test-utils/blog/models/person.d.ts +1 -1
  214. package/dist/test-utils/blog/models/tag.d.ts +1 -1
  215. package/dist/test-utils/five/entities.d.ts +6 -0
  216. package/dist/test-utils/five/{orm.js → entities.js} +8 -12
  217. package/dist/test-utils/five/{orm.ts → entities.ts} +7 -12
  218. package/dist/test-utils/five/models/line-item.d.ts +1 -1
  219. package/dist/test-utils/five/models/order.d.ts +1 -1
  220. package/dist/test-utils/five/models/parcel-event.d.ts +1 -1
  221. package/dist/test-utils/five/models/parcel-line-item.d.ts +1 -1
  222. package/dist/test-utils/five/models/parcel.d.ts +1 -1
  223. package/dist/test-utils/nine/entities.d.ts +6 -0
  224. package/dist/test-utils/nine/entities.js +5 -0
  225. package/dist/test-utils/nine/entities.ts +2 -0
  226. package/dist/test-utils/nine/models/feature-switch.d.ts +1 -1
  227. package/dist/test-utils/order/entities.d.ts +26 -0
  228. package/dist/test-utils/order/{orm.js → entities.js} +8 -12
  229. package/{test-utils/order/orm.ts → dist/test-utils/order/entities.ts} +7 -12
  230. package/dist/test-utils/order/models/line-item.d.ts +1 -1
  231. package/dist/test-utils/order/models/order.d.ts +1 -1
  232. package/dist/test-utils/order/models/product-variant.d.ts +1 -1
  233. package/dist/test-utils/order/models/product.d.ts +1 -1
  234. package/dist/test-utils/order/models/utm-source.d.ts +1 -1
  235. package/dist/test-utils/order-more/entities.d.ts +6 -0
  236. package/dist/test-utils/order-more/{orm.js → entities.js} +23 -27
  237. package/dist/test-utils/order-more/{orm.ts → entities.ts} +22 -27
  238. package/dist/test-utils/order-more/models/actual-product-variant.d.ts +1 -1
  239. package/dist/test-utils/order-more/models/color.d.ts +1 -1
  240. package/dist/test-utils/order-more/models/customer.d.ts +1 -1
  241. package/dist/test-utils/order-more/models/gender.d.ts +1 -1
  242. package/dist/test-utils/order-more/models/inventory-level.d.ts +1 -1
  243. package/dist/test-utils/order-more/models/line-item.d.ts +1 -1
  244. package/dist/test-utils/order-more/models/order.d.ts +1 -1
  245. package/dist/test-utils/order-more/models/parcel-event.d.ts +1 -1
  246. package/dist/test-utils/order-more/models/parcel-line-item.d.ts +1 -1
  247. package/dist/test-utils/order-more/models/parcel.d.ts +1 -1
  248. package/dist/test-utils/order-more/models/physical-address.d.ts +1 -1
  249. package/dist/test-utils/order-more/models/product-variant-image.d.ts +1 -1
  250. package/dist/test-utils/order-more/models/product-variant.d.ts +1 -1
  251. package/dist/test-utils/order-more/models/product.d.ts +1 -1
  252. package/dist/test-utils/order-more/models/refund.d.ts +1 -1
  253. package/dist/test-utils/order-more/models/shipment-actual-product-variant.d.ts +1 -1
  254. package/dist/test-utils/order-more/models/shipment.d.ts +1 -1
  255. package/dist/test-utils/order-more/models/size.d.ts +1 -1
  256. package/dist/test-utils/order-more/models/utm-medium.d.ts +1 -1
  257. package/dist/test-utils/order-more/models/utm-source.d.ts +1 -1
  258. package/dist/test-utils/six/entities.d.ts +6 -0
  259. package/dist/test-utils/six/{orm.js → entities.js} +8 -12
  260. package/{test-utils/six/orm.ts → dist/test-utils/six/entities.ts} +7 -12
  261. package/dist/test-utils/six/models/customer.d.ts +1 -1
  262. package/dist/test-utils/six/models/line-item.d.ts +1 -1
  263. package/dist/test-utils/six/models/order.d.ts +1 -1
  264. package/dist/test-utils/six/models/parcel-line-item.d.ts +1 -1
  265. package/dist/test-utils/six/models/parcel.d.ts +1 -1
  266. package/dist/test-utils/thirteen/entities.d.ts +6 -0
  267. package/dist/test-utils/thirteen/{orm.js → entities.js} +11 -15
  268. package/dist/test-utils/thirteen/{orm.ts → entities.ts} +10 -15
  269. package/dist/test-utils/thirteen/models/audience.d.ts +1 -1
  270. package/dist/test-utils/thirteen/models/brand.d.ts +1 -1
  271. package/dist/test-utils/thirteen/models/category.d.ts +1 -1
  272. package/dist/test-utils/thirteen/models/member.d.ts +1 -1
  273. package/dist/test-utils/thirteen/models/passion.d.ts +1 -1
  274. package/dist/test-utils/thirteen/models/product.d.ts +1 -1
  275. package/dist/test-utils/thirteen/models/recommendation-audience.d.ts +1 -1
  276. package/dist/test-utils/thirteen/models/recommendation.d.ts +1 -1
  277. package/dist/test-utils/twelve/entities.d.ts +6 -0
  278. package/dist/test-utils/twelve/entities.js +6 -0
  279. package/dist/test-utils/twelve/entities.ts +3 -0
  280. package/dist/test-utils/twelve/models/member.d.ts +1 -1
  281. package/dist/test-utils/twelve/models/prompt.d.ts +1 -1
  282. package/package.json +4 -3
  283. package/src/{factory.spec.ts → core.spec.ts} +55 -41
  284. package/src/{factory.ts → core.ts} +75 -336
  285. package/src/driver-integrations/index.ts +56 -0
  286. package/src/driver-integrations/pgp.ts +92 -0
  287. package/src/index.ts +5 -3
  288. package/src/orm.ts +291 -0
  289. package/test-utils/blog/{orm.ts → entities.ts} +6 -6
  290. package/test-utils/five/{orm.ts → entities.ts} +7 -12
  291. package/test-utils/nine/entities.ts +2 -0
  292. package/{dist/test-utils/order/orm.ts → test-utils/order/entities.ts} +7 -12
  293. package/test-utils/order-more/{orm.ts → entities.ts} +22 -27
  294. package/{dist/test-utils/six/orm.ts → test-utils/six/entities.ts} +7 -12
  295. package/test-utils/thirteen/{orm.ts → entities.ts} +10 -15
  296. package/test-utils/twelve/entities.ts +3 -0
  297. package/dist/src/factory.d.ts +0 -100
  298. package/dist/test-utils/blog/orm.d.ts +0 -2
  299. package/dist/test-utils/five/orm.d.ts +0 -48
  300. package/dist/test-utils/nine/orm.d.ts +0 -48
  301. package/dist/test-utils/nine/orm.js +0 -9
  302. package/dist/test-utils/nine/orm.ts +0 -7
  303. package/dist/test-utils/order/orm.d.ts +0 -48
  304. package/dist/test-utils/order-more/orm.d.ts +0 -48
  305. package/dist/test-utils/six/orm.d.ts +0 -48
  306. package/dist/test-utils/thirteen/orm.d.ts +0 -48
  307. package/dist/test-utils/twelve/orm.d.ts +0 -48
  308. package/dist/test-utils/twelve/orm.js +0 -10
  309. package/dist/test-utils/twelve/orm.ts +0 -8
  310. package/test-utils/nine/orm.ts +0 -7
  311. package/test-utils/twelve/orm.ts +0 -8
@@ -20,24 +20,24 @@
20
20
  </h1>
21
21
  <div class='clearfix'>
22
22
  <div class='fl pad1y space-right2'>
23
- <span class="strong">63.57% </span>
23
+ <span class="strong">64.36% </span>
24
24
  <span class="quiet">Statements</span>
25
- <span class='fraction'>178/280</span>
25
+ <span class='fraction'>186/289</span>
26
26
  </div>
27
27
  <div class='fl pad1y space-right2'>
28
- <span class="strong">60% </span>
28
+ <span class="strong">58.68% </span>
29
29
  <span class="quiet">Branches</span>
30
- <span class='fraction'>72/120</span>
30
+ <span class='fraction'>71/121</span>
31
31
  </div>
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">46.24% </span>
33
+ <span class="strong">46.88% </span>
34
34
  <span class="quiet">Functions</span>
35
- <span class='fraction'>43/93</span>
35
+ <span class='fraction'>45/96</span>
36
36
  </div>
37
37
  <div class='fl pad1y space-right2'>
38
- <span class="strong">62.36% </span>
38
+ <span class="strong">63.24% </span>
39
39
  <span class="quiet">Lines</span>
40
- <span class='fraction'>164/263</span>
40
+ <span class='fraction'>172/272</span>
41
41
  </div>
42
42
  </div>
43
43
  <p class="quiet">
@@ -566,7 +566,36 @@
566
566
  <a name='L518'></a><a href='#L518'>518</a>
567
567
  <a name='L519'></a><a href='#L519'>519</a>
568
568
  <a name='L520'></a><a href='#L520'>520</a>
569
- <a name='L521'></a><a href='#L521'>521</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
569
+ <a name='L521'></a><a href='#L521'>521</a>
570
+ <a name='L522'></a><a href='#L522'>522</a>
571
+ <a name='L523'></a><a href='#L523'>523</a>
572
+ <a name='L524'></a><a href='#L524'>524</a>
573
+ <a name='L525'></a><a href='#L525'>525</a>
574
+ <a name='L526'></a><a href='#L526'>526</a>
575
+ <a name='L527'></a><a href='#L527'>527</a>
576
+ <a name='L528'></a><a href='#L528'>528</a>
577
+ <a name='L529'></a><a href='#L529'>529</a>
578
+ <a name='L530'></a><a href='#L530'>530</a>
579
+ <a name='L531'></a><a href='#L531'>531</a>
580
+ <a name='L532'></a><a href='#L532'>532</a>
581
+ <a name='L533'></a><a href='#L533'>533</a>
582
+ <a name='L534'></a><a href='#L534'>534</a>
583
+ <a name='L535'></a><a href='#L535'>535</a>
584
+ <a name='L536'></a><a href='#L536'>536</a>
585
+ <a name='L537'></a><a href='#L537'>537</a>
586
+ <a name='L538'></a><a href='#L538'>538</a>
587
+ <a name='L539'></a><a href='#L539'>539</a>
588
+ <a name='L540'></a><a href='#L540'>540</a>
589
+ <a name='L541'></a><a href='#L541'>541</a>
590
+ <a name='L542'></a><a href='#L542'>542</a>
591
+ <a name='L543'></a><a href='#L543'>543</a>
592
+ <a name='L544'></a><a href='#L544'>544</a>
593
+ <a name='L545'></a><a href='#L545'>545</a>
594
+ <a name='L546'></a><a href='#L546'>546</a>
595
+ <a name='L547'></a><a href='#L547'>547</a>
596
+ <a name='L548'></a><a href='#L548'>548</a>
597
+ <a name='L549'></a><a href='#L549'>549</a>
598
+ <a name='L550'></a><a href='#L550'>550</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
570
599
  <span class="cline-any cline-yes">1x</span>
571
600
  <span class="cline-any cline-yes">1x</span>
572
601
  <span class="cline-any cline-yes">1x</span>
@@ -637,14 +666,6 @@
637
666
  <span class="cline-any cline-neutral">&nbsp;</span>
638
667
  <span class="cline-any cline-yes">38207x</span>
639
668
  <span class="cline-any cline-neutral">&nbsp;</span>
640
- <span class="cline-any cline-yes">8x</span>
641
- <span class="cline-any cline-no">&nbsp;</span>
642
- <span class="cline-any cline-no">&nbsp;</span>
643
- <span class="cline-any cline-no">&nbsp;</span>
644
- <span class="cline-any cline-neutral">&nbsp;</span>
645
- <span class="cline-any cline-neutral">&nbsp;</span>
646
- <span class="cline-any cline-no">&nbsp;</span>
647
- <span class="cline-any cline-neutral">&nbsp;</span>
648
669
  <span class="cline-any cline-neutral">&nbsp;</span>
649
670
  <span class="cline-any cline-neutral">&nbsp;</span>
650
671
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -827,9 +848,6 @@
827
848
  <span class="cline-any cline-neutral">&nbsp;</span>
828
849
  <span class="cline-any cline-yes">8x</span>
829
850
  <span class="cline-any cline-yes">13x</span>
830
- <span class="cline-any cline-no">&nbsp;</span>
831
- <span class="cline-any cline-neutral">&nbsp;</span>
832
- <span class="cline-any cline-yes">13x</span>
833
851
  <span class="cline-any cline-yes">13x</span>
834
852
  <span class="cline-any cline-yes">13x</span>
835
853
  <span class="cline-any cline-yes">13x</span>
@@ -839,11 +857,20 @@
839
857
  <span class="cline-any cline-yes">13x</span>
840
858
  <span class="cline-any cline-neutral">&nbsp;</span>
841
859
  <span class="cline-any cline-yes">8x</span>
842
- <span class="cline-any cline-yes">4x</span>
860
+ <span class="cline-any cline-no">&nbsp;</span>
861
+ <span class="cline-any cline-no">&nbsp;</span>
862
+ <span class="cline-any cline-neutral">&nbsp;</span>
863
+ <span class="cline-any cline-neutral">&nbsp;</span>
864
+ <span class="cline-any cline-no">&nbsp;</span>
865
+ <span class="cline-any cline-neutral">&nbsp;</span>
866
+ <span class="cline-any cline-no">&nbsp;</span>
867
+ <span class="cline-any cline-neutral">&nbsp;</span>
868
+ <span class="cline-any cline-yes">8x</span>
843
869
  <span class="cline-any cline-yes">4x</span>
844
870
  <span class="cline-any cline-no">&nbsp;</span>
845
871
  <span class="cline-any cline-neutral">&nbsp;</span>
846
872
  <span class="cline-any cline-yes">4x</span>
873
+ <span class="cline-any cline-yes">4x</span>
847
874
  <span class="cline-any cline-no">&nbsp;</span>
848
875
  <span class="cline-any cline-neutral">&nbsp;</span>
849
876
  <span class="cline-any cline-yes">4x</span>
@@ -854,117 +881,171 @@
854
881
  <span class="cline-any cline-yes">8x</span>
855
882
  <span class="cline-any cline-no">&nbsp;</span>
856
883
  <span class="cline-any cline-no">&nbsp;</span>
857
- <span class="cline-any cline-no">&nbsp;</span>
858
884
  <span class="cline-any cline-neutral">&nbsp;</span>
859
885
  <span class="cline-any cline-no">&nbsp;</span>
860
886
  <span class="cline-any cline-neutral">&nbsp;</span>
861
887
  <span class="cline-any cline-yes">8x</span>
862
888
  <span class="cline-any cline-no">&nbsp;</span>
863
889
  <span class="cline-any cline-no">&nbsp;</span>
864
- <span class="cline-any cline-no">&nbsp;</span>
865
890
  <span class="cline-any cline-neutral">&nbsp;</span>
866
891
  <span class="cline-any cline-no">&nbsp;</span>
867
892
  <span class="cline-any cline-neutral">&nbsp;</span>
868
893
  <span class="cline-any cline-yes">8x</span>
869
- <span class="cline-any cline-no">&nbsp;</span>
870
- <span class="cline-any cline-no">&nbsp;</span>
871
- <span class="cline-any cline-no">&nbsp;</span>
872
894
  <span class="cline-any cline-neutral">&nbsp;</span>
873
- <span class="cline-any cline-no">&nbsp;</span>
874
- <span class="cline-any cline-no">&nbsp;</span>
875
- <span class="cline-any cline-no">&nbsp;</span>
876
- <span class="cline-any cline-no">&nbsp;</span>
877
- <span class="cline-any cline-no">&nbsp;</span>
878
895
  <span class="cline-any cline-neutral">&nbsp;</span>
896
+ <span class="cline-any cline-neutral">&nbsp;</span>
897
+ <span class="cline-any cline-neutral">&nbsp;</span>
898
+ <span class="cline-any cline-neutral">&nbsp;</span>
899
+ <span class="cline-any cline-neutral">&nbsp;</span>
900
+ <span class="cline-any cline-neutral">&nbsp;</span>
901
+ <span class="cline-any cline-neutral">&nbsp;</span>
902
+ <span class="cline-any cline-yes">50x</span>
903
+ <span class="cline-any cline-neutral">&nbsp;</span>
904
+ <span class="cline-any cline-neutral">&nbsp;</span>
905
+ <span class="cline-any cline-yes">50x</span>
906
+ <span class="cline-any cline-neutral">&nbsp;</span>
907
+ <span class="cline-any cline-neutral">&nbsp;</span>
908
+ <span class="cline-any cline-neutral">&nbsp;</span>
909
+ <span class="cline-any cline-yes">1x</span>
910
+ <span class="cline-any cline-yes">1x</span>
911
+ <span class="cline-any cline-yes">8x</span>
879
912
  <span class="cline-any cline-yes">8x</span>
880
913
  <span class="cline-any cline-no">&nbsp;</span>
881
914
  <span class="cline-any cline-no">&nbsp;</span>
882
915
  <span class="cline-any cline-no">&nbsp;</span>
916
+ <span class="cline-any cline-neutral">&nbsp;</span>
917
+ <span class="cline-any cline-neutral">&nbsp;</span>
883
918
  <span class="cline-any cline-no">&nbsp;</span>
919
+ <span class="cline-any cline-neutral">&nbsp;</span>
920
+ <span class="cline-any cline-neutral">&nbsp;</span>
921
+ <span class="cline-any cline-neutral">&nbsp;</span>
922
+ <span class="cline-any cline-neutral">&nbsp;</span>
923
+ <span class="cline-any cline-yes">8x</span>
884
924
  <span class="cline-any cline-no">&nbsp;</span>
885
- <span class="cline-any cline-no">&nbsp;</span>
886
- <span class="cline-any cline-no">&nbsp;</span>
887
- <span class="cline-any cline-no">&nbsp;</span>
888
- <span class="cline-any cline-no">&nbsp;</span>
925
+ <span class="cline-any cline-neutral">&nbsp;</span>
889
926
  <span class="cline-any cline-no">&nbsp;</span>
890
927
  <span class="cline-any cline-neutral">&nbsp;</span>
928
+ <span class="cline-any cline-neutral">&nbsp;</span>
891
929
  <span class="cline-any cline-yes">8x</span>
892
930
  <span class="cline-any cline-no">&nbsp;</span>
931
+ <span class="cline-any cline-neutral">&nbsp;</span>
893
932
  <span class="cline-any cline-no">&nbsp;</span>
894
933
  <span class="cline-any cline-neutral">&nbsp;</span>
895
934
  <span class="cline-any cline-neutral">&nbsp;</span>
935
+ <span class="cline-any cline-yes">8x</span>
896
936
  <span class="cline-any cline-no">&nbsp;</span>
937
+ <span class="cline-any cline-neutral">&nbsp;</span>
897
938
  <span class="cline-any cline-no">&nbsp;</span>
898
939
  <span class="cline-any cline-neutral">&nbsp;</span>
940
+ <span class="cline-any cline-neutral">&nbsp;</span>
941
+ <span class="cline-any cline-yes">8x</span>
899
942
  <span class="cline-any cline-no">&nbsp;</span>
943
+ <span class="cline-any cline-neutral">&nbsp;</span>
900
944
  <span class="cline-any cline-no">&nbsp;</span>
901
945
  <span class="cline-any cline-neutral">&nbsp;</span>
902
946
  <span class="cline-any cline-neutral">&nbsp;</span>
947
+ <span class="cline-any cline-yes">8x</span>
903
948
  <span class="cline-any cline-no">&nbsp;</span>
949
+ <span class="cline-any cline-neutral">&nbsp;</span>
904
950
  <span class="cline-any cline-no">&nbsp;</span>
905
951
  <span class="cline-any cline-neutral">&nbsp;</span>
906
952
  <span class="cline-any cline-neutral">&nbsp;</span>
953
+ <span class="cline-any cline-yes">8x</span>
954
+ <span class="cline-any cline-neutral">&nbsp;</span>
955
+ <span class="cline-any cline-neutral">&nbsp;</span>
956
+ <span class="cline-any cline-neutral">&nbsp;</span>
957
+ <span class="cline-any cline-neutral">&nbsp;</span>
958
+ <span class="cline-any cline-neutral">&nbsp;</span>
959
+ <span class="cline-any cline-neutral">&nbsp;</span>
960
+ <span class="cline-any cline-neutral">&nbsp;</span>
961
+ <span class="cline-any cline-neutral">&nbsp;</span>
962
+ <span class="cline-any cline-neutral">&nbsp;</span>
907
963
  <span class="cline-any cline-neutral">&nbsp;</span>
964
+ <span class="cline-any cline-yes">1x</span>
965
+ <span class="cline-any cline-yes">1x</span>
908
966
  <span class="cline-any cline-yes">8x</span>
909
- <span class="cline-any cline-no">&nbsp;</span>
910
- <span class="cline-any cline-no">&nbsp;</span>
911
967
  <span class="cline-any cline-neutral">&nbsp;</span>
912
968
  <span class="cline-any cline-neutral">&nbsp;</span>
913
- <span class="cline-any cline-no">&nbsp;</span>
969
+ <span class="cline-any cline-neutral">&nbsp;</span>
970
+ <span class="cline-any cline-neutral">&nbsp;</span>
971
+ <span class="cline-any cline-neutral">&nbsp;</span>
972
+ <span class="cline-any cline-neutral">&nbsp;</span>
973
+ <span class="cline-any cline-neutral">&nbsp;</span>
974
+ <span class="cline-any cline-yes">8x</span>
914
975
  <span class="cline-any cline-no">&nbsp;</span>
915
976
  <span class="cline-any cline-neutral">&nbsp;</span>
916
977
  <span class="cline-any cline-no">&nbsp;</span>
917
978
  <span class="cline-any cline-no">&nbsp;</span>
918
979
  <span class="cline-any cline-neutral">&nbsp;</span>
980
+ <span class="cline-any cline-no">&nbsp;</span>
919
981
  <span class="cline-any cline-neutral">&nbsp;</span>
920
982
  <span class="cline-any cline-no">&nbsp;</span>
921
983
  <span class="cline-any cline-no">&nbsp;</span>
922
984
  <span class="cline-any cline-no">&nbsp;</span>
985
+ <span class="cline-any cline-no">&nbsp;</span>
923
986
  <span class="cline-any cline-neutral">&nbsp;</span>
924
987
  <span class="cline-any cline-yes">8x</span>
925
988
  <span class="cline-any cline-no">&nbsp;</span>
989
+ <span class="cline-any cline-neutral">&nbsp;</span>
990
+ <span class="cline-any cline-no">&nbsp;</span>
926
991
  <span class="cline-any cline-no">&nbsp;</span>
927
992
  <span class="cline-any cline-no">&nbsp;</span>
928
993
  <span class="cline-any cline-no">&nbsp;</span>
929
994
  <span class="cline-any cline-no">&nbsp;</span>
930
995
  <span class="cline-any cline-neutral">&nbsp;</span>
931
996
  <span class="cline-any cline-no">&nbsp;</span>
997
+ <span class="cline-any cline-no">&nbsp;</span>
998
+ <span class="cline-any cline-no">&nbsp;</span>
999
+ <span class="cline-any cline-no">&nbsp;</span>
932
1000
  <span class="cline-any cline-neutral">&nbsp;</span>
933
1001
  <span class="cline-any cline-yes">8x</span>
934
1002
  <span class="cline-any cline-no">&nbsp;</span>
935
1003
  <span class="cline-any cline-neutral">&nbsp;</span>
1004
+ <span class="cline-any cline-no">&nbsp;</span>
936
1005
  <span class="cline-any cline-neutral">&nbsp;</span>
937
1006
  <span class="cline-any cline-neutral">&nbsp;</span>
1007
+ <span class="cline-any cline-no">&nbsp;</span>
1008
+ <span class="cline-any cline-no">&nbsp;</span>
938
1009
  <span class="cline-any cline-neutral">&nbsp;</span>
939
- <span class="cline-any cline-yes">8x</span>
940
1010
  <span class="cline-any cline-no">&nbsp;</span>
941
1011
  <span class="cline-any cline-neutral">&nbsp;</span>
942
1012
  <span class="cline-any cline-no">&nbsp;</span>
943
1013
  <span class="cline-any cline-neutral">&nbsp;</span>
944
1014
  <span class="cline-any cline-neutral">&nbsp;</span>
945
- <span class="cline-any cline-yes">8x</span>
946
1015
  <span class="cline-any cline-no">&nbsp;</span>
947
- <span class="cline-any cline-neutral">&nbsp;</span>
948
1016
  <span class="cline-any cline-no">&nbsp;</span>
949
1017
  <span class="cline-any cline-neutral">&nbsp;</span>
950
1018
  <span class="cline-any cline-neutral">&nbsp;</span>
1019
+ <span class="cline-any cline-neutral">&nbsp;</span>
951
1020
  <span class="cline-any cline-yes">8x</span>
952
1021
  <span class="cline-any cline-no">&nbsp;</span>
953
1022
  <span class="cline-any cline-neutral">&nbsp;</span>
954
1023
  <span class="cline-any cline-no">&nbsp;</span>
955
1024
  <span class="cline-any cline-neutral">&nbsp;</span>
956
1025
  <span class="cline-any cline-neutral">&nbsp;</span>
957
- <span class="cline-any cline-yes">8x</span>
1026
+ <span class="cline-any cline-no">&nbsp;</span>
1027
+ <span class="cline-any cline-no">&nbsp;</span>
1028
+ <span class="cline-any cline-neutral">&nbsp;</span>
958
1029
  <span class="cline-any cline-no">&nbsp;</span>
959
1030
  <span class="cline-any cline-neutral">&nbsp;</span>
960
1031
  <span class="cline-any cline-no">&nbsp;</span>
961
1032
  <span class="cline-any cline-neutral">&nbsp;</span>
962
1033
  <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>
1036
+ <span class="cline-any cline-no">&nbsp;</span>
1037
+ <span class="cline-any cline-neutral">&nbsp;</span>
963
1038
  <span class="cline-any cline-yes">8x</span>
964
1039
  <span class="cline-any cline-no">&nbsp;</span>
1040
+ <span class="cline-any cline-no">&nbsp;</span>
1041
+ <span class="cline-any cline-no">&nbsp;</span>
1042
+ <span class="cline-any cline-no">&nbsp;</span>
1043
+ <span class="cline-any cline-no">&nbsp;</span>
965
1044
  <span class="cline-any cline-neutral">&nbsp;</span>
966
1045
  <span class="cline-any cline-no">&nbsp;</span>
967
1046
  <span class="cline-any cline-neutral">&nbsp;</span>
1047
+ <span class="cline-any cline-yes">8x</span>
1048
+ <span class="cline-any cline-no">&nbsp;</span>
968
1049
  <span class="cline-any cline-neutral">&nbsp;</span>
969
1050
  <span class="cline-any cline-neutral">&nbsp;</span>
970
1051
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1062,35 +1143,12 @@
1062
1143
  <span class="cline-any cline-neutral">&nbsp;</span>
1063
1144
  <span class="cline-any cline-neutral">&nbsp;</span>
1064
1145
  <span class="cline-any cline-neutral">&nbsp;</span>
1065
- <span class="cline-any cline-neutral">&nbsp;</span>
1066
- <span class="cline-any cline-neutral">&nbsp;</span>
1067
- <span class="cline-any cline-neutral">&nbsp;</span>
1068
- <span class="cline-any cline-neutral">&nbsp;</span>
1069
- <span class="cline-any cline-neutral">&nbsp;</span>
1070
- <span class="cline-any cline-neutral">&nbsp;</span>
1071
- <span class="cline-any cline-neutral">&nbsp;</span>
1072
- <span class="cline-any cline-neutral">&nbsp;</span>
1073
- <span class="cline-any cline-neutral">&nbsp;</span>
1074
- <span class="cline-any cline-neutral">&nbsp;</span>
1075
- <span class="cline-any cline-neutral">&nbsp;</span>
1076
- <span class="cline-any cline-neutral">&nbsp;</span>
1077
- <span class="cline-any cline-neutral">&nbsp;</span>
1078
- <span class="cline-any cline-neutral">&nbsp;</span>
1079
- <span class="cline-any cline-yes">50x</span>
1080
- <span class="cline-any cline-neutral">&nbsp;</span>
1081
- <span class="cline-any cline-neutral">&nbsp;</span>
1082
- <span class="cline-any cline-yes">50x</span>
1083
- <span class="cline-any cline-neutral">&nbsp;</span>
1084
- <span class="cline-any cline-neutral">&nbsp;</span>
1085
- <span class="cline-any cline-neutral">&nbsp;</span>
1086
- <span class="cline-any cline-neutral">&nbsp;</span>
1087
- <span class="cline-any cline-neutral">&nbsp;</span>
1088
1146
  <span class="cline-any cline-yes">1x</span>
1089
1147
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">"use strict";
1090
1148
  Object.defineProperty(exports, "__esModule", { value: true });
1091
- exports.create = void 0;
1149
+ exports.create = exports.createAbstractionLayer = exports.createOrm = void 0;
1092
1150
  const camelCase = require('camelcase');
1093
- const create = ({ entities: externalEntities, db, logError }) =&gt; {
1151
+ const createOrm = ({ entities: externalEntities }) =&gt; {
1094
1152
  const entities = externalEntities.map((d) =&gt; {
1095
1153
  const tableName = d.tableName;
1096
1154
  const displayName = d.displayName || camelCase(d.tableName);
@@ -1157,14 +1215,6 @@ const create = ({ entities: externalEntities, db, logError }) =&gt; {
1157
1215
  }
1158
1216
  return entity;
1159
1217
  };
1160
- const defaultErrorHandler = <span class="fstat-no" title="function not covered" >(e</span>rr) =&gt; {
1161
- <span class="cstat-no" title="statement not covered" > if (!(err.name === 'QueryResultError')) {</span>
1162
- <span class="cstat-no" title="statement not covered" > if (logError) {</span>
1163
- <span class="cstat-no" title="statement not covered" > logError(err);</span>
1164
- }
1165
- }
1166
- <span class="cstat-no" title="statement not covered" > throw err;</span>
1167
- };
1168
1218
  /*
1169
1219
  * In:
1170
1220
  * [
@@ -1345,25 +1395,31 @@ const create = ({ entities: externalEntities, db, logError }) =&gt; {
1345
1395
  return obj;
1346
1396
  }, {});
1347
1397
  };
1348
- const createFromDatabase = (_result) =&gt; {
1349
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!_result || !_result.length) {
1350
- <span class="cstat-no" title="statement not covered" > return void 0;</span>
1351
- }
1352
- const result = Array.isArray(_result) ? _result : <span class="branch-1 cbranch-no" title="branch not covered" >[_result];</span>
1398
+ const createFromDatabase = (rows) =&gt; {
1399
+ const result = Array.isArray(rows) ? rows : <span class="branch-1 cbranch-no" title="branch not covered" >[rows];</span>
1353
1400
  const objectified = result.map(objectifyDatabaseResult);
1354
1401
  const boified = objectified.map(mapToBos);
1355
1402
  const clumps = clumpIntoGroups(boified);
1356
1403
  const nested = clumps.map(nestClump);
1357
1404
  const models = nested.map((n) =&gt; Object.values(n)[0]);
1358
1405
  const Collection = getEntityByModel(models[0]).Collection;
1359
- return models.length ? new Collection({ models }) : <span class="branch-1 cbranch-no" title="branch not covered" >void 0;</span>
1406
+ return new Collection({ models });
1407
+ };
1408
+ const createAnyFromDatabase = <span class="fstat-no" title="function not covered" >(r</span>ows, rootKey) =&gt; {
1409
+ <span class="cstat-no" title="statement not covered" > if (!rows || !rows.length) {</span>
1410
+ const Collection = <span class="cstat-no" title="statement not covered" >typeof rootKey === 'string'</span>
1411
+ ? getEntityByTableName(rootKey).Collection
1412
+ : getEntityByModel(rootKey).Collection;
1413
+ <span class="cstat-no" title="statement not covered" > return new Collection({ models: [] });</span>
1414
+ }
1415
+ <span class="cstat-no" title="statement not covered" > return createFromDatabase(rows);</span>
1360
1416
  };
1361
- const createOneFromDatabase = (_result) =&gt; {
1362
- const collection = createFromDatabase(_result);
1363
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!collection) {
1417
+ const createOneFromDatabase = (rows) =&gt; {
1418
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!rows || !rows.length) {
1364
1419
  <span class="cstat-no" title="statement not covered" > throw Error('Did not get one.');</span>
1365
1420
  }
1366
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!collection || collection.models.length === 0) {
1421
+ const collection = createFromDatabase(rows);
1422
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!collection || !collection.models || collection.models.length === 0) {
1367
1423
  <span class="cstat-no" title="statement not covered" > throw Error('Did not get one.');</span>
1368
1424
  }
1369
1425
  else <span class="missing-if-branch" title="if path not taken" >I</span>if (collection.models.length &gt; 1) {
@@ -1371,52 +1427,137 @@ const create = ({ entities: externalEntities, db, logError }) =&gt; {
1371
1427
  }
1372
1428
  return collection.models[0];
1373
1429
  };
1374
- const createOneOrNoneFromDatabase = <span class="fstat-no" title="function not covered" >(_</span>result) =&gt; {
1375
- const collection = <span class="cstat-no" title="statement not covered" >createFromDatabase(_result);</span>
1376
- <span class="cstat-no" title="statement not covered" > if (collection &amp;&amp; collection.models.length &gt; 1) {</span>
1377
- <span class="cstat-no" title="statement not covered" > throw Error('Got more than one.');</span>
1430
+ const createOneOrNoneFromDatabase = <span class="fstat-no" title="function not covered" >(r</span>ows) =&gt; {
1431
+ <span class="cstat-no" title="statement not covered" > if (!rows || !rows.length) {</span>
1432
+ <span class="cstat-no" title="statement not covered" > return void 0;</span>
1378
1433
  }
1379
- <span class="cstat-no" title="statement not covered" > return collection &amp;&amp; collection.models[0];</span>
1434
+ <span class="cstat-no" title="statement not covered" > return createOneFromDatabase(rows);</span>
1380
1435
  };
1381
- const createManyFromDatabase = <span class="fstat-no" title="function not covered" >(_</span>result) =&gt; {
1382
- const collection = <span class="cstat-no" title="statement not covered" >createFromDatabase(_result);</span>
1383
- <span class="cstat-no" title="statement not covered" > if (!collection || collection.models.length === 0) {</span>
1436
+ const createManyFromDatabase = <span class="fstat-no" title="function not covered" >(r</span>ows) =&gt; {
1437
+ <span class="cstat-no" title="statement not covered" > if (!rows || !rows.length) {</span>
1384
1438
  <span class="cstat-no" title="statement not covered" > throw Error('Did not get at least one.');</span>
1385
1439
  }
1386
- <span class="cstat-no" title="statement not covered" > return collection;</span>
1440
+ <span class="cstat-no" title="statement not covered" > return createFromDatabase(rows);</span>
1441
+ };
1442
+ return {
1443
+ getEntityByModel,
1444
+ createFromDatabase,
1445
+ createAnyFromDatabase,
1446
+ createOneFromDatabase,
1447
+ createOneOrNoneFromDatabase,
1448
+ createManyFromDatabase,
1449
+ // tables property for access to select columns clause string
1450
+ tables: entities.reduce((accum, data) =&gt; {
1451
+ accum[data.displayName] = {
1452
+ columns: data.selectColumnsClause
1453
+ };
1454
+ return accum;
1455
+ }, {})
1456
+ };
1457
+ };
1458
+ exports.createOrm = createOrm;
1459
+ const createAbstractionLayer = ({ entities: externalEntities, db, logError }) =&gt; {
1460
+ const orm = (0, exports.createOrm)({ entities: externalEntities });
1461
+ const defaultErrorHandler = <span class="fstat-no" title="function not covered" >(e</span>rr) =&gt; {
1462
+ <span class="cstat-no" title="statement not covered" > if (!(err.name === 'QueryResultError')) {</span>
1463
+ <span class="cstat-no" title="statement not covered" > if (logError) {</span>
1464
+ <span class="cstat-no" title="statement not covered" > logError(err);</span>
1465
+ }
1466
+ }
1467
+ <span class="cstat-no" title="statement not covered" > throw err;</span>
1468
+ };
1469
+ /* ------------------------------------------------------------------------*/
1470
+ /* Query functions --------------------------------------------------------*/
1471
+ /* ------------------------------------------------------------------------*/
1472
+ const one = <span class="fstat-no" title="function not covered" >(q</span>uery, values, errorHandler = <span class="branch-0 cbranch-no" title="branch not covered" >defaultErrorHandler)</span> =&gt; {
1473
+ <span class="cstat-no" title="statement not covered" > return db</span>
1474
+ .many(query, values)
1475
+ .then(<span class="fstat-no" title="function not covered" >(r</span>ows) =&gt; <span class="cstat-no" title="statement not covered" >orm.createOneFromDatabase(rows))</span>
1476
+ .catch(errorHandler);
1387
1477
  };
1478
+ const oneOrNone = <span class="fstat-no" title="function not covered" >(q</span>uery, values, errorHandler = <span class="branch-0 cbranch-no" title="branch not covered" >defaultErrorHandler)</span> =&gt; {
1479
+ <span class="cstat-no" title="statement not covered" > return db</span>
1480
+ .any(query, values)
1481
+ .then(<span class="fstat-no" title="function not covered" >(r</span>ows) =&gt; <span class="cstat-no" title="statement not covered" >orm.createOneOrNoneFromDatabase(rows))</span>
1482
+ .catch(errorHandler);
1483
+ };
1484
+ const many = <span class="fstat-no" title="function not covered" >(q</span>uery, values, errorHandler = <span class="branch-0 cbranch-no" title="branch not covered" >defaultErrorHandler)</span> =&gt; {
1485
+ <span class="cstat-no" title="statement not covered" > return db</span>
1486
+ .any(query, values)
1487
+ .then(<span class="fstat-no" title="function not covered" >(r</span>ows) =&gt; <span class="cstat-no" title="statement not covered" >orm.createManyFromDatabase(rows))</span>
1488
+ .catch(errorHandler);
1489
+ };
1490
+ const any = <span class="fstat-no" title="function not covered" >(q</span>uery, values, errorHandler = <span class="branch-0 cbranch-no" title="branch not covered" >defaultErrorHandler)</span> =&gt; {
1491
+ <span class="cstat-no" title="statement not covered" > return db</span>
1492
+ .result(query, values)
1493
+ .then(<span class="fstat-no" title="function not covered" >(r</span>esult) =&gt; <span class="cstat-no" title="statement not covered" >orm.createAnyFromDatabase(result.rows, result.fields[0].name.split('#')[0]))</span>
1494
+ .catch(errorHandler);
1495
+ };
1496
+ const none = <span class="fstat-no" title="function not covered" >(q</span>uery, values, errorHandler = <span class="branch-0 cbranch-no" title="branch not covered" >defaultErrorHandler)</span> =&gt; {
1497
+ <span class="cstat-no" title="statement not covered" > return db</span>
1498
+ .none(query, values)
1499
+ .then(<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >null)</span>
1500
+ .catch(errorHandler);
1501
+ };
1502
+ return Object.assign({}, orm, {
1503
+ // Query Functions
1504
+ one,
1505
+ oneOrNone,
1506
+ many,
1507
+ any,
1508
+ none,
1509
+ // provide direct access to db
1510
+ db
1511
+ });
1512
+ };
1513
+ exports.createAbstractionLayer = createAbstractionLayer;
1514
+ const create = ({ entities: externalEntities, db, logError }) =&gt; {
1515
+ const orm = (0, exports.createAbstractionLayer)({
1516
+ entities: externalEntities,
1517
+ db,
1518
+ logError
1519
+ });
1520
+ /* ------------------------------------------------------------------------*/
1521
+ /* Helper Utilities for CRUD functions ------------------------------------*/
1522
+ /* ------------------------------------------------------------------------*/
1388
1523
  const getSqlInsertParts = <span class="fstat-no" title="function not covered" >(m</span>odel) =&gt; {
1389
- const columns = <span class="cstat-no" title="statement not covered" >getEntityByModel(model)</span>
1390
- .columnNames.filter(<span class="fstat-no" title="function not covered" >(c</span>olumn, index) =&gt; <span class="cstat-no" title="statement not covered" >model[getEntityByModel(model).propertyNames[index]] !== void 0)</span>
1524
+ const columns = <span class="cstat-no" title="statement not covered" >orm</span>
1525
+ .getEntityByModel(model)
1526
+ .columnNames.filter(<span class="fstat-no" title="function not covered" >(c</span>olumn, index) =&gt; <span class="cstat-no" title="statement not covered" >model[orm.getEntityByModel(model).propertyNames[index]] !== void 0)</span>
1391
1527
  .map(<span class="fstat-no" title="function not covered" >(c</span>ol) =&gt; <span class="cstat-no" title="statement not covered" >`"${col}"`)</span>
1392
1528
  .join(', ');
1393
- const values = <span class="cstat-no" title="statement not covered" >getEntityByModel(model)</span>
1529
+ const values = <span class="cstat-no" title="statement not covered" >orm</span>
1530
+ .getEntityByModel(model)
1394
1531
  .propertyNames.map(<span class="fstat-no" title="function not covered" >(p</span>roperty) =&gt; <span class="cstat-no" title="statement not covered" >model[property])</span>
1395
1532
  .filter(<span class="fstat-no" title="function not covered" >(v</span>alue) =&gt; <span class="cstat-no" title="statement not covered" >value !== void 0)</span>;
1396
1533
  const valuesVar = <span class="cstat-no" title="statement not covered" >values.map(<span class="fstat-no" title="function not covered" >(v</span>alue, index) =&gt; <span class="cstat-no" title="statement not covered" >`$${index + 1}`)</span>;</span>
1397
1534
  <span class="cstat-no" title="statement not covered" > return { columns, values, valuesVar };</span>
1398
1535
  };
1399
1536
  const getSqlUpdateParts = <span class="fstat-no" title="function not covered" >(m</span>odel, on = <span class="branch-0 cbranch-no" title="branch not covered" >'id')</span> =&gt; {
1400
- const clauseArray = <span class="cstat-no" title="statement not covered" >getEntityByModel(model)</span>
1401
- .columnNames.filter(<span class="fstat-no" title="function not covered" >(s</span>qlColumn, index) =&gt; <span class="cstat-no" title="statement not covered" >model[getEntityByModel(model).propertyNames[index]] !== void 0)</span>
1537
+ const clauseArray = <span class="cstat-no" title="statement not covered" >orm</span>
1538
+ .getEntityByModel(model)
1539
+ .columnNames.filter(<span class="fstat-no" title="function not covered" >(s</span>qlColumn, index) =&gt; <span class="cstat-no" title="statement not covered" >model[orm.getEntityByModel(model).propertyNames[index]] !== void 0)</span>
1402
1540
  .map(<span class="fstat-no" title="function not covered" >(s</span>qlColumn, index) =&gt; <span class="cstat-no" title="statement not covered" >`"${sqlColumn}" = $${index + 1}`)</span>;
1403
1541
  const clause = <span class="cstat-no" title="statement not covered" >clauseArray.join(', ');</span>
1404
1542
  const idVar = <span class="cstat-no" title="statement not covered" >`$${clauseArray.length + 1}`;</span>
1405
- const _values = <span class="cstat-no" title="statement not covered" >getEntityByModel(model)</span>
1543
+ const _values = <span class="cstat-no" title="statement not covered" >orm</span>
1544
+ .getEntityByModel(model)
1406
1545
  .propertyNames.map(<span class="fstat-no" title="function not covered" >(p</span>roperty) =&gt; <span class="cstat-no" title="statement not covered" >model[property])</span>
1407
1546
  .filter(<span class="fstat-no" title="function not covered" >(v</span>alue) =&gt; <span class="cstat-no" title="statement not covered" >value !== void 0)</span>;
1408
1547
  const values = <span class="cstat-no" title="statement not covered" >[..._values, model[on]];</span>
1409
1548
  <span class="cstat-no" title="statement not covered" > return { clause, idVar, values };</span>
1410
1549
  };
1411
1550
  const getMatchingParts = <span class="fstat-no" title="function not covered" >(m</span>odel) =&gt; {
1412
- const whereClause = <span class="cstat-no" title="statement not covered" >getEntityByModel(model)</span>
1551
+ const whereClause = <span class="cstat-no" title="statement not covered" >orm</span>
1552
+ .getEntityByModel(model)
1413
1553
  .propertyNames.map(<span class="fstat-no" title="function not covered" >(p</span>roperty, index) =&gt; <span class="cstat-no" title="statement not covered" >model[property] != null</span>
1414
- ? `"${getEntityByModel(model).tableName}"."${getEntityByModel(model).columnNames[index]}"`
1554
+ ? `"${orm.getEntityByModel(model).tableName}"."${orm.getEntityByModel(model).columnNames[index]}"`
1415
1555
  : null)
1416
1556
  .filter(<span class="fstat-no" title="function not covered" >(x</span>) =&gt; <span class="cstat-no" title="statement not covered" >x != null)</span>
1417
1557
  .map(<span class="fstat-no" title="function not covered" >(x</span>, i) =&gt; <span class="cstat-no" title="statement not covered" >`${x} = $${i + 1}`)</span>
1418
1558
  .join(' AND ');
1419
- const values = <span class="cstat-no" title="statement not covered" >getEntityByModel(model)</span>
1559
+ const values = <span class="cstat-no" title="statement not covered" >orm</span>
1560
+ .getEntityByModel(model)
1420
1561
  .propertyNames.map(<span class="fstat-no" title="function not covered" >(p</span>roperty) =&gt; <span class="cstat-no" title="statement not covered" >model[property] != null</span>
1421
1562
  ? model[property]
1422
1563
  : null)
@@ -1426,14 +1567,16 @@ const create = ({ entities: externalEntities, db, logError }) =&gt; {
1426
1567
  // This one returns an object, which allows it to be more versatile.
1427
1568
  // To-do: make this one even better and use it instead of the one above.
1428
1569
  const getMatchingPartsObject = <span class="fstat-no" title="function not covered" >(m</span>odel) =&gt; {
1429
- const whereClause = <span class="cstat-no" title="statement not covered" >getEntityByModel(model)</span>
1570
+ const whereClause = <span class="cstat-no" title="statement not covered" >orm</span>
1571
+ .getEntityByModel(model)
1430
1572
  .propertyNames.map(<span class="fstat-no" title="function not covered" >(p</span>roperty, index) =&gt; <span class="cstat-no" title="statement not covered" >model[property] != null</span>
1431
- ? `"${getEntityByModel(model).tableName}"."${getEntityByModel(model).columnNames[index]}"`
1573
+ ? `"${orm.getEntityByModel(model).tableName}"."${orm.getEntityByModel(model).columnNames[index]}"`
1432
1574
  : null)
1433
1575
  .filter(<span class="fstat-no" title="function not covered" >(x</span>) =&gt; <span class="cstat-no" title="statement not covered" >x != null)</span>
1434
1576
  .map(<span class="fstat-no" title="function not covered" >(x</span>, i) =&gt; <span class="cstat-no" title="statement not covered" >`${x} = $(${i + 1})`)</span>
1435
1577
  .join(' AND ');
1436
- const values = <span class="cstat-no" title="statement not covered" >getEntityByModel(model)</span>
1578
+ const values = <span class="cstat-no" title="statement not covered" >orm</span>
1579
+ .getEntityByModel(model)
1437
1580
  .propertyNames.map(<span class="fstat-no" title="function not covered" >(p</span>roperty) =&gt; <span class="cstat-no" title="statement not covered" >model[property] != null</span>
1438
1581
  ? model[property]
1439
1582
  : null)
@@ -1443,7 +1586,7 @@ const create = ({ entities: externalEntities, db, logError }) =&gt; {
1443
1586
  };
1444
1587
  const getNewWith = <span class="fstat-no" title="function not covered" >(m</span>odel, sqlColumns, values) =&gt; {
1445
1588
  const Constructor = <span class="cstat-no" title="statement not covered" >model.constructor;</span>
1446
- const modelKeys = <span class="cstat-no" title="statement not covered" >sqlColumns.map(<span class="fstat-no" title="function not covered" >(k</span>ey) =&gt; <span class="cstat-no" title="statement not covered" >getEntityByModel(model).propertyNames[getEntityByModel(model).columnNames.indexOf(key)])</span>;</span>
1589
+ const modelKeys = <span class="cstat-no" title="statement not covered" >sqlColumns.map(<span class="fstat-no" title="function not covered" >(k</span>ey) =&gt; <span class="cstat-no" title="statement not covered" >orm.getEntityByModel(model).propertyNames[orm.getEntityByModel(model).columnNames.indexOf(key)])</span>;</span>
1447
1590
  const modelData = <span class="cstat-no" title="statement not covered" >modelKeys.reduce(<span class="fstat-no" title="function not covered" >(d</span>ata, key, index) =&gt; {</span>
1448
1591
  <span class="cstat-no" title="statement not covered" > data[key] = values[index];</span>
1449
1592
  <span class="cstat-no" title="statement not covered" > return data;</span>
@@ -1451,40 +1594,7 @@ const create = ({ entities: externalEntities, db, logError }) =&gt; {
1451
1594
  <span class="cstat-no" title="statement not covered" > return new Constructor(modelData);</span>
1452
1595
  };
1453
1596
  const getValueBySqlColumn = <span class="fstat-no" title="function not covered" >(m</span>odel, sqlColumn) =&gt; {
1454
- <span class="cstat-no" title="statement not covered" > return model[getEntityByModel(model).propertyNames[getEntityByModel(model).columnNames.indexOf(sqlColumn)]];</span>
1455
- };
1456
- /* ------------------------------------------------------------------------*/
1457
- /* Query functions --------------------------------------------------------*/
1458
- /* ------------------------------------------------------------------------*/
1459
- const one = <span class="fstat-no" title="function not covered" >(q</span>uery, values, errorHandler = <span class="branch-0 cbranch-no" title="branch not covered" >defaultErrorHandler)</span> =&gt; {
1460
- <span class="cstat-no" title="statement not covered" > return db</span>
1461
- .many(query, values)
1462
- .then(<span class="fstat-no" title="function not covered" >(r</span>ows) =&gt; <span class="cstat-no" title="statement not covered" >createOneFromDatabase(rows))</span>
1463
- .catch(errorHandler);
1464
- };
1465
- const oneOrNone = <span class="fstat-no" title="function not covered" >(q</span>uery, values, errorHandler = <span class="branch-0 cbranch-no" title="branch not covered" >defaultErrorHandler)</span> =&gt; {
1466
- <span class="cstat-no" title="statement not covered" > return db</span>
1467
- .any(query, values)
1468
- .then(<span class="fstat-no" title="function not covered" >(r</span>ows) =&gt; <span class="cstat-no" title="statement not covered" >createOneOrNoneFromDatabase(rows))</span>
1469
- .catch(errorHandler);
1470
- };
1471
- const many = <span class="fstat-no" title="function not covered" >(q</span>uery, values, errorHandler = <span class="branch-0 cbranch-no" title="branch not covered" >defaultErrorHandler)</span> =&gt; {
1472
- <span class="cstat-no" title="statement not covered" > return db</span>
1473
- .any(query, values)
1474
- .then(<span class="fstat-no" title="function not covered" >(r</span>ows) =&gt; <span class="cstat-no" title="statement not covered" >createManyFromDatabase(rows))</span>
1475
- .catch(errorHandler);
1476
- };
1477
- const any = <span class="fstat-no" title="function not covered" >(q</span>uery, values, errorHandler = <span class="branch-0 cbranch-no" title="branch not covered" >defaultErrorHandler)</span> =&gt; {
1478
- <span class="cstat-no" title="statement not covered" > return db</span>
1479
- .any(query, values)
1480
- .then(<span class="fstat-no" title="function not covered" >(r</span>ows) =&gt; <span class="cstat-no" title="statement not covered" >createFromDatabase(rows))</span>
1481
- .catch(errorHandler);
1482
- };
1483
- const none = <span class="fstat-no" title="function not covered" >(q</span>uery, values, errorHandler = <span class="branch-0 cbranch-no" title="branch not covered" >defaultErrorHandler)</span> =&gt; {
1484
- <span class="cstat-no" title="statement not covered" > return db</span>
1485
- .none(query, values)
1486
- .then(<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >null)</span>
1487
- .catch(errorHandler);
1597
+ <span class="cstat-no" title="statement not covered" > return model[orm.getEntityByModel(model).propertyNames[orm.getEntityByModel(model).columnNames.indexOf(sqlColumn)]];</span>
1488
1598
  };
1489
1599
  /* ------------------------------------------------------------------------*/
1490
1600
  /* Built-in basic CRUD functions ------------------------------------------*/
@@ -1493,98 +1603,77 @@ const create = ({ entities: externalEntities, db, logError }) =&gt; {
1493
1603
  const create = <span class="fstat-no" title="function not covered" >(m</span>odel) =&gt; {
1494
1604
  const { columns, values, valuesVar } = <span class="cstat-no" title="statement not covered" >getSqlInsertParts(model);</span>
1495
1605
  const query = <span class="cstat-no" title="statement not covered" >`</span>
1496
- INSERT INTO "${getEntityByModel(model).tableName}" ( ${columns} )
1606
+ INSERT INTO "${orm.getEntityByModel(model).tableName}" ( ${columns} )
1497
1607
  VALUES ( ${valuesVar} )
1498
- RETURNING ${getEntityByModel(model).selectColumnsClause};
1608
+ RETURNING ${orm.getEntityByModel(model).selectColumnsClause};
1499
1609
  `;
1500
- <span class="cstat-no" title="statement not covered" > return one(query, values);</span>
1610
+ <span class="cstat-no" title="statement not covered" > return orm.one(query, values);</span>
1501
1611
  };
1502
1612
  // Standard update
1503
1613
  const update = <span class="fstat-no" title="function not covered" >(m</span>odel, { on = <span class="branch-0 cbranch-no" title="branch not covered" >'id' </span>} = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> =&gt; {
1504
1614
  const { clause, idVar, values } = <span class="cstat-no" title="statement not covered" >getSqlUpdateParts(model, on);</span>
1505
1615
  const query = <span class="cstat-no" title="statement not covered" >`</span>
1506
- UPDATE "${getEntityByModel(model).tableName}"
1616
+ UPDATE "${orm.getEntityByModel(model).tableName}"
1507
1617
  SET ${clause}
1508
- WHERE "${getEntityByModel(model).tableName}".${on} = ${idVar}
1509
- RETURNING ${getEntityByModel(model).selectColumnsClause};
1618
+ WHERE "${orm.getEntityByModel(model).tableName}".${on} = ${idVar}
1619
+ RETURNING ${orm.getEntityByModel(model).selectColumnsClause};
1510
1620
  `;
1511
- <span class="cstat-no" title="statement not covered" > return one(query, values);</span>
1621
+ <span class="cstat-no" title="statement not covered" > return orm.one(query, values);</span>
1512
1622
  };
1513
1623
  // Standard delete
1514
1624
  const _delete = <span class="fstat-no" title="function not covered" >(m</span>odel) =&gt; {
1515
1625
  const id = <span class="cstat-no" title="statement not covered" >model.id;</span>
1516
1626
  const query = <span class="cstat-no" title="statement not covered" >`</span>
1517
- DELETE FROM "${getEntityByModel(model).tableName}"
1518
- WHERE "${getEntityByModel(model).tableName}".id = $(id)
1627
+ DELETE FROM "${orm.getEntityByModel(model).tableName}"
1628
+ WHERE "${orm.getEntityByModel(model).tableName}".id = $(id)
1519
1629
  `;
1520
- <span class="cstat-no" title="statement not covered" > return none(query, { id });</span>
1630
+ <span class="cstat-no" title="statement not covered" > return orm.none(query, { id });</span>
1521
1631
  };
1522
1632
  const deleteMatching = <span class="fstat-no" title="function not covered" >(m</span>odel) =&gt; {
1523
1633
  const { whereClause, values } = <span class="cstat-no" title="statement not covered" >getMatchingParts(model);</span>
1524
1634
  const query = <span class="cstat-no" title="statement not covered" >`</span>
1525
- DELETE FROM "${getEntityByModel(model).tableName}"
1635
+ DELETE FROM "${orm.getEntityByModel(model).tableName}"
1526
1636
  WHERE ${whereClause};
1527
1637
  `;
1528
- <span class="cstat-no" title="statement not covered" > return none(query, values);</span>
1638
+ <span class="cstat-no" title="statement not covered" > return orm.none(query, values);</span>
1529
1639
  };
1530
1640
  const getMatching = <span class="fstat-no" title="function not covered" >(m</span>odel) =&gt; {
1531
1641
  const { whereClause, values } = <span class="cstat-no" title="statement not covered" >getMatchingParts(model);</span>
1532
1642
  const query = <span class="cstat-no" title="statement not covered" >`</span>
1533
- SELECT ${getEntityByModel(model).selectColumnsClause}
1534
- FROM "${getEntityByModel(model).tableName}"
1643
+ SELECT ${orm.getEntityByModel(model).selectColumnsClause}
1644
+ FROM "${orm.getEntityByModel(model).tableName}"
1535
1645
  WHERE ${whereClause};
1536
1646
  `;
1537
- <span class="cstat-no" title="statement not covered" > return one(query, values);</span>
1647
+ <span class="cstat-no" title="statement not covered" > return orm.one(query, values);</span>
1538
1648
  };
1539
1649
  const getOneOrNoneMatching = <span class="fstat-no" title="function not covered" >(m</span>odel) =&gt; {
1540
1650
  const { whereClause, values } = <span class="cstat-no" title="statement not covered" >getMatchingParts(model);</span>
1541
1651
  const query = <span class="cstat-no" title="statement not covered" >`</span>
1542
- SELECT ${getEntityByModel(model).selectColumnsClause}
1543
- FROM "${getEntityByModel(model).tableName}"
1652
+ SELECT ${orm.getEntityByModel(model).selectColumnsClause}
1653
+ FROM "${orm.getEntityByModel(model).tableName}"
1544
1654
  WHERE ${whereClause};
1545
1655
  `;
1546
- <span class="cstat-no" title="statement not covered" > return oneOrNone(query, values);</span>
1656
+ <span class="cstat-no" title="statement not covered" > return orm.oneOrNone(query, values);</span>
1547
1657
  };
1548
1658
  const getAnyMatching = <span class="fstat-no" title="function not covered" >(m</span>odel) =&gt; {
1549
1659
  const { whereClause, values } = <span class="cstat-no" title="statement not covered" >getMatchingParts(model);</span>
1550
1660
  const query = <span class="cstat-no" title="statement not covered" >`</span>
1551
- SELECT ${getEntityByModel(model).selectColumnsClause}
1552
- FROM "${getEntityByModel(model).tableName}"
1661
+ SELECT ${orm.getEntityByModel(model).selectColumnsClause}
1662
+ FROM "${orm.getEntityByModel(model).tableName}"
1553
1663
  WHERE ${whereClause};
1554
1664
  `;
1555
- <span class="cstat-no" title="statement not covered" > return any(query, values);</span>
1665
+ <span class="cstat-no" title="statement not covered" > return orm.any(query, values);</span>
1556
1666
  };
1557
1667
  const getAllMatching = <span class="fstat-no" title="function not covered" >(m</span>odel) =&gt; {
1558
1668
  const { whereClause, values } = <span class="cstat-no" title="statement not covered" >getMatchingParts(model);</span>
1559
1669
  const query = <span class="cstat-no" title="statement not covered" >`</span>
1560
- SELECT ${getEntityByModel(model).selectColumnsClause}
1561
- FROM "${getEntityByModel(model).tableName}"
1670
+ SELECT ${orm.getEntityByModel(model).selectColumnsClause}
1671
+ FROM "${orm.getEntityByModel(model).tableName}"
1562
1672
  WHERE ${whereClause};
1563
1673
  `;
1564
- <span class="cstat-no" title="statement not covered" > return many(query, values);</span>
1674
+ <span class="cstat-no" title="statement not covered" > return orm.many(query, values);</span>
1565
1675
  };
1566
- return {
1567
- // Query Helper Function
1568
- nestClump,
1569
- clumpIntoGroups,
1570
- mapToBos,
1571
- objectifyDatabaseResult,
1572
- createFromDatabase,
1573
- createOneFromDatabase,
1574
- createOneOrNoneFromDatabase,
1575
- createManyFromDatabase,
1576
- getSqlInsertParts,
1577
- getSqlUpdateParts,
1578
- getMatchingParts,
1579
- getMatchingPartsObject,
1580
- getNewWith,
1581
- getValueBySqlColumn,
1582
- // Query Functions
1583
- one,
1584
- oneOrNone,
1585
- many,
1586
- any,
1587
- none,
1676
+ return Object.assign({}, orm, {
1588
1677
  // Built-in basic CRUD functions
1589
1678
  create,
1590
1679
  update,
@@ -1594,16 +1683,14 @@ const create = ({ entities: externalEntities, db, logError }) =&gt; {
1594
1683
  getOneOrNoneMatching,
1595
1684
  getAnyMatching,
1596
1685
  getAllMatching,
1597
- // tables property for access to select columns clause string
1598
- tables: entities.reduce((accum, data) =&gt; {
1599
- accum[data.displayName] = {
1600
- columns: data.selectColumnsClause
1601
- };
1602
- return accum;
1603
- }, {}),
1604
- // provide direct access to db
1605
- db
1606
- };
1686
+ // Helper Utility functions
1687
+ getSqlInsertParts,
1688
+ getSqlUpdateParts,
1689
+ getMatchingParts,
1690
+ getMatchingPartsObject,
1691
+ getNewWith,
1692
+ getValueBySqlColumn
1693
+ });
1607
1694
  };
1608
1695
  exports.create = create;
1609
1696
  &nbsp;</pre></td></tr>
@@ -1612,7 +1699,7 @@ exports.create = create;
1612
1699
  </div><!-- /wrapper -->
1613
1700
  <div class='footer quiet pad2 space-top1 center small'>
1614
1701
  Code coverage
1615
- generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Thu May 05 2022 16:44:34 GMT-0400 (Eastern Daylight Time)
1702
+ generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Sat May 07 2022 10:17:08 GMT-0400 (Eastern Daylight Time)
1616
1703
  </div>
1617
1704
  </div>
1618
1705
  <script src="../../prettify.js"></script>