pure-orm 4.0.0-5 → 4.0.0-8

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 +14 -20
  2. package/coverage/clover.xml +375 -577
  3. package/coverage/coverage-final.json +18 -20
  4. package/coverage/lcov-report/dist/src/core.js.html +1038 -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 +293 -197
  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 +1593 -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 +436 -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 +726 -1143
  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} +51 -245
  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} +102 -338
  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
package/src/orm.ts ADDED
@@ -0,0 +1,291 @@
1
+ import { createCore, IModel, ICollection, IEntities } from './core';
2
+ import { ICoreIntegratedDriver } from './driver-integrations/index';
3
+ import { createForPGP } from './driver-integrations/pgp';
4
+
5
+ export interface ICreateOptions {
6
+ entities: IEntities<IModel>;
7
+ db: any;
8
+ logError?: (err: Error) => never;
9
+ }
10
+
11
+ export interface IPureORM extends ICoreIntegratedDriver {
12
+ /* ------------------------------------------------------------------------*/
13
+ /* Built-in basic CRUD functions ------------------------------------------*/
14
+ /* ------------------------------------------------------------------------*/
15
+
16
+ /* These are just provided because they are so common and straight-forward.
17
+ * While the goal of this library is foster writing SQL in your data access
18
+ * layer (which returns pure business objects) some CRUD operations are so
19
+ * common they are included in the ORM. Feel free to completely disregard
20
+ * if you want to write these in your data access layer yourself.
21
+ */
22
+
23
+ getMatching: <T extends IModel>(model: T) => T;
24
+ getOneOrNoneMatching: <T extends IModel>(model: T) => T | void;
25
+ getAnyMatching: <T extends ICollection<IModel>>(model: IModel) => T | void;
26
+ getAllMatching: <T extends ICollection<IModel>>(model: IModel) => T;
27
+ create: <T extends IModel>(model: T) => T;
28
+ update: <T extends IModel>(model: T, options: { on: string }) => T;
29
+ delete: <T extends IModel>(model: T) => void;
30
+ deleteMatching: <T extends IModel>(model: T) => void;
31
+ }
32
+
33
+ export const create = ({
34
+ entities: externalEntities,
35
+ db,
36
+ logError
37
+ }: ICreateOptions): IPureORM => {
38
+ const core = createCore({ entities: externalEntities });
39
+
40
+ let orm: ICoreIntegratedDriver;
41
+ if (db.$config.pgp) {
42
+ orm = createForPGP({ core, db, logError });
43
+ } else {
44
+ throw new Error(
45
+ `You're database driver is not yet supported. You can make a PR to add it, or use the \`createCore\` export which doesn't try to abstract over the database driver, and instead you pass the results of the database driver queries to it.`
46
+ );
47
+ }
48
+
49
+ /* ------------------------------------------------------------------------*/
50
+ /* Helper Utilities for CRUD functions ------------------------------------*/
51
+ /* ------------------------------------------------------------------------*/
52
+
53
+ const getSqlInsertParts = (model: IModel) => {
54
+ const columns = orm
55
+ .getEntityByModel(model)
56
+ .columnNames.filter(
57
+ (column: string, index: number) =>
58
+ model[
59
+ orm.getEntityByModel(model).propertyNames[
60
+ index
61
+ ] as keyof typeof model
62
+ ] !== void 0
63
+ )
64
+ .map((col: string) => `"${col}"`)
65
+ .join(', ');
66
+ const values = orm
67
+ .getEntityByModel(model)
68
+ .propertyNames.map(
69
+ (property: string) => model[property as keyof typeof model]
70
+ )
71
+ .filter((value: any) => value !== void 0);
72
+ const valuesVar = values.map(
73
+ (value: any, index: number) => `$${index + 1}`
74
+ );
75
+ return { columns, values, valuesVar };
76
+ };
77
+
78
+ const getSqlUpdateParts = (model: IModel, on = 'id') => {
79
+ const clauseArray = orm
80
+ .getEntityByModel(model)
81
+ .columnNames.filter(
82
+ (sqlColumn: string, index: number) =>
83
+ model[
84
+ orm.getEntityByModel(model).propertyNames[
85
+ index
86
+ ] as keyof typeof model
87
+ ] !== void 0
88
+ )
89
+ .map(
90
+ (sqlColumn: string, index: number) => `"${sqlColumn}" = $${index + 1}`
91
+ );
92
+ const clause = clauseArray.join(', ');
93
+ const idVar = `$${clauseArray.length + 1}`;
94
+ const _values = orm
95
+ .getEntityByModel(model)
96
+ .propertyNames.map(
97
+ (property: string) => model[property as keyof typeof model]
98
+ )
99
+ .filter((value: any) => value !== void 0);
100
+ const values = [..._values, model[on as keyof typeof model]];
101
+ return { clause, idVar, values };
102
+ };
103
+
104
+ const getMatchingParts = (model: IModel) => {
105
+ const whereClause = orm
106
+ .getEntityByModel(model)
107
+ .propertyNames.map((property: string, index: number) =>
108
+ model[property as keyof typeof model] != null
109
+ ? `"${orm.getEntityByModel(model).tableName}"."${
110
+ orm.getEntityByModel(model).columnNames[index]
111
+ }"`
112
+ : null
113
+ )
114
+ .filter((x: string | null) => x != null)
115
+ .map((x: string | null, i: number) => `${x} = $${i + 1}`)
116
+ .join(' AND ');
117
+ const values = orm
118
+ .getEntityByModel(model)
119
+ .propertyNames.map((property: string) =>
120
+ model[property as keyof typeof model] != null
121
+ ? model[property as keyof typeof model]
122
+ : null
123
+ )
124
+ .filter((x: any) => x != null);
125
+ return { whereClause, values };
126
+ };
127
+
128
+ // This one returns an object, which allows it to be more versatile.
129
+ // To-do: make this one even better and use it instead of the one above.
130
+ const getMatchingPartsObject = (model: IModel) => {
131
+ const whereClause = orm
132
+ .getEntityByModel(model)
133
+ .propertyNames.map((property: string, index: number) =>
134
+ model[property as keyof typeof model] != null
135
+ ? `"${orm.getEntityByModel(model).tableName}"."${
136
+ orm.getEntityByModel(model).columnNames[index]
137
+ }"`
138
+ : null
139
+ )
140
+ .filter((x: string | null) => x != null)
141
+ .map((x: string | null, i: number) => `${x} = $(${i + 1})`)
142
+ .join(' AND ');
143
+ const values = orm
144
+ .getEntityByModel(model)
145
+ .propertyNames.map((property: string) =>
146
+ model[property as keyof typeof model] != null
147
+ ? model[property as keyof typeof model]
148
+ : null
149
+ )
150
+ .filter((x: any) => x != null)
151
+ .reduce(
152
+ (accum: any, val: any, index: number) =>
153
+ Object.assign({}, accum, { [index + 1]: val }),
154
+ {}
155
+ );
156
+ return { whereClause, values };
157
+ };
158
+
159
+ const getNewWith = (model: IModel, sqlColumns: any, values: any) => {
160
+ const Constructor = model.constructor as any;
161
+ const modelKeys = sqlColumns.map(
162
+ (key: string) =>
163
+ orm.getEntityByModel(model).propertyNames[
164
+ orm.getEntityByModel(model).columnNames.indexOf(key)
165
+ ]
166
+ );
167
+ const modelData = modelKeys.reduce(
168
+ (data: any, key: string, index: number) => {
169
+ data[key] = values[index];
170
+ return data;
171
+ },
172
+ {}
173
+ );
174
+ return new Constructor(modelData);
175
+ };
176
+
177
+ const getValueBySqlColumn = (model: IModel, sqlColumn: string) => {
178
+ return model[
179
+ orm.getEntityByModel(model).propertyNames[
180
+ orm.getEntityByModel(model).columnNames.indexOf(sqlColumn)
181
+ ] as keyof typeof model
182
+ ];
183
+ };
184
+
185
+ /* ------------------------------------------------------------------------*/
186
+ /* Built-in basic CRUD functions ------------------------------------------*/
187
+ /* ------------------------------------------------------------------------*/
188
+
189
+ // Standard create
190
+ const create = <T extends IModel>(model: T): T => {
191
+ const { columns, values, valuesVar } = getSqlInsertParts(model);
192
+ const query = `
193
+ INSERT INTO "${orm.getEntityByModel(model).tableName}" ( ${columns} )
194
+ VALUES ( ${valuesVar} )
195
+ RETURNING ${orm.getEntityByModel(model).selectColumnsClause};
196
+ `;
197
+ return orm.one<T>(query, values);
198
+ };
199
+
200
+ // Standard update
201
+ const update = <T extends IModel>(model: T, { on = 'id' } = {}): T => {
202
+ const { clause, idVar, values } = getSqlUpdateParts(model, on);
203
+ const query = `
204
+ UPDATE "${orm.getEntityByModel(model).tableName}"
205
+ SET ${clause}
206
+ WHERE "${orm.getEntityByModel(model).tableName}".${on} = ${idVar}
207
+ RETURNING ${orm.getEntityByModel(model).selectColumnsClause};
208
+ `;
209
+ return orm.one<T>(query, values);
210
+ };
211
+
212
+ // Standard delete
213
+ const _delete = <T extends IModel>(model: T): void => {
214
+ const id = (model as any).id;
215
+ const query = `
216
+ DELETE FROM "${orm.getEntityByModel(model).tableName}"
217
+ WHERE "${orm.getEntityByModel(model).tableName}".id = $(id)
218
+ `;
219
+ return orm.none(query, { id });
220
+ };
221
+
222
+ const deleteMatching = <T extends IModel>(model: T) => {
223
+ const { whereClause, values } = getMatchingParts(model);
224
+ const query = `
225
+ DELETE FROM "${orm.getEntityByModel(model).tableName}"
226
+ WHERE ${whereClause};
227
+ `;
228
+ return orm.none(query, values);
229
+ };
230
+
231
+ const getMatching = <T extends IModel>(model: T): T => {
232
+ const { whereClause, values } = getMatchingParts(model);
233
+ const query = `
234
+ SELECT ${orm.getEntityByModel(model).selectColumnsClause}
235
+ FROM "${orm.getEntityByModel(model).tableName}"
236
+ WHERE ${whereClause};
237
+ `;
238
+ return orm.one<T>(query, values);
239
+ };
240
+
241
+ const getOneOrNoneMatching = <T extends IModel>(model: T): T | void => {
242
+ const { whereClause, values } = getMatchingParts(model);
243
+ const query = `
244
+ SELECT ${orm.getEntityByModel(model).selectColumnsClause}
245
+ FROM "${orm.getEntityByModel(model).tableName}"
246
+ WHERE ${whereClause};
247
+ `;
248
+ return orm.oneOrNone<T>(query, values);
249
+ };
250
+
251
+ const getAnyMatching = <T extends ICollection<IModel>>(
252
+ model: IModel
253
+ ): T | void => {
254
+ const { whereClause, values } = getMatchingParts(model);
255
+ const query = `
256
+ SELECT ${orm.getEntityByModel(model).selectColumnsClause}
257
+ FROM "${orm.getEntityByModel(model).tableName}"
258
+ WHERE ${whereClause};
259
+ `;
260
+ return orm.any<T>(query, values);
261
+ };
262
+
263
+ const getAllMatching = <T extends ICollection<IModel>>(model: IModel): T => {
264
+ const { whereClause, values } = getMatchingParts(model);
265
+ const query = `
266
+ SELECT ${orm.getEntityByModel(model).selectColumnsClause}
267
+ FROM "${orm.getEntityByModel(model).tableName}"
268
+ WHERE ${whereClause};
269
+ `;
270
+ return orm.many<T>(query, values);
271
+ };
272
+
273
+ return Object.assign({}, orm, {
274
+ // Built-in basic CRUD functions
275
+ create,
276
+ update,
277
+ delete: _delete,
278
+ deleteMatching,
279
+ getMatching,
280
+ getOneOrNoneMatching,
281
+ getAnyMatching,
282
+ getAllMatching,
283
+ // Helper Utility functions
284
+ getSqlInsertParts,
285
+ getSqlUpdateParts,
286
+ getMatchingParts,
287
+ getMatchingPartsObject,
288
+ getNewWith,
289
+ getValueBySqlColumn
290
+ });
291
+ };
@@ -1,11 +1,11 @@
1
- const { create } = require('../../src/index');
2
1
  const { articleEntity } = require('./models/article');
3
2
  const { personEntity } = require('./models/person');
4
3
  const { articleTagEntity } = require('./models/article_tag');
5
4
  const { tagEntity } = require('./models/tag');
6
5
 
7
- const orm = create({
8
- entities: [articleEntity, personEntity, articleTagEntity, tagEntity],
9
- db: void 0
10
- });
11
- export default orm;
6
+ export const entities = [
7
+ articleEntity,
8
+ personEntity,
9
+ articleTagEntity,
10
+ tagEntity
11
+ ];
@@ -1,17 +1,12 @@
1
- import { create } from '../../src/index';
2
1
  import { orderEntity } from './models/order';
3
2
  import { lineItemEntity } from './models/line-item';
4
3
  import { parcelLineItemEntity } from './models/parcel-line-item';
5
4
  import { parcelEntity } from './models/parcel';
6
5
  import { parcelEventEntity } from './models/parcel-event';
7
- const orm = create({
8
- entities: [
9
- orderEntity,
10
- lineItemEntity,
11
- parcelLineItemEntity,
12
- parcelEntity,
13
- parcelEventEntity
14
- ],
15
- db: void 0
16
- });
17
- export default orm;
6
+ export const entities = [
7
+ orderEntity,
8
+ lineItemEntity,
9
+ parcelLineItemEntity,
10
+ parcelEntity,
11
+ parcelEventEntity
12
+ ];
@@ -0,0 +1,2 @@
1
+ import { featureSwitchEntity } from './models/feature-switch';
2
+ export const entities = [featureSwitchEntity];
@@ -1,18 +1,13 @@
1
- import { create } from '../../src/index';
2
1
  import { utmSourceEntity } from './models/utm-source';
3
2
  import { orderEntity } from './models/order';
4
3
  import { lineItemEntity } from './models/line-item';
5
4
  import { productVariantEntity } from './models/product-variant';
6
5
  import { productEntity } from './models/product';
7
6
 
8
- const orm = create({
9
- entities: [
10
- utmSourceEntity,
11
- orderEntity,
12
- lineItemEntity,
13
- productVariantEntity,
14
- productEntity
15
- ],
16
- db: void 0
17
- });
18
- export default orm;
7
+ export const entities = [
8
+ utmSourceEntity,
9
+ orderEntity,
10
+ lineItemEntity,
11
+ productVariantEntity,
12
+ productEntity
13
+ ];
@@ -1,4 +1,3 @@
1
- import { create } from '../../src/index';
2
1
  import { inventoryLevelEntity } from './models/inventory-level';
3
2
  import { actualProductVariantEntity } from './models/actual-product-variant';
4
3
  import { productVariantEntity } from './models/product-variant';
@@ -20,29 +19,25 @@ import { parcelLineItemEntity } from './models/parcel-line-item';
20
19
  import { parcelEntity } from './models/parcel';
21
20
  import { parcelEventEntity } from './models/parcel-event';
22
21
 
23
- const orm = create({
24
- entities: [
25
- inventoryLevelEntity,
26
- actualProductVariantEntity,
27
- productVariantEntity,
28
- productVariantImageEntity,
29
- productEntity,
30
- sizeEntity,
31
- colorEntity,
32
- genderEntity,
33
- shipmentEntity,
34
- shipmentActualProductVariantEntity,
35
- refundEntity,
36
- orderEntity,
37
- lineItemEntity,
38
- customerEntity,
39
- physicalAddressEntity,
40
- utmSourceEntity,
41
- utmMediumEntity,
42
- parcelLineItemEntity,
43
- parcelEntity,
44
- parcelEventEntity
45
- ],
46
- db: void 0
47
- });
48
- export default orm;
22
+ export const entities = [
23
+ inventoryLevelEntity,
24
+ actualProductVariantEntity,
25
+ productVariantEntity,
26
+ productVariantImageEntity,
27
+ productEntity,
28
+ sizeEntity,
29
+ colorEntity,
30
+ genderEntity,
31
+ shipmentEntity,
32
+ shipmentActualProductVariantEntity,
33
+ refundEntity,
34
+ orderEntity,
35
+ lineItemEntity,
36
+ customerEntity,
37
+ physicalAddressEntity,
38
+ utmSourceEntity,
39
+ utmMediumEntity,
40
+ parcelLineItemEntity,
41
+ parcelEntity,
42
+ parcelEventEntity
43
+ ];
@@ -1,17 +1,12 @@
1
- import { create } from '../../src/index';
2
1
  import { parcelEntity } from './models/parcel';
3
2
  import { parcelLineItemEntity } from './models/parcel-line-item';
4
3
  import { lineItemEntity } from './models/line-item';
5
4
  import { orderEntity } from './models/order';
6
5
  import { customerEntity } from './models/customer';
7
- const orm = create({
8
- entities: [
9
- parcelEntity,
10
- parcelLineItemEntity,
11
- lineItemEntity,
12
- orderEntity,
13
- customerEntity
14
- ],
15
- db: void 0
16
- });
17
- export default orm;
6
+ export const entities = [
7
+ parcelEntity,
8
+ parcelLineItemEntity,
9
+ lineItemEntity,
10
+ orderEntity,
11
+ customerEntity
12
+ ];
@@ -1,4 +1,3 @@
1
- import { create } from '../../src/index';
2
1
  import { memberEntity } from './models/member';
3
2
  import { recommendationEntity } from './models/recommendation';
4
3
  import { brandEntity } from './models/brand';
@@ -7,17 +6,13 @@ import { categoryEntity } from './models/category';
7
6
  import { passionEntity } from './models/passion';
8
7
  import { recommendationAudienceEntity } from './models/recommendation-audience';
9
8
  import { audienceEntity } from './models/audience';
10
- const orm = create({
11
- entities: [
12
- memberEntity,
13
- recommendationEntity,
14
- brandEntity,
15
- productEntity,
16
- categoryEntity,
17
- passionEntity,
18
- recommendationAudienceEntity,
19
- audienceEntity
20
- ],
21
- db: void 0
22
- });
23
- export default orm;
9
+ export const entities = [
10
+ memberEntity,
11
+ recommendationEntity,
12
+ brandEntity,
13
+ productEntity,
14
+ categoryEntity,
15
+ passionEntity,
16
+ recommendationAudienceEntity,
17
+ audienceEntity
18
+ ];
@@ -0,0 +1,3 @@
1
+ import { promptEntity } from './models/prompt';
2
+ import { memberEntity } from './models/member';
3
+ export const entities = [promptEntity, memberEntity];
@@ -1,100 +0,0 @@
1
- export interface IColumnData {
2
- column: string;
3
- property?: string;
4
- references?: IModelClass;
5
- primaryKey?: boolean;
6
- }
7
- export declare type IColumn = IColumnData | string;
8
- export declare type IColumns = Array<IColumn> | (() => Array<IColumn>);
9
- export interface IColumnInternalData {
10
- column: string;
11
- property: string;
12
- references?: IModelClass;
13
- primaryKey: boolean;
14
- }
15
- export declare type IColumnInternal = IColumnInternalData;
16
- export declare type IColumnsInternal = Array<IColumnInternal>;
17
- export interface IModel {
18
- [key: string]: any;
19
- }
20
- export declare type IModelClass = new (props: any) => IModel;
21
- export interface ICollection<T extends IModel> {
22
- models: Array<T>;
23
- }
24
- export interface IEntity<T extends IModel> {
25
- tableName: string;
26
- displayName?: string;
27
- collectionDisplayName?: string;
28
- columns: IColumns;
29
- Model: new (props: any) => T;
30
- Collection: new ({ models }: any) => ICollection<T>;
31
- }
32
- export declare type IEntities<T extends IModel> = Array<IEntity<T>>;
33
- export interface IEntityInternal<T extends IModel> {
34
- tableName: string;
35
- displayName: string;
36
- collectionDisplayName: string;
37
- columns: IColumnsInternal;
38
- propertyNames: Array<string>;
39
- Model: new (props: any) => T;
40
- Collection: new ({ models }: any) => ICollection<T>;
41
- columnNames: Array<string>;
42
- prefixedColumnNames: Array<string>;
43
- primaryKeys: Array<string>;
44
- references: object;
45
- selectColumnsClause: string;
46
- getPkId: (model: IModel) => string;
47
- }
48
- export declare type IEntitiesInternal<T extends IModel> = Array<IEntityInternal<T>>;
49
- export interface CreateOptions {
50
- entities: IEntities<IModel>;
51
- db: any;
52
- logError?: (err: Error) => void;
53
- }
54
- export declare const create: ({ entities: externalEntities, db, logError }: CreateOptions) => {
55
- nestClump: (clump: Array<Array<IModel>>) => object;
56
- clumpIntoGroups: (processed: Array<Array<IModel>>) => Array<Array<Array<IModel>>>;
57
- mapToBos: (objectified: any) => IModel[];
58
- objectifyDatabaseResult: (result: object) => any;
59
- createFromDatabase: <T extends ICollection<IModel>>(_result: Array<object> | object) => T | undefined;
60
- createOneFromDatabase: <T_1 extends IModel>(_result: any) => T_1;
61
- createOneOrNoneFromDatabase: <T_2 extends IModel>(_result: any) => void | T_2;
62
- createManyFromDatabase: <T_3 extends ICollection<IModel>>(_result: any) => T_3;
63
- getSqlInsertParts: (model: IModel) => {
64
- columns: string;
65
- values: any[];
66
- valuesVar: string[];
67
- };
68
- getSqlUpdateParts: (model: IModel, on?: string) => {
69
- clause: string;
70
- idVar: string;
71
- values: any[];
72
- };
73
- getMatchingParts: (model: IModel) => {
74
- whereClause: string;
75
- values: any[];
76
- };
77
- getMatchingPartsObject: (model: IModel) => {
78
- whereClause: string;
79
- values: any;
80
- };
81
- getNewWith: (model: IModel, sqlColumns: any, values: any) => any;
82
- getValueBySqlColumn: (model: IModel, sqlColumn: string) => any;
83
- one: <T_4 extends IModel>(query: string, values?: object | undefined, errorHandler?: (err: Error) => never) => T_4;
84
- oneOrNone: <T_5 extends IModel>(query: string, values?: object | undefined, errorHandler?: (err: Error) => never) => void | T_5;
85
- many: <T_6 extends ICollection<IModel>>(query: string, values?: object | undefined, errorHandler?: (err: Error) => never) => T_6;
86
- any: <T_7 extends ICollection<IModel>>(query: string, values?: object | undefined, errorHandler?: (err: Error) => never) => void | T_7;
87
- none: (query: string, values?: object | undefined, errorHandler?: (err: Error) => never) => void;
88
- create: <T_8 extends IModel>(model: T_8) => T_8;
89
- update: <T_9 extends IModel>(model: T_9, { on }?: {
90
- on?: string | undefined;
91
- }) => T_9;
92
- delete: <T_10 extends IModel>(model: T_10) => void;
93
- deleteMatching: <T_11 extends IModel>(model: T_11) => void;
94
- getMatching: <T_12 extends IModel>(model: T_12) => T_12;
95
- getOneOrNoneMatching: <T_13 extends IModel>(model: T_13) => void | T_13;
96
- getAnyMatching: <T_14 extends ICollection<IModel>>(model: IModel) => void | T_14;
97
- getAllMatching: <T_15 extends ICollection<IModel>>(model: IModel) => T_15;
98
- tables: any;
99
- db: any;
100
- };
@@ -1,2 +0,0 @@
1
- declare const orm: any;
2
- export default orm;
@@ -1,48 +0,0 @@
1
- declare const orm: {
2
- nestClump: (clump: import("../../src/factory").IModel[][]) => object;
3
- clumpIntoGroups: (processed: import("../../src/factory").IModel[][]) => import("../../src/factory").IModel[][][];
4
- mapToBos: (objectified: any) => import("../../src/factory").IModel[];
5
- objectifyDatabaseResult: (result: object) => any;
6
- createFromDatabase: <T extends import("../../src/factory").ICollection<import("../../src/factory").IModel>>(_result: object | object[]) => T | undefined;
7
- createOneFromDatabase: <T_1 extends import("../../src/factory").IModel>(_result: any) => T_1;
8
- createOneOrNoneFromDatabase: <T_2 extends import("../../src/factory").IModel>(_result: any) => void | T_2;
9
- createManyFromDatabase: <T_3 extends import("../../src/factory").ICollection<import("../../src/factory").IModel>>(_result: any) => T_3;
10
- getSqlInsertParts: (model: import("../../src/factory").IModel) => {
11
- columns: string;
12
- values: any[];
13
- valuesVar: string[];
14
- };
15
- getSqlUpdateParts: (model: import("../../src/factory").IModel, on?: string) => {
16
- clause: string;
17
- idVar: string;
18
- values: any[];
19
- };
20
- getMatchingParts: (model: import("../../src/factory").IModel) => {
21
- whereClause: string;
22
- values: any[];
23
- };
24
- getMatchingPartsObject: (model: import("../../src/factory").IModel) => {
25
- whereClause: string;
26
- values: any;
27
- };
28
- getNewWith: (model: import("../../src/factory").IModel, sqlColumns: any, values: any) => any;
29
- getValueBySqlColumn: (model: import("../../src/factory").IModel, sqlColumn: string) => any;
30
- one: <T_4 extends import("../../src/factory").IModel>(query: string, values?: object | undefined, errorHandler?: (err: Error) => never) => T_4;
31
- oneOrNone: <T_5 extends import("../../src/factory").IModel>(query: string, values?: object | undefined, errorHandler?: (err: Error) => never) => void | T_5;
32
- many: <T_6 extends import("../../src/factory").ICollection<import("../../src/factory").IModel>>(query: string, values?: object | undefined, errorHandler?: (err: Error) => never) => T_6;
33
- any: <T_7 extends import("../../src/factory").ICollection<import("../../src/factory").IModel>>(query: string, values?: object | undefined, errorHandler?: (err: Error) => never) => void | T_7;
34
- none: (query: string, values?: object | undefined, errorHandler?: (err: Error) => never) => void;
35
- create: <T_8 extends import("../../src/factory").IModel>(model: T_8) => T_8;
36
- update: <T_9 extends import("../../src/factory").IModel>(model: T_9, { on }?: {
37
- on?: string | undefined;
38
- }) => T_9;
39
- delete: <T_10 extends import("../../src/factory").IModel>(model: T_10) => void;
40
- deleteMatching: <T_11 extends import("../../src/factory").IModel>(model: T_11) => void;
41
- getMatching: <T_12 extends import("../../src/factory").IModel>(model: T_12) => T_12;
42
- getOneOrNoneMatching: <T_13 extends import("../../src/factory").IModel>(model: T_13) => void | T_13;
43
- getAnyMatching: <T_14 extends import("../../src/factory").ICollection<import("../../src/factory").IModel>>(model: import("../../src/factory").IModel) => void | T_14;
44
- getAllMatching: <T_15 extends import("../../src/factory").ICollection<import("../../src/factory").IModel>>(model: import("../../src/factory").IModel) => T_15;
45
- tables: any;
46
- db: any;
47
- };
48
- export default orm;