pure-orm 4.0.0-6 → 4.0.0

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 +377 -583
  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 +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 +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 +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 +720 -1153
  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} +48 -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} +99 -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
@@ -1,48 +1,2 @@
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: any) => 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
- };
1
+ declare const orm: import("../../src/orm").IPureORM;
48
2
  export default orm;
@@ -16,7 +16,7 @@ export declare class Employers implements ICollection<Employer> {
16
16
  }
17
17
  export declare const employerEntity: {
18
18
  tableName: string;
19
- columns: import("../../src/factory").IColumn[];
19
+ columns: import("../../src/core").IColumn[];
20
20
  Model: typeof Employer;
21
21
  Collection: typeof Employers;
22
22
  };
@@ -28,7 +28,7 @@ export declare class Jobs implements ICollection<Job> {
28
28
  }
29
29
  export declare const jobEntity: {
30
30
  tableName: string;
31
- columns: import("../../src/factory").IColumn[];
31
+ columns: import("../../src/core").IColumn[];
32
32
  Model: typeof Job;
33
33
  Collection: typeof Jobs;
34
34
  };
@@ -18,7 +18,7 @@ export declare class Persons implements ICollection<Person> {
18
18
  }
19
19
  export declare const personEntity: {
20
20
  tableName: string;
21
- columns: import("../../src/factory").IColumn[];
21
+ columns: import("../../src/core").IColumn[];
22
22
  Model: typeof Person;
23
23
  Collection: typeof Persons;
24
24
  };
@@ -0,0 +1,66 @@
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 ICreateCoreOptions {
50
+ entities: IEntities<IModel>;
51
+ }
52
+ export interface ICore {
53
+ createFromDatabase: <T extends ICollection<IModel>>(rows: any) => T;
54
+ createAnyFromDatabase: <T extends ICollection<IModel>>(rows: any, rootKey: string | IModel) => T;
55
+ createOneFromDatabase: <T extends IModel>(rows: any) => T;
56
+ createOneOrNoneFromDatabase: <T extends IModel>(rows: any) => T | void;
57
+ createManyFromDatabase: <T extends ICollection<IModel>>(rows: any) => T;
58
+ tables: {
59
+ [key: string]: {
60
+ columns: string;
61
+ };
62
+ };
63
+ getEntityByModel: (model: IModel) => IEntityInternal<IModel>;
64
+ getEntityByTableName: (tableName: string) => IEntityInternal<IModel>;
65
+ }
66
+ export declare const createCore: ({ entities: externalEntities }: ICreateCoreOptions) => ICore;
@@ -1,21 +1,24 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.create = void 0;
4
- const camelCase = require('camelcase');
5
- const create = ({ entities: externalEntities, db, logError }) => {
6
+ exports.createCore = void 0;
7
+ const camelcase_1 = __importDefault(require("camelcase"));
8
+ const createCore = ({ entities: externalEntities }) => {
6
9
  const entities = externalEntities.map((d) => {
7
10
  const tableName = d.tableName;
8
- const displayName = d.displayName || camelCase(d.tableName);
11
+ const displayName = d.displayName || (0, camelcase_1.default)(d.tableName);
9
12
  const collectionDisplayName = d.collectionDisplayName || `${displayName}s`;
10
13
  const columns = (typeof d.columns === 'function' ? d.columns() : d.columns).map((d) => {
11
14
  if (typeof d === 'string') {
12
15
  return {
13
16
  column: d,
14
- property: camelCase(d),
17
+ property: (0, camelcase_1.default)(d),
15
18
  primaryKey: false
16
19
  };
17
20
  }
18
- return Object.assign({ column: d.column, property: d.property || camelCase(d.column), primaryKey: d.primaryKey || false }, (d.references ? { references: d.references } : {}));
21
+ return Object.assign({ column: d.column, property: d.property || (0, camelcase_1.default)(d.column), primaryKey: d.primaryKey || false }, (d.references ? { references: d.references } : {}));
19
22
  });
20
23
  const propertyNames = columns.map((x) => x.property);
21
24
  const columnNames = columns.map((x) => x.column);
@@ -55,28 +58,28 @@ const create = ({ entities: externalEntities, db, logError }) => {
55
58
  getPkId
56
59
  };
57
60
  });
61
+ const tableNameToEntityMap = entities.reduce((map, entity) => {
62
+ map.set(entity.tableName, entity);
63
+ return map;
64
+ }, new Map());
58
65
  const getEntityByTableName = (tableName) => {
59
- const entity = entities.find((data) => data.tableName == tableName);
66
+ const entity = tableNameToEntityMap.get(tableName);
60
67
  if (!entity) {
61
68
  throw new Error(`Could not find entity for table ${tableName}`);
62
69
  }
63
70
  return entity;
64
71
  };
72
+ const modelToEntityMap = entities.reduce((map, entity) => {
73
+ map.set(entity.Model, entity);
74
+ return map;
75
+ }, new Map());
65
76
  const getEntityByModel = (model) => {
66
- const entity = entities.find((data) => data.Model == model.constructor);
77
+ const entity = modelToEntityMap.get(model.constructor);
67
78
  if (!entity) {
68
79
  throw new Error(`Could not find entity for class ${model.constructor}`);
69
80
  }
70
81
  return entity;
71
82
  };
72
- const defaultErrorHandler = (err) => {
73
- if (!(err.name === 'QueryResultError')) {
74
- if (logError) {
75
- logError(err);
76
- }
77
- }
78
- throw err;
79
- };
80
83
  /*
81
84
  * In:
82
85
  * [
@@ -229,7 +232,7 @@ const create = ({ entities: externalEntities, db, logError }) => {
229
232
  let propertyName = entity.propertyNames[entity.columnNames.indexOf(column)];
230
233
  if (!propertyName) {
231
234
  if (column.startsWith('meta_')) {
232
- propertyName = camelCase(column);
235
+ propertyName = (0, camelcase_1.default)(column);
233
236
  }
234
237
  else {
235
238
  throw Error(`No property name for "${column}" in business object "${entity.displayName}". Non-spec'd columns must begin with "meta_".`);
@@ -257,25 +260,31 @@ const create = ({ entities: externalEntities, db, logError }) => {
257
260
  return obj;
258
261
  }, {});
259
262
  };
260
- const createFromDatabase = (_result) => {
261
- if (!_result || !_result.length) {
262
- return void 0;
263
- }
264
- const result = Array.isArray(_result) ? _result : [_result];
263
+ const createFromDatabase = (rows) => {
264
+ const result = Array.isArray(rows) ? rows : [rows];
265
265
  const objectified = result.map(objectifyDatabaseResult);
266
266
  const boified = objectified.map(mapToBos);
267
267
  const clumps = clumpIntoGroups(boified);
268
268
  const nested = clumps.map(nestClump);
269
269
  const models = nested.map((n) => Object.values(n)[0]);
270
270
  const Collection = getEntityByModel(models[0]).Collection;
271
- return models.length ? new Collection({ models }) : void 0;
271
+ return new Collection({ models });
272
+ };
273
+ const createAnyFromDatabase = (rows, rootKey) => {
274
+ if (!rows || !rows.length) {
275
+ const Collection = typeof rootKey === 'string'
276
+ ? getEntityByTableName(rootKey).Collection
277
+ : getEntityByModel(rootKey).Collection;
278
+ return new Collection({ models: [] });
279
+ }
280
+ return createFromDatabase(rows);
272
281
  };
273
- const createOneFromDatabase = (_result) => {
274
- const collection = createFromDatabase(_result);
275
- if (!collection) {
282
+ const createOneFromDatabase = (rows) => {
283
+ if (!rows || !rows.length) {
276
284
  throw Error('Did not get one.');
277
285
  }
278
- if (!collection || collection.models.length === 0) {
286
+ const collection = createFromDatabase(rows);
287
+ if (!collection || !collection.models || collection.models.length === 0) {
279
288
  throw Error('Did not get one.');
280
289
  }
281
290
  else if (collection.models.length > 1) {
@@ -283,238 +292,32 @@ const create = ({ entities: externalEntities, db, logError }) => {
283
292
  }
284
293
  return collection.models[0];
285
294
  };
286
- const createOneOrNoneFromDatabase = (_result) => {
287
- const collection = createFromDatabase(_result);
288
- if (collection && collection.models.length > 1) {
289
- throw Error('Got more than one.');
295
+ const createOneOrNoneFromDatabase = (rows) => {
296
+ if (!rows || !rows.length) {
297
+ return void 0;
290
298
  }
291
- return collection && collection.models[0];
299
+ return createOneFromDatabase(rows);
292
300
  };
293
- const createManyFromDatabase = (_result) => {
294
- const collection = createFromDatabase(_result);
295
- if (!collection || collection.models.length === 0) {
301
+ const createManyFromDatabase = (rows) => {
302
+ if (!rows || !rows.length) {
296
303
  throw Error('Did not get at least one.');
297
304
  }
298
- return collection;
299
- };
300
- const getSqlInsertParts = (model) => {
301
- const columns = getEntityByModel(model)
302
- .columnNames.filter((column, index) => model[getEntityByModel(model).propertyNames[index]] !== void 0)
303
- .map((col) => `"${col}"`)
304
- .join(', ');
305
- const values = getEntityByModel(model)
306
- .propertyNames.map((property) => model[property])
307
- .filter((value) => value !== void 0);
308
- const valuesVar = values.map((value, index) => `$${index + 1}`);
309
- return { columns, values, valuesVar };
310
- };
311
- const getSqlUpdateParts = (model, on = 'id') => {
312
- const clauseArray = getEntityByModel(model)
313
- .columnNames.filter((sqlColumn, index) => model[getEntityByModel(model).propertyNames[index]] !== void 0)
314
- .map((sqlColumn, index) => `"${sqlColumn}" = $${index + 1}`);
315
- const clause = clauseArray.join(', ');
316
- const idVar = `$${clauseArray.length + 1}`;
317
- const _values = getEntityByModel(model)
318
- .propertyNames.map((property) => model[property])
319
- .filter((value) => value !== void 0);
320
- const values = [..._values, model[on]];
321
- return { clause, idVar, values };
322
- };
323
- const getMatchingParts = (model) => {
324
- const whereClause = getEntityByModel(model)
325
- .propertyNames.map((property, index) => model[property] != null
326
- ? `"${getEntityByModel(model).tableName}"."${getEntityByModel(model).columnNames[index]}"`
327
- : null)
328
- .filter((x) => x != null)
329
- .map((x, i) => `${x} = $${i + 1}`)
330
- .join(' AND ');
331
- const values = getEntityByModel(model)
332
- .propertyNames.map((property) => model[property] != null
333
- ? model[property]
334
- : null)
335
- .filter((x) => x != null);
336
- return { whereClause, values };
337
- };
338
- // This one returns an object, which allows it to be more versatile.
339
- // To-do: make this one even better and use it instead of the one above.
340
- const getMatchingPartsObject = (model) => {
341
- const whereClause = getEntityByModel(model)
342
- .propertyNames.map((property, index) => model[property] != null
343
- ? `"${getEntityByModel(model).tableName}"."${getEntityByModel(model).columnNames[index]}"`
344
- : null)
345
- .filter((x) => x != null)
346
- .map((x, i) => `${x} = $(${i + 1})`)
347
- .join(' AND ');
348
- const values = getEntityByModel(model)
349
- .propertyNames.map((property) => model[property] != null
350
- ? model[property]
351
- : null)
352
- .filter((x) => x != null)
353
- .reduce((accum, val, index) => Object.assign({}, accum, { [index + 1]: val }), {});
354
- return { whereClause, values };
355
- };
356
- const getNewWith = (model, sqlColumns, values) => {
357
- const Constructor = model.constructor;
358
- const modelKeys = sqlColumns.map((key) => getEntityByModel(model).propertyNames[getEntityByModel(model).columnNames.indexOf(key)]);
359
- const modelData = modelKeys.reduce((data, key, index) => {
360
- data[key] = values[index];
361
- return data;
362
- }, {});
363
- return new Constructor(modelData);
364
- };
365
- const getValueBySqlColumn = (model, sqlColumn) => {
366
- return model[getEntityByModel(model).propertyNames[getEntityByModel(model).columnNames.indexOf(sqlColumn)]];
367
- };
368
- /* ------------------------------------------------------------------------*/
369
- /* Query functions --------------------------------------------------------*/
370
- /* ------------------------------------------------------------------------*/
371
- const one = (query, values, errorHandler = defaultErrorHandler) => {
372
- return db
373
- .many(query, values)
374
- .then((rows) => createOneFromDatabase(rows))
375
- .catch(errorHandler);
376
- };
377
- const oneOrNone = (query, values, errorHandler = defaultErrorHandler) => {
378
- return db
379
- .any(query, values)
380
- .then((rows) => createOneOrNoneFromDatabase(rows))
381
- .catch(errorHandler);
382
- };
383
- const many = (query, values, errorHandler = defaultErrorHandler) => {
384
- return db
385
- .any(query, values)
386
- .then((rows) => createManyFromDatabase(rows))
387
- .catch(errorHandler);
388
- };
389
- const any = (query, values, errorHandler = defaultErrorHandler) => {
390
- return db
391
- .any(query, values)
392
- .then((rows) => createFromDatabase(rows))
393
- .catch(errorHandler);
394
- };
395
- const none = (query, values, errorHandler = defaultErrorHandler) => {
396
- return db
397
- .none(query, values)
398
- .then(() => null)
399
- .catch(errorHandler);
400
- };
401
- /* ------------------------------------------------------------------------*/
402
- /* Built-in basic CRUD functions ------------------------------------------*/
403
- /* ------------------------------------------------------------------------*/
404
- // Standard create
405
- const create = (model) => {
406
- const { columns, values, valuesVar } = getSqlInsertParts(model);
407
- const query = `
408
- INSERT INTO "${getEntityByModel(model).tableName}" ( ${columns} )
409
- VALUES ( ${valuesVar} )
410
- RETURNING ${getEntityByModel(model).selectColumnsClause};
411
- `;
412
- return one(query, values);
413
- };
414
- // Standard update
415
- const update = (model, { on = 'id' } = {}) => {
416
- const { clause, idVar, values } = getSqlUpdateParts(model, on);
417
- const query = `
418
- UPDATE "${getEntityByModel(model).tableName}"
419
- SET ${clause}
420
- WHERE "${getEntityByModel(model).tableName}".${on} = ${idVar}
421
- RETURNING ${getEntityByModel(model).selectColumnsClause};
422
- `;
423
- return one(query, values);
424
- };
425
- // Standard delete
426
- const _delete = (model) => {
427
- const id = model.id;
428
- const query = `
429
- DELETE FROM "${getEntityByModel(model).tableName}"
430
- WHERE "${getEntityByModel(model).tableName}".id = $(id)
431
- `;
432
- return none(query, { id });
433
- };
434
- const deleteMatching = (model) => {
435
- const { whereClause, values } = getMatchingParts(model);
436
- const query = `
437
- DELETE FROM "${getEntityByModel(model).tableName}"
438
- WHERE ${whereClause};
439
- `;
440
- return none(query, values);
441
- };
442
- const getMatching = (model) => {
443
- const { whereClause, values } = getMatchingParts(model);
444
- const query = `
445
- SELECT ${getEntityByModel(model).selectColumnsClause}
446
- FROM "${getEntityByModel(model).tableName}"
447
- WHERE ${whereClause};
448
- `;
449
- return one(query, values);
450
- };
451
- const getOneOrNoneMatching = (model) => {
452
- const { whereClause, values } = getMatchingParts(model);
453
- const query = `
454
- SELECT ${getEntityByModel(model).selectColumnsClause}
455
- FROM "${getEntityByModel(model).tableName}"
456
- WHERE ${whereClause};
457
- `;
458
- return oneOrNone(query, values);
459
- };
460
- const getAnyMatching = (model) => {
461
- const { whereClause, values } = getMatchingParts(model);
462
- const query = `
463
- SELECT ${getEntityByModel(model).selectColumnsClause}
464
- FROM "${getEntityByModel(model).tableName}"
465
- WHERE ${whereClause};
466
- `;
467
- return any(query, values);
468
- };
469
- const getAllMatching = (model) => {
470
- const { whereClause, values } = getMatchingParts(model);
471
- const query = `
472
- SELECT ${getEntityByModel(model).selectColumnsClause}
473
- FROM "${getEntityByModel(model).tableName}"
474
- WHERE ${whereClause};
475
- `;
476
- return many(query, values);
305
+ return createFromDatabase(rows);
477
306
  };
478
307
  return {
479
- // Query Helper Function
480
- nestClump,
481
- clumpIntoGroups,
482
- mapToBos,
483
- objectifyDatabaseResult,
308
+ getEntityByModel,
309
+ getEntityByTableName,
484
310
  createFromDatabase,
311
+ createAnyFromDatabase,
485
312
  createOneFromDatabase,
486
313
  createOneOrNoneFromDatabase,
487
314
  createManyFromDatabase,
488
- getSqlInsertParts,
489
- getSqlUpdateParts,
490
- getMatchingParts,
491
- getMatchingPartsObject,
492
- getNewWith,
493
- getValueBySqlColumn,
494
- // Query Functions
495
- one,
496
- oneOrNone,
497
- many,
498
- any,
499
- none,
500
- // Built-in basic CRUD functions
501
- create,
502
- update,
503
- delete: _delete,
504
- deleteMatching,
505
- getMatching,
506
- getOneOrNoneMatching,
507
- getAnyMatching,
508
- getAllMatching,
509
- // tables property for access to select columns clause string
510
315
  tables: entities.reduce((accum, data) => {
511
316
  accum[data.displayName] = {
512
317
  columns: data.selectColumnsClause
513
318
  };
514
319
  return accum;
515
- }, {}),
516
- // provide direct access to db
517
- db
320
+ }, {})
518
321
  };
519
322
  };
520
- exports.create = create;
323
+ exports.createCore = createCore;
File without changes