pure-orm 4.0.0-0 → 4.0.0-1

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 (1198) hide show
  1. package/.prettierignore +1 -0
  2. package/README.md +390 -332
  3. package/babel.config.js +6 -0
  4. package/coverage/clover.xml +2437 -0
  5. package/coverage/coverage-final.json +125 -0
  6. package/coverage/lcov-report/base.css +224 -0
  7. package/coverage/lcov-report/block-navigation.js +79 -0
  8. package/coverage/lcov-report/business-object.ts.html +1290 -0
  9. package/coverage/lcov-report/dao/base-dao.js.html +507 -0
  10. package/coverage/lcov-report/dao/index.html +97 -0
  11. package/coverage/lcov-report/dist/business-object.js.html +1164 -0
  12. package/coverage/lcov-report/dist/examples/blog/business-objects/article.js.html +216 -0
  13. package/coverage/lcov-report/dist/examples/blog/business-objects/article_tag.js.html +168 -0
  14. package/coverage/lcov-report/dist/examples/blog/business-objects/article_tags.js.html +99 -0
  15. package/coverage/lcov-report/dist/examples/blog/business-objects/articles.js.html +72 -0
  16. package/coverage/lcov-report/dist/examples/blog/business-objects/index.html +136 -0
  17. package/coverage/lcov-report/dist/examples/blog/business-objects/person.js.html +213 -0
  18. package/coverage/lcov-report/dist/examples/blog/business-objects/tag.js.html +156 -0
  19. package/coverage/lcov-report/dist/examples/blog/entities/article.js.html +216 -0
  20. package/coverage/lcov-report/dist/examples/blog/entities/article_tag.js.html +168 -0
  21. package/coverage/lcov-report/dist/examples/blog/entities/index.html +136 -0
  22. package/coverage/lcov-report/dist/examples/blog/entities/person.js.html +213 -0
  23. package/coverage/lcov-report/dist/examples/blog/entities/tag.js.html +156 -0
  24. package/coverage/lcov-report/dist/examples/blog/index.html +97 -0
  25. package/coverage/lcov-report/dist/examples/blog/models/article.js.html +216 -0
  26. package/coverage/lcov-report/dist/examples/blog/models/article_tag.js.html +168 -0
  27. package/coverage/lcov-report/dist/examples/blog/models/index.html +136 -0
  28. package/coverage/lcov-report/dist/examples/blog/models/person.js.html +213 -0
  29. package/coverage/lcov-report/dist/examples/blog/models/tag.js.html +156 -0
  30. package/coverage/lcov-report/dist/examples/blog/orm.js.html +120 -0
  31. package/coverage/lcov-report/dist/examples/order/business-objects/index.html +149 -0
  32. package/coverage/lcov-report/dist/examples/order/business-objects/line-item.js.html +219 -0
  33. package/coverage/lcov-report/dist/examples/order/business-objects/line-items.js.html +99 -0
  34. package/coverage/lcov-report/dist/examples/order/business-objects/order.js.html +306 -0
  35. package/coverage/lcov-report/dist/examples/order/business-objects/orders.js.html +99 -0
  36. package/coverage/lcov-report/dist/examples/order/business-objects/product-variant.js.html +222 -0
  37. package/coverage/lcov-report/dist/examples/order/business-objects/product-variants.js.html +99 -0
  38. package/coverage/lcov-report/dist/examples/order/business-objects/product.js.html +192 -0
  39. package/coverage/lcov-report/dist/examples/order/business-objects/products.js.html +99 -0
  40. package/coverage/lcov-report/dist/examples/order/business-objects/utm-source.js.html +162 -0
  41. package/coverage/lcov-report/dist/examples/order/entities/index.html +149 -0
  42. package/coverage/lcov-report/dist/examples/order/entities/line-item.js.html +219 -0
  43. package/coverage/lcov-report/dist/examples/order/entities/order.js.html +306 -0
  44. package/coverage/lcov-report/dist/examples/order/entities/product-variant.js.html +222 -0
  45. package/coverage/lcov-report/dist/examples/order/entities/product.js.html +192 -0
  46. package/coverage/lcov-report/dist/examples/order/entities/utm-source.js.html +162 -0
  47. package/coverage/lcov-report/dist/examples/order/index.html +97 -0
  48. package/coverage/lcov-report/dist/examples/order/models/index.html +149 -0
  49. package/coverage/lcov-report/dist/examples/order/models/line-item.js.html +219 -0
  50. package/coverage/lcov-report/dist/examples/order/models/order.js.html +306 -0
  51. package/coverage/lcov-report/dist/examples/order/models/product-variant.js.html +222 -0
  52. package/coverage/lcov-report/dist/examples/order/models/product.js.html +192 -0
  53. package/coverage/lcov-report/dist/examples/order/models/utm-source.js.html +162 -0
  54. package/coverage/lcov-report/dist/examples/order/orm.js.html +126 -0
  55. package/coverage/lcov-report/dist/examples/order-more/business-objects/actual-product-variant.js.html +141 -0
  56. package/coverage/lcov-report/dist/examples/order-more/business-objects/actual-product-variants.js.html +99 -0
  57. package/coverage/lcov-report/dist/examples/order-more/business-objects/color.js.html +150 -0
  58. package/coverage/lcov-report/dist/examples/order-more/business-objects/colors.js.html +99 -0
  59. package/coverage/lcov-report/dist/examples/order-more/business-objects/customer.js.html +141 -0
  60. package/coverage/lcov-report/dist/examples/order-more/business-objects/customers.js.html +99 -0
  61. package/coverage/lcov-report/dist/examples/order-more/business-objects/gender.js.html +144 -0
  62. package/coverage/lcov-report/dist/examples/order-more/business-objects/genders.js.html +99 -0
  63. package/coverage/lcov-report/dist/examples/order-more/business-objects/index.html +344 -0
  64. package/coverage/lcov-report/dist/examples/order-more/business-objects/inventory-level.js.html +192 -0
  65. package/coverage/lcov-report/dist/examples/order-more/business-objects/inventory-levels.js.html +99 -0
  66. package/coverage/lcov-report/dist/examples/order-more/business-objects/line-item.js.html +219 -0
  67. package/coverage/lcov-report/dist/examples/order-more/business-objects/line-items.js.html +99 -0
  68. package/coverage/lcov-report/dist/examples/order-more/business-objects/order.js.html +339 -0
  69. package/coverage/lcov-report/dist/examples/order-more/business-objects/orders.js.html +99 -0
  70. package/coverage/lcov-report/dist/examples/order-more/business-objects/parcel-event.js.html +168 -0
  71. package/coverage/lcov-report/dist/examples/order-more/business-objects/parcel-events.js.html +99 -0
  72. package/coverage/lcov-report/dist/examples/order-more/business-objects/parcel-line-item.js.html +168 -0
  73. package/coverage/lcov-report/dist/examples/order-more/business-objects/parcel-line-items.js.html +99 -0
  74. package/coverage/lcov-report/dist/examples/order-more/business-objects/parcel.js.html +138 -0
  75. package/coverage/lcov-report/dist/examples/order-more/business-objects/parcels.js.html +99 -0
  76. package/coverage/lcov-report/dist/examples/order-more/business-objects/physical-address.js.html +204 -0
  77. package/coverage/lcov-report/dist/examples/order-more/business-objects/physical-addresses.js.html +108 -0
  78. package/coverage/lcov-report/dist/examples/order-more/business-objects/product-variant-image.js.html +174 -0
  79. package/coverage/lcov-report/dist/examples/order-more/business-objects/product-variant-images.js.html +99 -0
  80. package/coverage/lcov-report/dist/examples/order-more/business-objects/product-variant.js.html +258 -0
  81. package/coverage/lcov-report/dist/examples/order-more/business-objects/product-variants.js.html +99 -0
  82. package/coverage/lcov-report/dist/examples/order-more/business-objects/product.js.html +198 -0
  83. package/coverage/lcov-report/dist/examples/order-more/business-objects/products.js.html +99 -0
  84. package/coverage/lcov-report/dist/examples/order-more/business-objects/refund.js.html +198 -0
  85. package/coverage/lcov-report/dist/examples/order-more/business-objects/refunds.js.html +99 -0
  86. package/coverage/lcov-report/dist/examples/order-more/business-objects/shipment-actual-product-variant.js.html +180 -0
  87. package/coverage/lcov-report/dist/examples/order-more/business-objects/shipment-actual-product-variants.js.html +99 -0
  88. package/coverage/lcov-report/dist/examples/order-more/business-objects/shipment.js.html +144 -0
  89. package/coverage/lcov-report/dist/examples/order-more/business-objects/shipments.js.html +99 -0
  90. package/coverage/lcov-report/dist/examples/order-more/business-objects/size.js.html +144 -0
  91. package/coverage/lcov-report/dist/examples/order-more/business-objects/sizes.js.html +99 -0
  92. package/coverage/lcov-report/dist/examples/order-more/business-objects/utm-medium.js.html +144 -0
  93. package/coverage/lcov-report/dist/examples/order-more/business-objects/utm-source.js.html +147 -0
  94. package/coverage/lcov-report/dist/examples/order-more/entities/actual-product-variant.js.html +141 -0
  95. package/coverage/lcov-report/dist/examples/order-more/entities/color.js.html +150 -0
  96. package/coverage/lcov-report/dist/examples/order-more/entities/customer.js.html +141 -0
  97. package/coverage/lcov-report/dist/examples/order-more/entities/gender.js.html +144 -0
  98. package/coverage/lcov-report/dist/examples/order-more/entities/index.html +344 -0
  99. package/coverage/lcov-report/dist/examples/order-more/entities/inventory-level.js.html +192 -0
  100. package/coverage/lcov-report/dist/examples/order-more/entities/line-item.js.html +219 -0
  101. package/coverage/lcov-report/dist/examples/order-more/entities/order.js.html +339 -0
  102. package/coverage/lcov-report/dist/examples/order-more/entities/parcel-event.js.html +168 -0
  103. package/coverage/lcov-report/dist/examples/order-more/entities/parcel-line-item.js.html +168 -0
  104. package/coverage/lcov-report/dist/examples/order-more/entities/parcel.js.html +138 -0
  105. package/coverage/lcov-report/dist/examples/order-more/entities/physical-address.js.html +204 -0
  106. package/coverage/lcov-report/dist/examples/order-more/entities/product-variant-image.js.html +174 -0
  107. package/coverage/lcov-report/dist/examples/order-more/entities/product-variant.js.html +258 -0
  108. package/coverage/lcov-report/dist/examples/order-more/entities/product.js.html +198 -0
  109. package/coverage/lcov-report/dist/examples/order-more/entities/refund.js.html +198 -0
  110. package/coverage/lcov-report/dist/examples/order-more/entities/shipment-actual-product-variant.js.html +180 -0
  111. package/coverage/lcov-report/dist/examples/order-more/entities/shipment.js.html +144 -0
  112. package/coverage/lcov-report/dist/examples/order-more/entities/size.js.html +144 -0
  113. package/coverage/lcov-report/dist/examples/order-more/entities/utm-medium.js.html +144 -0
  114. package/coverage/lcov-report/dist/examples/order-more/entities/utm-source.js.html +147 -0
  115. package/coverage/lcov-report/dist/examples/order-more/index.html +97 -0
  116. package/coverage/lcov-report/dist/examples/order-more/models/actual-product-variant.js.html +141 -0
  117. package/coverage/lcov-report/dist/examples/order-more/models/color.js.html +150 -0
  118. package/coverage/lcov-report/dist/examples/order-more/models/customer.js.html +141 -0
  119. package/coverage/lcov-report/dist/examples/order-more/models/gender.js.html +144 -0
  120. package/coverage/lcov-report/dist/examples/order-more/models/index.html +344 -0
  121. package/coverage/lcov-report/dist/examples/order-more/models/inventory-level.js.html +192 -0
  122. package/coverage/lcov-report/dist/examples/order-more/models/line-item.js.html +219 -0
  123. package/coverage/lcov-report/dist/examples/order-more/models/order.js.html +339 -0
  124. package/coverage/lcov-report/dist/examples/order-more/models/parcel-event.js.html +168 -0
  125. package/coverage/lcov-report/dist/examples/order-more/models/parcel-line-item.js.html +168 -0
  126. package/coverage/lcov-report/dist/examples/order-more/models/parcel.js.html +138 -0
  127. package/coverage/lcov-report/dist/examples/order-more/models/physical-address.js.html +204 -0
  128. package/coverage/lcov-report/dist/examples/order-more/models/product-variant-image.js.html +174 -0
  129. package/coverage/lcov-report/dist/examples/order-more/models/product-variant.js.html +258 -0
  130. package/coverage/lcov-report/dist/examples/order-more/models/product.js.html +198 -0
  131. package/coverage/lcov-report/dist/examples/order-more/models/refund.js.html +198 -0
  132. package/coverage/lcov-report/dist/examples/order-more/models/shipment-actual-product-variant.js.html +180 -0
  133. package/coverage/lcov-report/dist/examples/order-more/models/shipment.js.html +144 -0
  134. package/coverage/lcov-report/dist/examples/order-more/models/size.js.html +144 -0
  135. package/coverage/lcov-report/dist/examples/order-more/models/utm-medium.js.html +144 -0
  136. package/coverage/lcov-report/dist/examples/order-more/models/utm-source.js.html +147 -0
  137. package/coverage/lcov-report/dist/examples/order-more/orm.js.html +216 -0
  138. package/coverage/lcov-report/dist/factory.js.html +501 -0
  139. package/coverage/lcov-report/dist/index.html +123 -0
  140. package/coverage/lcov-report/dist/index.js.html +153 -0
  141. package/coverage/lcov-report/dist/src/business-object.js.html +1218 -0
  142. package/coverage/lcov-report/dist/src/factory.js.html +1605 -0
  143. package/coverage/lcov-report/dist/src/index.html +110 -0
  144. package/coverage/lcov-report/dist/src/index.js.html +84 -0
  145. package/coverage/lcov-report/dist/test-utils/blog/index.html +97 -0
  146. package/coverage/lcov-report/dist/test-utils/blog/models/article.js.html +216 -0
  147. package/coverage/lcov-report/dist/test-utils/blog/models/article_tag.js.html +168 -0
  148. package/coverage/lcov-report/dist/test-utils/blog/models/article_tag.ts.html +192 -0
  149. package/coverage/lcov-report/dist/test-utils/blog/models/index.html +136 -0
  150. package/coverage/lcov-report/dist/test-utils/blog/models/person.js.html +213 -0
  151. package/coverage/lcov-report/dist/test-utils/blog/models/tag.js.html +144 -0
  152. package/coverage/lcov-report/dist/test-utils/blog/models/tag.ts.html +177 -0
  153. package/coverage/lcov-report/dist/test-utils/blog/orm.js.html +105 -0
  154. package/coverage/lcov-report/dist/test-utils/five/business-objects/index.html +149 -0
  155. package/coverage/lcov-report/dist/test-utils/five/business-objects/line-item.js.html +156 -0
  156. package/coverage/lcov-report/dist/test-utils/five/business-objects/line-items.js.html +99 -0
  157. package/coverage/lcov-report/dist/test-utils/five/business-objects/order.js.html +150 -0
  158. package/coverage/lcov-report/dist/test-utils/five/business-objects/orders.js.html +99 -0
  159. package/coverage/lcov-report/dist/test-utils/five/business-objects/parcel-event.js.html +168 -0
  160. package/coverage/lcov-report/dist/test-utils/five/business-objects/parcel-events.js.html +99 -0
  161. package/coverage/lcov-report/dist/test-utils/five/business-objects/parcel-line-item.js.html +168 -0
  162. package/coverage/lcov-report/dist/test-utils/five/business-objects/parcel-line-items.js.html +99 -0
  163. package/coverage/lcov-report/dist/test-utils/five/business-objects/parcel.js.html +138 -0
  164. package/coverage/lcov-report/dist/test-utils/five/business-objects/parcels.js.html +99 -0
  165. package/coverage/lcov-report/dist/test-utils/five/entities/index.html +149 -0
  166. package/coverage/lcov-report/dist/test-utils/five/entities/line-item.js.html +156 -0
  167. package/coverage/lcov-report/dist/test-utils/five/entities/order.js.html +150 -0
  168. package/coverage/lcov-report/dist/test-utils/five/entities/parcel-event.js.html +168 -0
  169. package/coverage/lcov-report/dist/test-utils/five/entities/parcel-line-item.js.html +168 -0
  170. package/coverage/lcov-report/dist/test-utils/five/entities/parcel.js.html +138 -0
  171. package/coverage/lcov-report/dist/test-utils/five/index.html +97 -0
  172. package/coverage/lcov-report/dist/test-utils/five/models/index.html +149 -0
  173. package/coverage/lcov-report/dist/test-utils/five/models/line-item.js.html +156 -0
  174. package/coverage/lcov-report/dist/test-utils/five/models/order.js.html +141 -0
  175. package/coverage/lcov-report/dist/test-utils/five/models/parcel-event.js.html +168 -0
  176. package/coverage/lcov-report/dist/test-utils/five/models/parcel-line-item.js.html +168 -0
  177. package/coverage/lcov-report/dist/test-utils/five/models/parcel.js.html +138 -0
  178. package/coverage/lcov-report/dist/test-utils/five/orm.js.html +126 -0
  179. package/coverage/lcov-report/dist/test-utils/nine/business-objects/feature-switch.js.html +147 -0
  180. package/coverage/lcov-report/dist/test-utils/nine/business-objects/feature-switches.js.html +108 -0
  181. package/coverage/lcov-report/dist/test-utils/nine/business-objects/index.html +97 -0
  182. package/coverage/lcov-report/dist/test-utils/nine/entities/feature-switch.js.html +147 -0
  183. package/coverage/lcov-report/dist/test-utils/nine/entities/index.html +97 -0
  184. package/coverage/lcov-report/dist/test-utils/nine/index.html +97 -0
  185. package/coverage/lcov-report/dist/test-utils/nine/models/feature-switch.js.html +147 -0
  186. package/coverage/lcov-report/dist/test-utils/nine/models/index.html +97 -0
  187. package/coverage/lcov-report/dist/test-utils/nine/orm.js.html +96 -0
  188. package/coverage/lcov-report/dist/test-utils/order/index.html +97 -0
  189. package/coverage/lcov-report/dist/test-utils/order/models/index.html +149 -0
  190. package/coverage/lcov-report/dist/test-utils/order/models/line-item.js.html +219 -0
  191. package/coverage/lcov-report/dist/test-utils/order/models/order.js.html +306 -0
  192. package/coverage/lcov-report/dist/test-utils/order/models/product-variant.js.html +222 -0
  193. package/coverage/lcov-report/dist/test-utils/order/models/product.js.html +192 -0
  194. package/coverage/lcov-report/dist/test-utils/order/models/utm-source.js.html +147 -0
  195. package/coverage/lcov-report/dist/test-utils/order/orm.js.html +126 -0
  196. package/coverage/lcov-report/dist/test-utils/order-more/index.html +97 -0
  197. package/coverage/lcov-report/dist/test-utils/order-more/models/actual-product-variant.js.html +141 -0
  198. package/coverage/lcov-report/dist/test-utils/order-more/models/color.js.html +168 -0
  199. package/coverage/lcov-report/dist/test-utils/order-more/models/customer.js.html +141 -0
  200. package/coverage/lcov-report/dist/test-utils/order-more/models/gender.js.html +144 -0
  201. package/coverage/lcov-report/dist/test-utils/order-more/models/index.html +344 -0
  202. package/coverage/lcov-report/dist/test-utils/order-more/models/inventory-level.js.html +192 -0
  203. package/coverage/lcov-report/dist/test-utils/order-more/models/line-item.js.html +219 -0
  204. package/coverage/lcov-report/dist/test-utils/order-more/models/order.js.html +339 -0
  205. package/coverage/lcov-report/dist/test-utils/order-more/models/parcel-event.js.html +168 -0
  206. package/coverage/lcov-report/dist/test-utils/order-more/models/parcel-line-item.js.html +168 -0
  207. package/coverage/lcov-report/dist/test-utils/order-more/models/parcel.js.html +138 -0
  208. package/coverage/lcov-report/dist/test-utils/order-more/models/physical-address.js.html +204 -0
  209. package/coverage/lcov-report/dist/test-utils/order-more/models/product-variant-image.js.html +174 -0
  210. package/coverage/lcov-report/dist/test-utils/order-more/models/product-variant.js.html +258 -0
  211. package/coverage/lcov-report/dist/test-utils/order-more/models/product.js.html +198 -0
  212. package/coverage/lcov-report/dist/test-utils/order-more/models/refund.js.html +198 -0
  213. package/coverage/lcov-report/dist/test-utils/order-more/models/shipment-actual-product-variant.js.html +180 -0
  214. package/coverage/lcov-report/dist/test-utils/order-more/models/shipment.js.html +156 -0
  215. package/coverage/lcov-report/dist/test-utils/order-more/models/size.js.html +144 -0
  216. package/coverage/lcov-report/dist/test-utils/order-more/models/utm-medium.js.html +144 -0
  217. package/coverage/lcov-report/dist/test-utils/order-more/models/utm-source.js.html +147 -0
  218. package/coverage/lcov-report/dist/test-utils/order-more/orm.js.html +216 -0
  219. package/coverage/lcov-report/dist/test-utils/six/business-objects/customer.js.html +141 -0
  220. package/coverage/lcov-report/dist/test-utils/six/business-objects/customers.js.html +99 -0
  221. package/coverage/lcov-report/dist/test-utils/six/business-objects/index.html +149 -0
  222. package/coverage/lcov-report/dist/test-utils/six/business-objects/line-item.js.html +156 -0
  223. package/coverage/lcov-report/dist/test-utils/six/business-objects/order.js.html +156 -0
  224. package/coverage/lcov-report/dist/test-utils/six/business-objects/orders.js.html +99 -0
  225. package/coverage/lcov-report/dist/test-utils/six/business-objects/parcel-line-item.js.html +168 -0
  226. package/coverage/lcov-report/dist/test-utils/six/business-objects/parcel-line-items.js.html +99 -0
  227. package/coverage/lcov-report/dist/test-utils/six/business-objects/parcel.js.html +138 -0
  228. package/coverage/lcov-report/dist/test-utils/six/business-objects/parcels.js.html +99 -0
  229. package/coverage/lcov-report/dist/test-utils/six/entities/customer.js.html +141 -0
  230. package/coverage/lcov-report/dist/test-utils/six/entities/index.html +149 -0
  231. package/coverage/lcov-report/dist/test-utils/six/entities/line-item.js.html +156 -0
  232. package/coverage/lcov-report/dist/test-utils/six/entities/order.js.html +156 -0
  233. package/coverage/lcov-report/dist/test-utils/six/entities/parcel-line-item.js.html +168 -0
  234. package/coverage/lcov-report/dist/test-utils/six/entities/parcel.js.html +138 -0
  235. package/coverage/lcov-report/dist/test-utils/six/index.html +97 -0
  236. package/coverage/lcov-report/dist/test-utils/six/models/customer.js.html +141 -0
  237. package/coverage/lcov-report/dist/test-utils/six/models/index.html +149 -0
  238. package/coverage/lcov-report/dist/test-utils/six/models/line-item.js.html +156 -0
  239. package/coverage/lcov-report/dist/test-utils/six/models/order.js.html +156 -0
  240. package/coverage/lcov-report/dist/test-utils/six/models/parcel-line-item.js.html +168 -0
  241. package/coverage/lcov-report/dist/test-utils/six/models/parcel.js.html +138 -0
  242. package/coverage/lcov-report/dist/test-utils/six/orm.js.html +126 -0
  243. package/coverage/lcov-report/dist/test-utils/thirteen/business-objects/audience.js.html +144 -0
  244. package/coverage/lcov-report/dist/test-utils/thirteen/business-objects/audiences.js.html +99 -0
  245. package/coverage/lcov-report/dist/test-utils/thirteen/business-objects/brand.js.html +144 -0
  246. package/coverage/lcov-report/dist/test-utils/thirteen/business-objects/brands.js.html +99 -0
  247. package/coverage/lcov-report/dist/test-utils/thirteen/business-objects/categories.js.html +108 -0
  248. package/coverage/lcov-report/dist/test-utils/thirteen/business-objects/category.js.html +144 -0
  249. package/coverage/lcov-report/dist/test-utils/thirteen/business-objects/index.html +188 -0
  250. package/coverage/lcov-report/dist/test-utils/thirteen/business-objects/member.js.html +144 -0
  251. package/coverage/lcov-report/dist/test-utils/thirteen/business-objects/members.js.html +99 -0
  252. package/coverage/lcov-report/dist/test-utils/thirteen/business-objects/passion.js.html +144 -0
  253. package/coverage/lcov-report/dist/test-utils/thirteen/business-objects/passions.js.html +99 -0
  254. package/coverage/lcov-report/dist/test-utils/thirteen/business-objects/product.js.html +156 -0
  255. package/coverage/lcov-report/dist/test-utils/thirteen/business-objects/products.js.html +99 -0
  256. package/coverage/lcov-report/dist/test-utils/thirteen/business-objects/recommendation-audience.js.html +168 -0
  257. package/coverage/lcov-report/dist/test-utils/thirteen/business-objects/recommendation-audiences.js.html +99 -0
  258. package/coverage/lcov-report/dist/test-utils/thirteen/business-objects/recommendation.js.html +204 -0
  259. package/coverage/lcov-report/dist/test-utils/thirteen/business-objects/recommendations.js.html +99 -0
  260. package/coverage/lcov-report/dist/test-utils/thirteen/entities/audience.js.html +144 -0
  261. package/coverage/lcov-report/dist/test-utils/thirteen/entities/brand.js.html +144 -0
  262. package/coverage/lcov-report/dist/test-utils/thirteen/entities/category.js.html +144 -0
  263. package/coverage/lcov-report/dist/test-utils/thirteen/entities/index.html +188 -0
  264. package/coverage/lcov-report/dist/test-utils/thirteen/entities/member.js.html +144 -0
  265. package/coverage/lcov-report/dist/test-utils/thirteen/entities/passion.js.html +144 -0
  266. package/coverage/lcov-report/dist/test-utils/thirteen/entities/product.js.html +156 -0
  267. package/coverage/lcov-report/dist/test-utils/thirteen/entities/recommendation-audience.js.html +168 -0
  268. package/coverage/lcov-report/dist/test-utils/thirteen/entities/recommendation.js.html +204 -0
  269. package/coverage/lcov-report/dist/test-utils/thirteen/index.html +97 -0
  270. package/coverage/lcov-report/dist/test-utils/thirteen/models/audience.js.html +138 -0
  271. package/coverage/lcov-report/dist/test-utils/thirteen/models/brand.js.html +138 -0
  272. package/coverage/lcov-report/dist/test-utils/thirteen/models/category.js.html +138 -0
  273. package/coverage/lcov-report/dist/test-utils/thirteen/models/index.html +188 -0
  274. package/coverage/lcov-report/dist/test-utils/thirteen/models/member.js.html +138 -0
  275. package/coverage/lcov-report/dist/test-utils/thirteen/models/passion.js.html +138 -0
  276. package/coverage/lcov-report/dist/test-utils/thirteen/models/product.js.html +156 -0
  277. package/coverage/lcov-report/dist/test-utils/thirteen/models/recommendation-audience.js.html +168 -0
  278. package/coverage/lcov-report/dist/test-utils/thirteen/models/recommendation.js.html +204 -0
  279. package/coverage/lcov-report/dist/test-utils/thirteen/orm.js.html +144 -0
  280. package/coverage/lcov-report/dist/test-utils/three/index.html +97 -0
  281. package/coverage/lcov-report/dist/test-utils/three/results.js.html +1335 -0
  282. package/coverage/lcov-report/dist/test-utils/twelve/business-objects/index.html +110 -0
  283. package/coverage/lcov-report/dist/test-utils/twelve/business-objects/member.js.html +144 -0
  284. package/coverage/lcov-report/dist/test-utils/twelve/business-objects/members.js.html +99 -0
  285. package/coverage/lcov-report/dist/test-utils/twelve/business-objects/prompt.js.html +165 -0
  286. package/coverage/lcov-report/dist/test-utils/twelve/business-objects/prompts.js.html +99 -0
  287. package/coverage/lcov-report/dist/test-utils/twelve/entities/index.html +110 -0
  288. package/coverage/lcov-report/dist/test-utils/twelve/entities/member.js.html +144 -0
  289. package/coverage/lcov-report/dist/test-utils/twelve/entities/prompt.js.html +165 -0
  290. package/coverage/lcov-report/dist/test-utils/twelve/index.html +97 -0
  291. package/coverage/lcov-report/dist/test-utils/twelve/models/index.html +110 -0
  292. package/coverage/lcov-report/dist/test-utils/twelve/models/member.js.html +138 -0
  293. package/coverage/lcov-report/dist/test-utils/twelve/models/prompt.js.html +165 -0
  294. package/coverage/lcov-report/dist/test-utils/twelve/orm.js.html +99 -0
  295. package/coverage/lcov-report/dist/test-utils/two/index.html +97 -0
  296. package/coverage/lcov-report/dist/test-utils/two/results.js.html +1035 -0
  297. package/coverage/lcov-report/examples/blog/bo/article.js.html +174 -0
  298. package/coverage/lcov-report/examples/blog/bo/article_tag.js.html +150 -0
  299. package/coverage/lcov-report/examples/blog/bo/article_tags.js.html +99 -0
  300. package/coverage/lcov-report/examples/blog/bo/articles.js.html +99 -0
  301. package/coverage/lcov-report/examples/blog/bo/base.js.html +84 -0
  302. package/coverage/lcov-report/examples/blog/bo/index.html +162 -0
  303. package/coverage/lcov-report/examples/blog/bo/person.js.html +153 -0
  304. package/coverage/lcov-report/examples/blog/bo/tag.js.html +114 -0
  305. package/coverage/lcov-report/examples/blog/business-objects/article.js.html +174 -0
  306. package/coverage/lcov-report/examples/blog/business-objects/article.ts.html +264 -0
  307. package/coverage/lcov-report/examples/blog/business-objects/article_tag.js.html +150 -0
  308. package/coverage/lcov-report/examples/blog/business-objects/article_tag.ts.html +192 -0
  309. package/coverage/lcov-report/examples/blog/business-objects/article_tags.js.html +99 -0
  310. package/coverage/lcov-report/examples/blog/business-objects/articles.js.html +72 -0
  311. package/coverage/lcov-report/examples/blog/business-objects/index.html +136 -0
  312. package/coverage/lcov-report/examples/blog/business-objects/person.js.html +153 -0
  313. package/coverage/lcov-report/examples/blog/business-objects/person.ts.html +303 -0
  314. package/coverage/lcov-report/examples/blog/business-objects/tag.js.html +114 -0
  315. package/coverage/lcov-report/examples/blog/business-objects/tag.ts.html +177 -0
  316. package/coverage/lcov-report/examples/blog/business-objects.js.html +99 -0
  317. package/coverage/lcov-report/examples/blog/entities/article.ts.html +264 -0
  318. package/coverage/lcov-report/examples/blog/entities/article_tag.ts.html +192 -0
  319. package/coverage/lcov-report/examples/blog/entities/index.html +136 -0
  320. package/coverage/lcov-report/examples/blog/entities/person.ts.html +303 -0
  321. package/coverage/lcov-report/examples/blog/entities/tag.ts.html +177 -0
  322. package/coverage/lcov-report/examples/blog/index.html +97 -0
  323. package/coverage/lcov-report/examples/blog/models/article.ts.html +264 -0
  324. package/coverage/lcov-report/examples/blog/models/article_tag.ts.html +192 -0
  325. package/coverage/lcov-report/examples/blog/models/index.html +136 -0
  326. package/coverage/lcov-report/examples/blog/models/person.ts.html +303 -0
  327. package/coverage/lcov-report/examples/blog/models/tag.ts.html +177 -0
  328. package/coverage/lcov-report/examples/blog/orm.js.html +111 -0
  329. package/coverage/lcov-report/examples/blog/orm.ts.html +117 -0
  330. package/coverage/lcov-report/examples/order/bo/base.js.html +84 -0
  331. package/coverage/lcov-report/examples/order/bo/index.html +201 -0
  332. package/coverage/lcov-report/examples/order/bo/line-item.js.html +177 -0
  333. package/coverage/lcov-report/examples/order/bo/line-items.js.html +99 -0
  334. package/coverage/lcov-report/examples/order/bo/order.js.html +210 -0
  335. package/coverage/lcov-report/examples/order/bo/orders.js.html +99 -0
  336. package/coverage/lcov-report/examples/order/bo/product-variant.js.html +177 -0
  337. package/coverage/lcov-report/examples/order/bo/product-variants.js.html +99 -0
  338. package/coverage/lcov-report/examples/order/bo/product.js.html +162 -0
  339. package/coverage/lcov-report/examples/order/bo/products.js.html +99 -0
  340. package/coverage/lcov-report/examples/order/bo/utm-source.js.html +114 -0
  341. package/coverage/lcov-report/examples/order/business-objects/index.html +149 -0
  342. package/coverage/lcov-report/examples/order/business-objects/line-item.js.html +177 -0
  343. package/coverage/lcov-report/examples/order/business-objects/line-item.ts.html +267 -0
  344. package/coverage/lcov-report/examples/order/business-objects/line-items.js.html +99 -0
  345. package/coverage/lcov-report/examples/order/business-objects/order.js.html +210 -0
  346. package/coverage/lcov-report/examples/order/business-objects/order.ts.html +390 -0
  347. package/coverage/lcov-report/examples/order/business-objects/orders.js.html +99 -0
  348. package/coverage/lcov-report/examples/order/business-objects/product-variant.js.html +177 -0
  349. package/coverage/lcov-report/examples/order/business-objects/product-variant.ts.html +273 -0
  350. package/coverage/lcov-report/examples/order/business-objects/product-variants.js.html +99 -0
  351. package/coverage/lcov-report/examples/order/business-objects/product.js.html +162 -0
  352. package/coverage/lcov-report/examples/order/business-objects/product.ts.html +228 -0
  353. package/coverage/lcov-report/examples/order/business-objects/products.js.html +99 -0
  354. package/coverage/lcov-report/examples/order/business-objects/utm-source.js.html +114 -0
  355. package/coverage/lcov-report/examples/order/business-objects/utm-source.ts.html +183 -0
  356. package/coverage/lcov-report/examples/order/business-objects.js.html +102 -0
  357. package/coverage/lcov-report/examples/order/entities/index.html +149 -0
  358. package/coverage/lcov-report/examples/order/entities/line-item.ts.html +267 -0
  359. package/coverage/lcov-report/examples/order/entities/order.ts.html +390 -0
  360. package/coverage/lcov-report/examples/order/entities/product-variant.ts.html +273 -0
  361. package/coverage/lcov-report/examples/order/entities/product.ts.html +228 -0
  362. package/coverage/lcov-report/examples/order/entities/utm-source.ts.html +183 -0
  363. package/coverage/lcov-report/examples/order/index.html +97 -0
  364. package/coverage/lcov-report/examples/order/models/index.html +149 -0
  365. package/coverage/lcov-report/examples/order/models/line-item.ts.html +267 -0
  366. package/coverage/lcov-report/examples/order/models/order.ts.html +390 -0
  367. package/coverage/lcov-report/examples/order/models/product-variant.ts.html +273 -0
  368. package/coverage/lcov-report/examples/order/models/product.ts.html +228 -0
  369. package/coverage/lcov-report/examples/order/models/utm-source.ts.html +183 -0
  370. package/coverage/lcov-report/examples/order/orm.js.html +129 -0
  371. package/coverage/lcov-report/examples/order/orm.ts.html +123 -0
  372. package/coverage/lcov-report/examples/order-more/bo/actual-product-variant.js.html +153 -0
  373. package/coverage/lcov-report/examples/order-more/bo/actual-product-variants.js.html +99 -0
  374. package/coverage/lcov-report/examples/order-more/bo/base.js.html +84 -0
  375. package/coverage/lcov-report/examples/order-more/bo/color.js.html +132 -0
  376. package/coverage/lcov-report/examples/order-more/bo/colors.js.html +99 -0
  377. package/coverage/lcov-report/examples/order-more/bo/customer.js.html +132 -0
  378. package/coverage/lcov-report/examples/order-more/bo/customers.js.html +99 -0
  379. package/coverage/lcov-report/examples/order-more/bo/gender.js.html +132 -0
  380. package/coverage/lcov-report/examples/order-more/bo/genders.js.html +99 -0
  381. package/coverage/lcov-report/examples/order-more/bo/index.html +578 -0
  382. package/coverage/lcov-report/examples/order-more/bo/inventory-level.js.html +162 -0
  383. package/coverage/lcov-report/examples/order-more/bo/inventory-levels.js.html +99 -0
  384. package/coverage/lcov-report/examples/order-more/bo/line-item.js.html +177 -0
  385. package/coverage/lcov-report/examples/order-more/bo/line-items.js.html +99 -0
  386. package/coverage/lcov-report/examples/order-more/bo/order.js.html +225 -0
  387. package/coverage/lcov-report/examples/order-more/bo/orders.js.html +99 -0
  388. package/coverage/lcov-report/examples/order-more/bo/parcel-event.js.html +135 -0
  389. package/coverage/lcov-report/examples/order-more/bo/parcel-events.js.html +99 -0
  390. package/coverage/lcov-report/examples/order-more/bo/parcel-line-item.js.html +150 -0
  391. package/coverage/lcov-report/examples/order-more/bo/parcel-line-items.js.html +99 -0
  392. package/coverage/lcov-report/examples/order-more/bo/parcel.js.html +132 -0
  393. package/coverage/lcov-report/examples/order-more/bo/parcels.js.html +99 -0
  394. package/coverage/lcov-report/examples/order-more/bo/physical-address.js.html +168 -0
  395. package/coverage/lcov-report/examples/order-more/bo/physical-addresses.js.html +108 -0
  396. package/coverage/lcov-report/examples/order-more/bo/product-variant-image.js.html +153 -0
  397. package/coverage/lcov-report/examples/order-more/bo/product-variant-images.js.html +99 -0
  398. package/coverage/lcov-report/examples/order-more/bo/product-variant.js.html +195 -0
  399. package/coverage/lcov-report/examples/order-more/bo/product-variants.js.html +99 -0
  400. package/coverage/lcov-report/examples/order-more/bo/product.js.html +165 -0
  401. package/coverage/lcov-report/examples/order-more/bo/products.js.html +99 -0
  402. package/coverage/lcov-report/examples/order-more/bo/refund.js.html +162 -0
  403. package/coverage/lcov-report/examples/order-more/bo/refunds.js.html +99 -0
  404. package/coverage/lcov-report/examples/order-more/bo/shipment-actual-product-variant.js.html +156 -0
  405. package/coverage/lcov-report/examples/order-more/bo/shipment-actual-product-variants.js.html +99 -0
  406. package/coverage/lcov-report/examples/order-more/bo/shipment.js.html +132 -0
  407. package/coverage/lcov-report/examples/order-more/bo/shipments.js.html +99 -0
  408. package/coverage/lcov-report/examples/order-more/bo/size.js.html +132 -0
  409. package/coverage/lcov-report/examples/order-more/bo/sizes.js.html +99 -0
  410. package/coverage/lcov-report/examples/order-more/bo/utm-medium.js.html +114 -0
  411. package/coverage/lcov-report/examples/order-more/bo/utm-source.js.html +114 -0
  412. package/coverage/lcov-report/examples/order-more/business-objects/actual-product-variant.js.html +153 -0
  413. package/coverage/lcov-report/examples/order-more/business-objects/actual-product-variant.ts.html +156 -0
  414. package/coverage/lcov-report/examples/order-more/business-objects/actual-product-variants.js.html +99 -0
  415. package/coverage/lcov-report/examples/order-more/business-objects/color.js.html +132 -0
  416. package/coverage/lcov-report/examples/order-more/business-objects/color.ts.html +174 -0
  417. package/coverage/lcov-report/examples/order-more/business-objects/colors.js.html +99 -0
  418. package/coverage/lcov-report/examples/order-more/business-objects/customer.js.html +132 -0
  419. package/coverage/lcov-report/examples/order-more/business-objects/customer.ts.html +156 -0
  420. package/coverage/lcov-report/examples/order-more/business-objects/customers.js.html +99 -0
  421. package/coverage/lcov-report/examples/order-more/business-objects/gender.js.html +132 -0
  422. package/coverage/lcov-report/examples/order-more/business-objects/gender.ts.html +162 -0
  423. package/coverage/lcov-report/examples/order-more/business-objects/genders.js.html +99 -0
  424. package/coverage/lcov-report/examples/order-more/business-objects/index.html +344 -0
  425. package/coverage/lcov-report/examples/order-more/business-objects/inventory-level.js.html +162 -0
  426. package/coverage/lcov-report/examples/order-more/business-objects/inventory-level.ts.html +231 -0
  427. package/coverage/lcov-report/examples/order-more/business-objects/inventory-levels.js.html +99 -0
  428. package/coverage/lcov-report/examples/order-more/business-objects/line-item.js.html +177 -0
  429. package/coverage/lcov-report/examples/order-more/business-objects/line-item.ts.html +267 -0
  430. package/coverage/lcov-report/examples/order-more/business-objects/line-items.js.html +99 -0
  431. package/coverage/lcov-report/examples/order-more/business-objects/order.js.html +225 -0
  432. package/coverage/lcov-report/examples/order-more/business-objects/order.ts.html +441 -0
  433. package/coverage/lcov-report/examples/order-more/business-objects/orders.js.html +99 -0
  434. package/coverage/lcov-report/examples/order-more/business-objects/parcel-event.js.html +135 -0
  435. package/coverage/lcov-report/examples/order-more/business-objects/parcel-event.ts.html +192 -0
  436. package/coverage/lcov-report/examples/order-more/business-objects/parcel-events.js.html +99 -0
  437. package/coverage/lcov-report/examples/order-more/business-objects/parcel-line-item.js.html +150 -0
  438. package/coverage/lcov-report/examples/order-more/business-objects/parcel-line-item.ts.html +192 -0
  439. package/coverage/lcov-report/examples/order-more/business-objects/parcel-line-items.js.html +99 -0
  440. package/coverage/lcov-report/examples/order-more/business-objects/parcel.js.html +132 -0
  441. package/coverage/lcov-report/examples/order-more/business-objects/parcel.ts.html +150 -0
  442. package/coverage/lcov-report/examples/order-more/business-objects/parcels.js.html +99 -0
  443. package/coverage/lcov-report/examples/order-more/business-objects/physical-address.js.html +168 -0
  444. package/coverage/lcov-report/examples/order-more/business-objects/physical-address.ts.html +246 -0
  445. package/coverage/lcov-report/examples/order-more/business-objects/physical-addresses.js.html +108 -0
  446. package/coverage/lcov-report/examples/order-more/business-objects/product-variant-image.js.html +153 -0
  447. package/coverage/lcov-report/examples/order-more/business-objects/product-variant-image.ts.html +201 -0
  448. package/coverage/lcov-report/examples/order-more/business-objects/product-variant-images.js.html +99 -0
  449. package/coverage/lcov-report/examples/order-more/business-objects/product-variant.js.html +195 -0
  450. package/coverage/lcov-report/examples/order-more/business-objects/product-variant.ts.html +327 -0
  451. package/coverage/lcov-report/examples/order-more/business-objects/product-variants.js.html +99 -0
  452. package/coverage/lcov-report/examples/order-more/business-objects/product.js.html +165 -0
  453. package/coverage/lcov-report/examples/order-more/business-objects/product.ts.html +237 -0
  454. package/coverage/lcov-report/examples/order-more/business-objects/products.js.html +99 -0
  455. package/coverage/lcov-report/examples/order-more/business-objects/refund.js.html +162 -0
  456. package/coverage/lcov-report/examples/order-more/business-objects/refund.ts.html +237 -0
  457. package/coverage/lcov-report/examples/order-more/business-objects/refunds.js.html +99 -0
  458. package/coverage/lcov-report/examples/order-more/business-objects/shipment-actual-product-variant.js.html +156 -0
  459. package/coverage/lcov-report/examples/order-more/business-objects/shipment-actual-product-variant.ts.html +210 -0
  460. package/coverage/lcov-report/examples/order-more/business-objects/shipment-actual-product-variants.js.html +99 -0
  461. package/coverage/lcov-report/examples/order-more/business-objects/shipment.js.html +132 -0
  462. package/coverage/lcov-report/examples/order-more/business-objects/shipment.ts.html +162 -0
  463. package/coverage/lcov-report/examples/order-more/business-objects/shipments.js.html +99 -0
  464. package/coverage/lcov-report/examples/order-more/business-objects/size.js.html +132 -0
  465. package/coverage/lcov-report/examples/order-more/business-objects/size.ts.html +162 -0
  466. package/coverage/lcov-report/examples/order-more/business-objects/sizes.js.html +99 -0
  467. package/coverage/lcov-report/examples/order-more/business-objects/utm-medium.js.html +114 -0
  468. package/coverage/lcov-report/examples/order-more/business-objects/utm-medium.ts.html +162 -0
  469. package/coverage/lcov-report/examples/order-more/business-objects/utm-source.js.html +114 -0
  470. package/coverage/lcov-report/examples/order-more/business-objects/utm-source.ts.html +168 -0
  471. package/coverage/lcov-report/examples/order-more/business-objects.js.html +147 -0
  472. package/coverage/lcov-report/examples/order-more/entities/actual-product-variant.ts.html +156 -0
  473. package/coverage/lcov-report/examples/order-more/entities/color.ts.html +174 -0
  474. package/coverage/lcov-report/examples/order-more/entities/customer.ts.html +156 -0
  475. package/coverage/lcov-report/examples/order-more/entities/gender.ts.html +162 -0
  476. package/coverage/lcov-report/examples/order-more/entities/index.html +344 -0
  477. package/coverage/lcov-report/examples/order-more/entities/inventory-level.ts.html +231 -0
  478. package/coverage/lcov-report/examples/order-more/entities/line-item.ts.html +267 -0
  479. package/coverage/lcov-report/examples/order-more/entities/order.ts.html +441 -0
  480. package/coverage/lcov-report/examples/order-more/entities/parcel-event.ts.html +192 -0
  481. package/coverage/lcov-report/examples/order-more/entities/parcel-line-item.ts.html +192 -0
  482. package/coverage/lcov-report/examples/order-more/entities/parcel.ts.html +150 -0
  483. package/coverage/lcov-report/examples/order-more/entities/physical-address.ts.html +246 -0
  484. package/coverage/lcov-report/examples/order-more/entities/product-variant-image.ts.html +201 -0
  485. package/coverage/lcov-report/examples/order-more/entities/product-variant.ts.html +327 -0
  486. package/coverage/lcov-report/examples/order-more/entities/product.ts.html +237 -0
  487. package/coverage/lcov-report/examples/order-more/entities/refund.ts.html +237 -0
  488. package/coverage/lcov-report/examples/order-more/entities/shipment-actual-product-variant.ts.html +210 -0
  489. package/coverage/lcov-report/examples/order-more/entities/shipment.ts.html +162 -0
  490. package/coverage/lcov-report/examples/order-more/entities/size.ts.html +162 -0
  491. package/coverage/lcov-report/examples/order-more/entities/utm-medium.ts.html +162 -0
  492. package/coverage/lcov-report/examples/order-more/entities/utm-source.ts.html +168 -0
  493. package/coverage/lcov-report/examples/order-more/index.html +97 -0
  494. package/coverage/lcov-report/examples/order-more/models/actual-product-variant.ts.html +156 -0
  495. package/coverage/lcov-report/examples/order-more/models/color.ts.html +174 -0
  496. package/coverage/lcov-report/examples/order-more/models/customer.ts.html +156 -0
  497. package/coverage/lcov-report/examples/order-more/models/gender.ts.html +162 -0
  498. package/coverage/lcov-report/examples/order-more/models/index.html +344 -0
  499. package/coverage/lcov-report/examples/order-more/models/inventory-level.ts.html +231 -0
  500. package/coverage/lcov-report/examples/order-more/models/line-item.ts.html +267 -0
  501. package/coverage/lcov-report/examples/order-more/models/order.ts.html +441 -0
  502. package/coverage/lcov-report/examples/order-more/models/parcel-event.ts.html +192 -0
  503. package/coverage/lcov-report/examples/order-more/models/parcel-line-item.ts.html +192 -0
  504. package/coverage/lcov-report/examples/order-more/models/parcel.ts.html +150 -0
  505. package/coverage/lcov-report/examples/order-more/models/physical-address.ts.html +246 -0
  506. package/coverage/lcov-report/examples/order-more/models/product-variant-image.ts.html +201 -0
  507. package/coverage/lcov-report/examples/order-more/models/product-variant.ts.html +327 -0
  508. package/coverage/lcov-report/examples/order-more/models/product.ts.html +237 -0
  509. package/coverage/lcov-report/examples/order-more/models/refund.ts.html +237 -0
  510. package/coverage/lcov-report/examples/order-more/models/shipment-actual-product-variant.ts.html +210 -0
  511. package/coverage/lcov-report/examples/order-more/models/shipment.ts.html +162 -0
  512. package/coverage/lcov-report/examples/order-more/models/size.ts.html +162 -0
  513. package/coverage/lcov-report/examples/order-more/models/utm-medium.ts.html +162 -0
  514. package/coverage/lcov-report/examples/order-more/models/utm-source.ts.html +168 -0
  515. package/coverage/lcov-report/examples/order-more/orm.js.html +216 -0
  516. package/coverage/lcov-report/examples/order-more/orm.ts.html +213 -0
  517. package/coverage/lcov-report/five/bo/base.js.html +84 -0
  518. package/coverage/lcov-report/five/bo/index.html +227 -0
  519. package/coverage/lcov-report/five/bo/line-item.js.html +135 -0
  520. package/coverage/lcov-report/five/bo/line-items.js.html +96 -0
  521. package/coverage/lcov-report/five/bo/order.js.html +132 -0
  522. package/coverage/lcov-report/five/bo/orders.js.html +96 -0
  523. package/coverage/lcov-report/five/bo/parcel-event.js.html +141 -0
  524. package/coverage/lcov-report/five/bo/parcel-events.js.html +96 -0
  525. package/coverage/lcov-report/five/bo/parcel-line-item.js.html +141 -0
  526. package/coverage/lcov-report/five/bo/parcel-line-items.js.html +96 -0
  527. package/coverage/lcov-report/five/bo/parcel.js.html +129 -0
  528. package/coverage/lcov-report/five/bo/parcels.js.html +96 -0
  529. package/coverage/lcov-report/five/business-objects.js.html +102 -0
  530. package/coverage/lcov-report/five/index.html +97 -0
  531. package/coverage/lcov-report/fixtures/index.html +110 -0
  532. package/coverage/lcov-report/fixtures/three.js.html +1335 -0
  533. package/coverage/lcov-report/fixtures/two.js.html +1035 -0
  534. package/coverage/lcov-report/index.html +578 -0
  535. package/coverage/lcov-report/prettify.css +1 -0
  536. package/coverage/lcov-report/prettify.js +2 -0
  537. package/coverage/lcov-report/six/bo/base.js.html +84 -0
  538. package/coverage/lcov-report/six/bo/customer.js.html +135 -0
  539. package/coverage/lcov-report/six/bo/customers.js.html +96 -0
  540. package/coverage/lcov-report/six/bo/index.html +214 -0
  541. package/coverage/lcov-report/six/bo/line-item.js.html +138 -0
  542. package/coverage/lcov-report/six/bo/order.js.html +138 -0
  543. package/coverage/lcov-report/six/bo/orders.js.html +96 -0
  544. package/coverage/lcov-report/six/bo/parcel-line-item.js.html +144 -0
  545. package/coverage/lcov-report/six/bo/parcel-line-items.js.html +96 -0
  546. package/coverage/lcov-report/six/bo/parcel.js.html +132 -0
  547. package/coverage/lcov-report/six/bo/parcels.js.html +96 -0
  548. package/coverage/lcov-report/six/business-objects.js.html +102 -0
  549. package/coverage/lcov-report/six/index.html +97 -0
  550. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  551. package/coverage/lcov-report/sorter.js +170 -0
  552. package/coverage/lcov-report/src/bo/base-bo-collection.js.html +114 -0
  553. package/coverage/lcov-report/src/bo/base-bo.js.html +1206 -0
  554. package/coverage/lcov-report/src/bo/index.html +110 -0
  555. package/coverage/lcov-report/src/bo.js.html +1248 -0
  556. package/coverage/lcov-report/src/business-object.js.html +1248 -0
  557. package/coverage/lcov-report/src/business-object.ts.html +1596 -0
  558. package/coverage/lcov-report/src/dao/base-dao.js.html +507 -0
  559. package/coverage/lcov-report/src/dao/index.html +97 -0
  560. package/coverage/lcov-report/src/factory.js.html +570 -0
  561. package/coverage/lcov-report/src/factory.ts.html +2268 -0
  562. package/coverage/lcov-report/src/index.html +110 -0
  563. package/coverage/lcov-report/src/index.js.html +219 -0
  564. package/coverage/lcov-report/src/index.ts.html +93 -0
  565. package/coverage/lcov-report/src/util/helpers.js.html +153 -0
  566. package/coverage/lcov-report/src/util/index.html +97 -0
  567. package/coverage/lcov-report/test-utils/blog/index.html +97 -0
  568. package/coverage/lcov-report/test-utils/blog/models/article.ts.html +264 -0
  569. package/coverage/lcov-report/test-utils/blog/models/article_tag.ts.html +192 -0
  570. package/coverage/lcov-report/test-utils/blog/models/index.html +136 -0
  571. package/coverage/lcov-report/test-utils/blog/models/person.ts.html +303 -0
  572. package/coverage/lcov-report/test-utils/blog/models/tag.ts.html +165 -0
  573. package/coverage/lcov-report/test-utils/blog/orm.ts.html +102 -0
  574. package/coverage/lcov-report/test-utils/five/bo/base.js.html +84 -0
  575. package/coverage/lcov-report/test-utils/five/bo/index.html +214 -0
  576. package/coverage/lcov-report/test-utils/five/bo/line-item.js.html +135 -0
  577. package/coverage/lcov-report/test-utils/five/bo/line-items.js.html +99 -0
  578. package/coverage/lcov-report/test-utils/five/bo/order.js.html +132 -0
  579. package/coverage/lcov-report/test-utils/five/bo/orders.js.html +99 -0
  580. package/coverage/lcov-report/test-utils/five/bo/parcel-event.js.html +135 -0
  581. package/coverage/lcov-report/test-utils/five/bo/parcel-events.js.html +99 -0
  582. package/coverage/lcov-report/test-utils/five/bo/parcel-line-item.js.html +150 -0
  583. package/coverage/lcov-report/test-utils/five/bo/parcel-line-items.js.html +99 -0
  584. package/coverage/lcov-report/test-utils/five/bo/parcel.js.html +132 -0
  585. package/coverage/lcov-report/test-utils/five/bo/parcels.js.html +99 -0
  586. package/coverage/lcov-report/test-utils/five/business-objects/index.html +149 -0
  587. package/coverage/lcov-report/test-utils/five/business-objects/line-item.js.html +135 -0
  588. package/coverage/lcov-report/test-utils/five/business-objects/line-item.ts.html +174 -0
  589. package/coverage/lcov-report/test-utils/five/business-objects/line-items.js.html +99 -0
  590. package/coverage/lcov-report/test-utils/five/business-objects/order.js.html +132 -0
  591. package/coverage/lcov-report/test-utils/five/business-objects/order.ts.html +165 -0
  592. package/coverage/lcov-report/test-utils/five/business-objects/orders.js.html +99 -0
  593. package/coverage/lcov-report/test-utils/five/business-objects/parcel-event.js.html +135 -0
  594. package/coverage/lcov-report/test-utils/five/business-objects/parcel-event.ts.html +192 -0
  595. package/coverage/lcov-report/test-utils/five/business-objects/parcel-events.js.html +99 -0
  596. package/coverage/lcov-report/test-utils/five/business-objects/parcel-line-item.js.html +150 -0
  597. package/coverage/lcov-report/test-utils/five/business-objects/parcel-line-item.ts.html +192 -0
  598. package/coverage/lcov-report/test-utils/five/business-objects/parcel-line-items.js.html +99 -0
  599. package/coverage/lcov-report/test-utils/five/business-objects/parcel.js.html +132 -0
  600. package/coverage/lcov-report/test-utils/five/business-objects/parcel.ts.html +150 -0
  601. package/coverage/lcov-report/test-utils/five/business-objects/parcels.js.html +99 -0
  602. package/coverage/lcov-report/test-utils/five/business-objects.js.html +102 -0
  603. package/coverage/lcov-report/test-utils/five/entities/index.html +149 -0
  604. package/coverage/lcov-report/test-utils/five/entities/line-item.ts.html +174 -0
  605. package/coverage/lcov-report/test-utils/five/entities/order.ts.html +165 -0
  606. package/coverage/lcov-report/test-utils/five/entities/parcel-event.ts.html +192 -0
  607. package/coverage/lcov-report/test-utils/five/entities/parcel-line-item.ts.html +192 -0
  608. package/coverage/lcov-report/test-utils/five/entities/parcel.ts.html +150 -0
  609. package/coverage/lcov-report/test-utils/five/index.html +97 -0
  610. package/coverage/lcov-report/test-utils/five/models/index.html +149 -0
  611. package/coverage/lcov-report/test-utils/five/models/line-item.ts.html +174 -0
  612. package/coverage/lcov-report/test-utils/five/models/order.ts.html +156 -0
  613. package/coverage/lcov-report/test-utils/five/models/parcel-event.ts.html +192 -0
  614. package/coverage/lcov-report/test-utils/five/models/parcel-line-item.ts.html +192 -0
  615. package/coverage/lcov-report/test-utils/five/models/parcel.ts.html +150 -0
  616. package/coverage/lcov-report/test-utils/five/orm.js.html +126 -0
  617. package/coverage/lcov-report/test-utils/five/orm.ts.html +120 -0
  618. package/coverage/lcov-report/test-utils/nine/bo/base.js.html +84 -0
  619. package/coverage/lcov-report/test-utils/nine/bo/feature-switch.js.html +132 -0
  620. package/coverage/lcov-report/test-utils/nine/bo/feature-switches.js.html +108 -0
  621. package/coverage/lcov-report/test-utils/nine/bo/index.html +110 -0
  622. package/coverage/lcov-report/test-utils/nine/business-objects/feature-switch.js.html +132 -0
  623. package/coverage/lcov-report/test-utils/nine/business-objects/feature-switch.ts.html +183 -0
  624. package/coverage/lcov-report/test-utils/nine/business-objects/feature-switches.js.html +108 -0
  625. package/coverage/lcov-report/test-utils/nine/business-objects/index.html +97 -0
  626. package/coverage/lcov-report/test-utils/nine/business-objects.js.html +90 -0
  627. package/coverage/lcov-report/test-utils/nine/entities/feature-switch.ts.html +183 -0
  628. package/coverage/lcov-report/test-utils/nine/entities/index.html +97 -0
  629. package/coverage/lcov-report/test-utils/nine/index.html +97 -0
  630. package/coverage/lcov-report/test-utils/nine/models/feature-switch.ts.html +183 -0
  631. package/coverage/lcov-report/test-utils/nine/models/index.html +97 -0
  632. package/coverage/lcov-report/test-utils/nine/orm.js.html +96 -0
  633. package/coverage/lcov-report/test-utils/nine/orm.ts.html +90 -0
  634. package/coverage/lcov-report/test-utils/order/index.html +97 -0
  635. package/coverage/lcov-report/test-utils/order/models/index.html +149 -0
  636. package/coverage/lcov-report/test-utils/order/models/line-item.ts.html +267 -0
  637. package/coverage/lcov-report/test-utils/order/models/order.ts.html +390 -0
  638. package/coverage/lcov-report/test-utils/order/models/product-variant.ts.html +273 -0
  639. package/coverage/lcov-report/test-utils/order/models/product.ts.html +228 -0
  640. package/coverage/lcov-report/test-utils/order/models/utm-source.ts.html +168 -0
  641. package/coverage/lcov-report/test-utils/order/orm.ts.html +123 -0
  642. package/coverage/lcov-report/test-utils/order-more/index.html +97 -0
  643. package/coverage/lcov-report/test-utils/order-more/models/actual-product-variant.ts.html +162 -0
  644. package/coverage/lcov-report/test-utils/order-more/models/color.ts.html +192 -0
  645. package/coverage/lcov-report/test-utils/order-more/models/customer.ts.html +156 -0
  646. package/coverage/lcov-report/test-utils/order-more/models/gender.ts.html +162 -0
  647. package/coverage/lcov-report/test-utils/order-more/models/index.html +344 -0
  648. package/coverage/lcov-report/test-utils/order-more/models/inventory-level.ts.html +231 -0
  649. package/coverage/lcov-report/test-utils/order-more/models/line-item.ts.html +267 -0
  650. package/coverage/lcov-report/test-utils/order-more/models/order.ts.html +441 -0
  651. package/coverage/lcov-report/test-utils/order-more/models/parcel-event.ts.html +192 -0
  652. package/coverage/lcov-report/test-utils/order-more/models/parcel-line-item.ts.html +192 -0
  653. package/coverage/lcov-report/test-utils/order-more/models/parcel.ts.html +150 -0
  654. package/coverage/lcov-report/test-utils/order-more/models/physical-address.ts.html +246 -0
  655. package/coverage/lcov-report/test-utils/order-more/models/product-variant-image.ts.html +201 -0
  656. package/coverage/lcov-report/test-utils/order-more/models/product-variant.ts.html +327 -0
  657. package/coverage/lcov-report/test-utils/order-more/models/product.ts.html +237 -0
  658. package/coverage/lcov-report/test-utils/order-more/models/refund.ts.html +237 -0
  659. package/coverage/lcov-report/test-utils/order-more/models/shipment-actual-product-variant.ts.html +216 -0
  660. package/coverage/lcov-report/test-utils/order-more/models/shipment.ts.html +174 -0
  661. package/coverage/lcov-report/test-utils/order-more/models/size.ts.html +162 -0
  662. package/coverage/lcov-report/test-utils/order-more/models/utm-medium.ts.html +162 -0
  663. package/coverage/lcov-report/test-utils/order-more/models/utm-source.ts.html +168 -0
  664. package/coverage/lcov-report/test-utils/order-more/orm.ts.html +213 -0
  665. package/coverage/lcov-report/test-utils/six/bo/base.js.html +84 -0
  666. package/coverage/lcov-report/test-utils/six/bo/customer.js.html +132 -0
  667. package/coverage/lcov-report/test-utils/six/bo/customers.js.html +99 -0
  668. package/coverage/lcov-report/test-utils/six/bo/index.html +201 -0
  669. package/coverage/lcov-report/test-utils/six/bo/line-item.js.html +135 -0
  670. package/coverage/lcov-report/test-utils/six/bo/order.js.html +135 -0
  671. package/coverage/lcov-report/test-utils/six/bo/orders.js.html +99 -0
  672. package/coverage/lcov-report/test-utils/six/bo/parcel-line-item.js.html +150 -0
  673. package/coverage/lcov-report/test-utils/six/bo/parcel-line-items.js.html +99 -0
  674. package/coverage/lcov-report/test-utils/six/bo/parcel.js.html +132 -0
  675. package/coverage/lcov-report/test-utils/six/bo/parcels.js.html +99 -0
  676. package/coverage/lcov-report/test-utils/six/business-objects/customer.js.html +132 -0
  677. package/coverage/lcov-report/test-utils/six/business-objects/customer.ts.html +156 -0
  678. package/coverage/lcov-report/test-utils/six/business-objects/customers.js.html +99 -0
  679. package/coverage/lcov-report/test-utils/six/business-objects/index.html +149 -0
  680. package/coverage/lcov-report/test-utils/six/business-objects/line-item.js.html +135 -0
  681. package/coverage/lcov-report/test-utils/six/business-objects/line-item.ts.html +174 -0
  682. package/coverage/lcov-report/test-utils/six/business-objects/order.js.html +135 -0
  683. package/coverage/lcov-report/test-utils/six/business-objects/order.ts.html +174 -0
  684. package/coverage/lcov-report/test-utils/six/business-objects/orders.js.html +99 -0
  685. package/coverage/lcov-report/test-utils/six/business-objects/parcel-line-item.js.html +150 -0
  686. package/coverage/lcov-report/test-utils/six/business-objects/parcel-line-item.ts.html +192 -0
  687. package/coverage/lcov-report/test-utils/six/business-objects/parcel-line-items.js.html +99 -0
  688. package/coverage/lcov-report/test-utils/six/business-objects/parcel.js.html +132 -0
  689. package/coverage/lcov-report/test-utils/six/business-objects/parcel.ts.html +150 -0
  690. package/coverage/lcov-report/test-utils/six/business-objects/parcels.js.html +99 -0
  691. package/coverage/lcov-report/test-utils/six/business-objects.js.html +102 -0
  692. package/coverage/lcov-report/test-utils/six/entities/customer.ts.html +156 -0
  693. package/coverage/lcov-report/test-utils/six/entities/index.html +149 -0
  694. package/coverage/lcov-report/test-utils/six/entities/line-item.ts.html +174 -0
  695. package/coverage/lcov-report/test-utils/six/entities/order.ts.html +174 -0
  696. package/coverage/lcov-report/test-utils/six/entities/parcel-line-item.ts.html +192 -0
  697. package/coverage/lcov-report/test-utils/six/entities/parcel.ts.html +150 -0
  698. package/coverage/lcov-report/test-utils/six/index.html +97 -0
  699. package/coverage/lcov-report/test-utils/six/models/customer.ts.html +156 -0
  700. package/coverage/lcov-report/test-utils/six/models/index.html +149 -0
  701. package/coverage/lcov-report/test-utils/six/models/line-item.ts.html +174 -0
  702. package/coverage/lcov-report/test-utils/six/models/order.ts.html +174 -0
  703. package/coverage/lcov-report/test-utils/six/models/parcel-line-item.ts.html +192 -0
  704. package/coverage/lcov-report/test-utils/six/models/parcel.ts.html +150 -0
  705. package/coverage/lcov-report/test-utils/six/orm.js.html +126 -0
  706. package/coverage/lcov-report/test-utils/six/orm.ts.html +120 -0
  707. package/coverage/lcov-report/test-utils/thirteen/bo/audience.js.html +132 -0
  708. package/coverage/lcov-report/test-utils/thirteen/bo/audiences.js.html +99 -0
  709. package/coverage/lcov-report/test-utils/thirteen/bo/base.js.html +84 -0
  710. package/coverage/lcov-report/test-utils/thirteen/bo/brand.js.html +132 -0
  711. package/coverage/lcov-report/test-utils/thirteen/bo/brands.js.html +99 -0
  712. package/coverage/lcov-report/test-utils/thirteen/bo/categories.js.html +108 -0
  713. package/coverage/lcov-report/test-utils/thirteen/bo/category.js.html +132 -0
  714. package/coverage/lcov-report/test-utils/thirteen/bo/index.html +292 -0
  715. package/coverage/lcov-report/test-utils/thirteen/bo/member.js.html +132 -0
  716. package/coverage/lcov-report/test-utils/thirteen/bo/members.js.html +99 -0
  717. package/coverage/lcov-report/test-utils/thirteen/bo/passion.js.html +132 -0
  718. package/coverage/lcov-report/test-utils/thirteen/bo/passions.js.html +99 -0
  719. package/coverage/lcov-report/test-utils/thirteen/bo/product.js.html +135 -0
  720. package/coverage/lcov-report/test-utils/thirteen/bo/products.js.html +99 -0
  721. package/coverage/lcov-report/test-utils/thirteen/bo/recommendation-audience.js.html +150 -0
  722. package/coverage/lcov-report/test-utils/thirteen/bo/recommendation-audiences.js.html +99 -0
  723. package/coverage/lcov-report/test-utils/thirteen/bo/recommendation.js.html +168 -0
  724. package/coverage/lcov-report/test-utils/thirteen/bo/recommendations.js.html +99 -0
  725. package/coverage/lcov-report/test-utils/thirteen/business-objects/audience.js.html +132 -0
  726. package/coverage/lcov-report/test-utils/thirteen/business-objects/audience.ts.html +156 -0
  727. package/coverage/lcov-report/test-utils/thirteen/business-objects/audiences.js.html +99 -0
  728. package/coverage/lcov-report/test-utils/thirteen/business-objects/brand.js.html +132 -0
  729. package/coverage/lcov-report/test-utils/thirteen/business-objects/brand.ts.html +156 -0
  730. package/coverage/lcov-report/test-utils/thirteen/business-objects/brands.js.html +99 -0
  731. package/coverage/lcov-report/test-utils/thirteen/business-objects/categories.js.html +108 -0
  732. package/coverage/lcov-report/test-utils/thirteen/business-objects/category.js.html +132 -0
  733. package/coverage/lcov-report/test-utils/thirteen/business-objects/category.ts.html +156 -0
  734. package/coverage/lcov-report/test-utils/thirteen/business-objects/index.html +188 -0
  735. package/coverage/lcov-report/test-utils/thirteen/business-objects/member.js.html +132 -0
  736. package/coverage/lcov-report/test-utils/thirteen/business-objects/member.ts.html +156 -0
  737. package/coverage/lcov-report/test-utils/thirteen/business-objects/members.js.html +99 -0
  738. package/coverage/lcov-report/test-utils/thirteen/business-objects/passion.js.html +132 -0
  739. package/coverage/lcov-report/test-utils/thirteen/business-objects/passion.ts.html +156 -0
  740. package/coverage/lcov-report/test-utils/thirteen/business-objects/passions.js.html +99 -0
  741. package/coverage/lcov-report/test-utils/thirteen/business-objects/product.js.html +135 -0
  742. package/coverage/lcov-report/test-utils/thirteen/business-objects/product.ts.html +174 -0
  743. package/coverage/lcov-report/test-utils/thirteen/business-objects/products.js.html +99 -0
  744. package/coverage/lcov-report/test-utils/thirteen/business-objects/recommendation-audience.js.html +150 -0
  745. package/coverage/lcov-report/test-utils/thirteen/business-objects/recommendation-audience.ts.html +192 -0
  746. package/coverage/lcov-report/test-utils/thirteen/business-objects/recommendation-audiences.js.html +99 -0
  747. package/coverage/lcov-report/test-utils/thirteen/business-objects/recommendation.js.html +168 -0
  748. package/coverage/lcov-report/test-utils/thirteen/business-objects/recommendation.ts.html +249 -0
  749. package/coverage/lcov-report/test-utils/thirteen/business-objects/recommendations.js.html +99 -0
  750. package/coverage/lcov-report/test-utils/thirteen/business-objects.js.html +111 -0
  751. package/coverage/lcov-report/test-utils/thirteen/entities/audience.ts.html +156 -0
  752. package/coverage/lcov-report/test-utils/thirteen/entities/brand.ts.html +156 -0
  753. package/coverage/lcov-report/test-utils/thirteen/entities/category.ts.html +156 -0
  754. package/coverage/lcov-report/test-utils/thirteen/entities/index.html +188 -0
  755. package/coverage/lcov-report/test-utils/thirteen/entities/member.ts.html +156 -0
  756. package/coverage/lcov-report/test-utils/thirteen/entities/passion.ts.html +156 -0
  757. package/coverage/lcov-report/test-utils/thirteen/entities/product.ts.html +174 -0
  758. package/coverage/lcov-report/test-utils/thirteen/entities/recommendation-audience.ts.html +192 -0
  759. package/coverage/lcov-report/test-utils/thirteen/entities/recommendation.ts.html +249 -0
  760. package/coverage/lcov-report/test-utils/thirteen/index.html +97 -0
  761. package/coverage/lcov-report/test-utils/thirteen/models/audience.ts.html +150 -0
  762. package/coverage/lcov-report/test-utils/thirteen/models/brand.ts.html +150 -0
  763. package/coverage/lcov-report/test-utils/thirteen/models/category.ts.html +150 -0
  764. package/coverage/lcov-report/test-utils/thirteen/models/index.html +188 -0
  765. package/coverage/lcov-report/test-utils/thirteen/models/member.ts.html +150 -0
  766. package/coverage/lcov-report/test-utils/thirteen/models/passion.ts.html +150 -0
  767. package/coverage/lcov-report/test-utils/thirteen/models/product.ts.html +174 -0
  768. package/coverage/lcov-report/test-utils/thirteen/models/recommendation-audience.ts.html +198 -0
  769. package/coverage/lcov-report/test-utils/thirteen/models/recommendation.ts.html +249 -0
  770. package/coverage/lcov-report/test-utils/thirteen/orm.js.html +144 -0
  771. package/coverage/lcov-report/test-utils/thirteen/orm.ts.html +138 -0
  772. package/coverage/lcov-report/test-utils/three/index.html +97 -0
  773. package/coverage/lcov-report/test-utils/three/results.js.html +1335 -0
  774. package/coverage/lcov-report/test-utils/twelve/bo/base.js.html +84 -0
  775. package/coverage/lcov-report/test-utils/twelve/bo/index.html +136 -0
  776. package/coverage/lcov-report/test-utils/twelve/bo/member.js.html +126 -0
  777. package/coverage/lcov-report/test-utils/twelve/bo/members.js.html +99 -0
  778. package/coverage/lcov-report/test-utils/twelve/bo/prompt.js.html +138 -0
  779. package/coverage/lcov-report/test-utils/twelve/bo/prompts.js.html +99 -0
  780. package/coverage/lcov-report/test-utils/twelve/business-objects/index.html +110 -0
  781. package/coverage/lcov-report/test-utils/twelve/business-objects/member.js.html +126 -0
  782. package/coverage/lcov-report/test-utils/twelve/business-objects/member.ts.html +156 -0
  783. package/coverage/lcov-report/test-utils/twelve/business-objects/members.js.html +99 -0
  784. package/coverage/lcov-report/test-utils/twelve/business-objects/prompt.js.html +138 -0
  785. package/coverage/lcov-report/test-utils/twelve/business-objects/prompt.ts.html +189 -0
  786. package/coverage/lcov-report/test-utils/twelve/business-objects/prompts.js.html +99 -0
  787. package/coverage/lcov-report/test-utils/twelve/business-objects.js.html +93 -0
  788. package/coverage/lcov-report/test-utils/twelve/entities/index.html +110 -0
  789. package/coverage/lcov-report/test-utils/twelve/entities/member.ts.html +156 -0
  790. package/coverage/lcov-report/test-utils/twelve/entities/prompt.ts.html +189 -0
  791. package/coverage/lcov-report/test-utils/twelve/index.html +97 -0
  792. package/coverage/lcov-report/test-utils/twelve/models/index.html +110 -0
  793. package/coverage/lcov-report/test-utils/twelve/models/member.ts.html +150 -0
  794. package/coverage/lcov-report/test-utils/twelve/models/prompt.ts.html +189 -0
  795. package/coverage/lcov-report/test-utils/twelve/orm.js.html +99 -0
  796. package/coverage/lcov-report/test-utils/twelve/orm.ts.html +93 -0
  797. package/coverage/lcov-report/test-utils/two/index.html +97 -0
  798. package/coverage/lcov-report/test-utils/two/results.js.html +1035 -0
  799. package/coverage/lcov-report/util/helpers.js.html +153 -0
  800. package/coverage/lcov-report/util/index.html +97 -0
  801. package/coverage/lcov.info +4087 -0
  802. package/dist/example/app.d.ts +1 -0
  803. package/dist/example/app.js +14 -0
  804. package/dist/example/data-access/person.d.ts +2 -0
  805. package/dist/example/data-access/person.js +21 -0
  806. package/dist/example/factories/db.d.ts +2 -0
  807. package/dist/example/factories/db.js +16 -0
  808. package/dist/example/factories/orm.d.ts +47 -0
  809. package/dist/example/factories/orm.js +12 -0
  810. package/dist/example/models/employer.d.ts +23 -0
  811. package/dist/example/models/employer.js +25 -0
  812. package/dist/example/models/job.d.ts +35 -0
  813. package/dist/example/models/job.js +38 -0
  814. package/dist/example/models/person.d.ts +25 -0
  815. package/dist/example/models/person.js +31 -0
  816. package/dist/src/factory.d.ts +99 -0
  817. package/dist/src/factory.js +512 -0
  818. package/dist/src/factory.spec.d.ts +1 -0
  819. package/dist/src/factory.spec.js +566 -0
  820. package/dist/src/index.d.ts +1 -0
  821. package/dist/src/index.js +5 -0
  822. package/dist/test-utils/blog/models/article.d.ts +30 -0
  823. package/dist/test-utils/blog/models/article.js +49 -0
  824. package/dist/test-utils/blog/models/article.ts +65 -0
  825. package/dist/test-utils/blog/models/article_tag.d.ts +23 -0
  826. package/dist/test-utils/blog/models/article_tag.js +33 -0
  827. package/dist/test-utils/blog/models/article_tag.ts +41 -0
  828. package/dist/test-utils/blog/models/person.d.ts +43 -0
  829. package/dist/test-utils/blog/models/person.js +48 -0
  830. package/dist/test-utils/blog/models/person.ts +78 -0
  831. package/dist/test-utils/blog/models/tag.d.ts +19 -0
  832. package/dist/test-utils/blog/models/tag.js +25 -0
  833. package/dist/test-utils/blog/models/tag.ts +32 -0
  834. package/dist/test-utils/blog/orm.d.ts +2 -0
  835. package/dist/test-utils/blog/orm.js +12 -0
  836. package/dist/test-utils/blog/orm.ts +11 -0
  837. package/dist/test-utils/eight/results.json +128 -0
  838. package/dist/test-utils/eleven/results.json +818 -0
  839. package/dist/test-utils/five/models/line-item.d.ts +20 -0
  840. package/dist/test-utils/five/models/line-item.js +29 -0
  841. package/dist/test-utils/five/models/line-item.ts +35 -0
  842. package/dist/test-utils/five/models/order.d.ts +18 -0
  843. package/dist/test-utils/five/models/order.js +24 -0
  844. package/dist/test-utils/five/models/order.ts +29 -0
  845. package/dist/test-utils/five/models/parcel-event.d.ts +22 -0
  846. package/dist/test-utils/five/models/parcel-event.js +33 -0
  847. package/dist/test-utils/five/models/parcel-event.ts +41 -0
  848. package/dist/test-utils/five/models/parcel-line-item.d.ts +23 -0
  849. package/dist/test-utils/five/models/parcel-line-item.js +33 -0
  850. package/dist/test-utils/five/models/parcel-line-item.ts +41 -0
  851. package/dist/test-utils/five/models/parcel.d.ts +17 -0
  852. package/dist/test-utils/five/models/parcel.js +23 -0
  853. package/dist/test-utils/five/models/parcel.ts +27 -0
  854. package/dist/test-utils/five/orm.d.ts +47 -0
  855. package/dist/test-utils/five/orm.js +19 -0
  856. package/dist/test-utils/five/orm.ts +17 -0
  857. package/dist/test-utils/five/results.json +58 -0
  858. package/dist/test-utils/four/results.json +772 -0
  859. package/dist/test-utils/nine/models/feature-switch.d.ts +25 -0
  860. package/dist/test-utils/nine/models/feature-switch.js +26 -0
  861. package/dist/test-utils/nine/models/feature-switch.ts +38 -0
  862. package/dist/test-utils/nine/orm.d.ts +47 -0
  863. package/dist/test-utils/nine/orm.js +9 -0
  864. package/dist/test-utils/nine/orm.ts +7 -0
  865. package/dist/test-utils/nine/results.json +12 -0
  866. package/dist/test-utils/one/results.json +386 -0
  867. package/dist/test-utils/order/models/line-item.d.ts +31 -0
  868. package/dist/test-utils/order/models/line-item.js +50 -0
  869. package/dist/test-utils/order/models/line-item.ts +66 -0
  870. package/dist/test-utils/order/models/order.d.ts +42 -0
  871. package/dist/test-utils/order/models/order.js +79 -0
  872. package/dist/test-utils/order/models/order.ts +107 -0
  873. package/dist/test-utils/order/models/product-variant.d.ts +31 -0
  874. package/dist/test-utils/order/models/product-variant.js +51 -0
  875. package/dist/test-utils/order/models/product-variant.ts +68 -0
  876. package/dist/test-utils/order/models/product.d.ts +25 -0
  877. package/dist/test-utils/order/models/product.js +41 -0
  878. package/dist/test-utils/order/models/product.ts +53 -0
  879. package/dist/test-utils/order/models/utm-source.d.ts +20 -0
  880. package/dist/test-utils/order/models/utm-source.js +26 -0
  881. package/dist/test-utils/order/models/utm-source.ts +33 -0
  882. package/dist/test-utils/order/orm.d.ts +47 -0
  883. package/dist/test-utils/order/orm.js +19 -0
  884. package/dist/test-utils/order/orm.ts +18 -0
  885. package/dist/test-utils/order-more/models/actual-product-variant.d.ts +18 -0
  886. package/dist/test-utils/order-more/models/actual-product-variant.js +24 -0
  887. package/dist/test-utils/order-more/models/actual-product-variant.ts +31 -0
  888. package/dist/test-utils/order-more/models/color.d.ts +21 -0
  889. package/dist/test-utils/order-more/models/color.js +33 -0
  890. package/dist/test-utils/order-more/models/color.ts +41 -0
  891. package/dist/test-utils/order-more/models/customer.d.ts +18 -0
  892. package/dist/test-utils/order-more/models/customer.js +24 -0
  893. package/dist/test-utils/order-more/models/customer.ts +29 -0
  894. package/dist/test-utils/order-more/models/gender.d.ts +19 -0
  895. package/dist/test-utils/order-more/models/gender.js +25 -0
  896. package/dist/test-utils/order-more/models/gender.ts +31 -0
  897. package/dist/test-utils/order-more/models/inventory-level.d.ts +27 -0
  898. package/dist/test-utils/order-more/models/inventory-level.js +41 -0
  899. package/dist/test-utils/order-more/models/inventory-level.ts +54 -0
  900. package/dist/test-utils/order-more/models/line-item.d.ts +31 -0
  901. package/dist/test-utils/order-more/models/line-item.js +50 -0
  902. package/dist/test-utils/order-more/models/line-item.ts +66 -0
  903. package/dist/test-utils/order-more/models/order.d.ts +50 -0
  904. package/dist/test-utils/order-more/models/order.js +90 -0
  905. package/dist/test-utils/order-more/models/order.ts +124 -0
  906. package/dist/test-utils/order-more/models/parcel-event.d.ts +22 -0
  907. package/dist/test-utils/order-more/models/parcel-event.js +33 -0
  908. package/dist/test-utils/order-more/models/parcel-event.ts +41 -0
  909. package/dist/test-utils/order-more/models/parcel-line-item.d.ts +23 -0
  910. package/dist/test-utils/order-more/models/parcel-line-item.js +33 -0
  911. package/dist/test-utils/order-more/models/parcel-line-item.ts +41 -0
  912. package/dist/test-utils/order-more/models/parcel.d.ts +17 -0
  913. package/dist/test-utils/order-more/models/parcel.js +23 -0
  914. package/dist/test-utils/order-more/models/parcel.ts +27 -0
  915. package/dist/test-utils/order-more/models/physical-address.d.ts +27 -0
  916. package/dist/test-utils/order-more/models/physical-address.js +45 -0
  917. package/dist/test-utils/order-more/models/physical-address.ts +59 -0
  918. package/dist/test-utils/order-more/models/product-variant-image.d.ts +23 -0
  919. package/dist/test-utils/order-more/models/product-variant-image.js +35 -0
  920. package/dist/test-utils/order-more/models/product-variant-image.ts +44 -0
  921. package/dist/test-utils/order-more/models/product-variant.d.ts +41 -0
  922. package/dist/test-utils/order-more/models/product-variant.js +63 -0
  923. package/dist/test-utils/order-more/models/product-variant.ts +86 -0
  924. package/dist/test-utils/order-more/models/product.d.ts +26 -0
  925. package/dist/test-utils/order-more/models/product.js +43 -0
  926. package/dist/test-utils/order-more/models/product.ts +56 -0
  927. package/dist/test-utils/order-more/models/refund.d.ts +27 -0
  928. package/dist/test-utils/order-more/models/refund.js +43 -0
  929. package/dist/test-utils/order-more/models/refund.ts +56 -0
  930. package/dist/test-utils/order-more/models/shipment-actual-product-variant.d.ts +25 -0
  931. package/dist/test-utils/order-more/models/shipment-actual-product-variant.js +37 -0
  932. package/dist/test-utils/order-more/models/shipment-actual-product-variant.ts +49 -0
  933. package/dist/test-utils/order-more/models/shipment.d.ts +19 -0
  934. package/dist/test-utils/order-more/models/shipment.js +29 -0
  935. package/dist/test-utils/order-more/models/shipment.ts +35 -0
  936. package/dist/test-utils/order-more/models/size.d.ts +19 -0
  937. package/dist/test-utils/order-more/models/size.js +25 -0
  938. package/dist/test-utils/order-more/models/size.ts +31 -0
  939. package/dist/test-utils/order-more/models/utm-medium.d.ts +19 -0
  940. package/dist/test-utils/order-more/models/utm-medium.js +25 -0
  941. package/dist/test-utils/order-more/models/utm-medium.ts +31 -0
  942. package/dist/test-utils/order-more/models/utm-source.d.ts +20 -0
  943. package/dist/test-utils/order-more/models/utm-source.js +26 -0
  944. package/dist/test-utils/order-more/models/utm-source.ts +33 -0
  945. package/dist/test-utils/order-more/orm.d.ts +47 -0
  946. package/dist/test-utils/order-more/orm.js +49 -0
  947. package/dist/test-utils/order-more/orm.ts +48 -0
  948. package/dist/test-utils/seven/results.json +32 -0
  949. package/dist/test-utils/six/models/customer.d.ts +18 -0
  950. package/dist/test-utils/six/models/customer.js +24 -0
  951. package/dist/test-utils/six/models/customer.ts +29 -0
  952. package/dist/test-utils/six/models/line-item.d.ts +20 -0
  953. package/dist/test-utils/six/models/line-item.js +29 -0
  954. package/dist/test-utils/six/models/line-item.ts +35 -0
  955. package/dist/test-utils/six/models/order.d.ts +20 -0
  956. package/dist/test-utils/six/models/order.js +29 -0
  957. package/dist/test-utils/six/models/order.ts +35 -0
  958. package/dist/test-utils/six/models/parcel-line-item.d.ts +23 -0
  959. package/dist/test-utils/six/models/parcel-line-item.js +33 -0
  960. package/dist/test-utils/six/models/parcel-line-item.ts +41 -0
  961. package/dist/test-utils/six/models/parcel.d.ts +17 -0
  962. package/dist/test-utils/six/models/parcel.js +23 -0
  963. package/dist/test-utils/six/models/parcel.ts +27 -0
  964. package/dist/test-utils/six/orm.d.ts +47 -0
  965. package/dist/test-utils/six/orm.js +19 -0
  966. package/dist/test-utils/six/orm.ts +17 -0
  967. package/dist/test-utils/six/results.json +26 -0
  968. package/dist/test-utils/ten/results.json +899 -0
  969. package/dist/test-utils/thirteen/models/audience.d.ts +17 -0
  970. package/dist/test-utils/thirteen/models/audience.js +23 -0
  971. package/dist/test-utils/thirteen/models/audience.ts +27 -0
  972. package/dist/test-utils/thirteen/models/brand.d.ts +17 -0
  973. package/dist/test-utils/thirteen/models/brand.js +23 -0
  974. package/dist/test-utils/thirteen/models/brand.ts +27 -0
  975. package/dist/test-utils/thirteen/models/category.d.ts +17 -0
  976. package/dist/test-utils/thirteen/models/category.js +23 -0
  977. package/dist/test-utils/thirteen/models/category.ts +27 -0
  978. package/dist/test-utils/thirteen/models/member.d.ts +17 -0
  979. package/dist/test-utils/thirteen/models/member.js +23 -0
  980. package/dist/test-utils/thirteen/models/member.ts +27 -0
  981. package/dist/test-utils/thirteen/models/passion.d.ts +17 -0
  982. package/dist/test-utils/thirteen/models/passion.js +23 -0
  983. package/dist/test-utils/thirteen/models/passion.ts +27 -0
  984. package/dist/test-utils/thirteen/models/product.d.ts +20 -0
  985. package/dist/test-utils/thirteen/models/product.js +29 -0
  986. package/dist/test-utils/thirteen/models/product.ts +35 -0
  987. package/dist/test-utils/thirteen/models/recommendation-audience.d.ts +23 -0
  988. package/dist/test-utils/thirteen/models/recommendation-audience.js +33 -0
  989. package/dist/test-utils/thirteen/models/recommendation-audience.ts +43 -0
  990. package/dist/test-utils/thirteen/models/recommendation.d.ts +32 -0
  991. package/dist/test-utils/thirteen/models/recommendation.js +45 -0
  992. package/dist/test-utils/thirteen/models/recommendation.ts +60 -0
  993. package/dist/test-utils/thirteen/orm.d.ts +47 -0
  994. package/dist/test-utils/thirteen/orm.js +25 -0
  995. package/dist/test-utils/thirteen/orm.ts +23 -0
  996. package/dist/test-utils/thirteen/results.json +74 -0
  997. package/dist/test-utils/three/results.js +422 -0
  998. package/dist/test-utils/twelve/models/member.d.ts +17 -0
  999. package/dist/test-utils/twelve/models/member.js +23 -0
  1000. package/dist/test-utils/twelve/models/member.ts +27 -0
  1001. package/dist/test-utils/twelve/models/prompt.d.ts +22 -0
  1002. package/dist/test-utils/twelve/models/prompt.js +32 -0
  1003. package/dist/test-utils/twelve/models/prompt.ts +40 -0
  1004. package/dist/test-utils/twelve/orm.d.ts +47 -0
  1005. package/dist/test-utils/twelve/orm.js +10 -0
  1006. package/dist/test-utils/twelve/orm.ts +8 -0
  1007. package/dist/test-utils/twelve/results.json +8 -0
  1008. package/dist/test-utils/two/results.js +322 -0
  1009. package/example/README.md +3 -0
  1010. package/example/app.ts +12 -0
  1011. package/example/data-access/person.ts +16 -0
  1012. package/example/factories/db.ts +11 -0
  1013. package/example/factories/orm.ts +10 -0
  1014. package/example/models/employer.ts +36 -0
  1015. package/example/models/job.ts +59 -0
  1016. package/example/models/person.ts +42 -0
  1017. package/package.json +18 -7
  1018. package/src/factory.spec.ts +1048 -0
  1019. package/src/factory.ts +733 -0
  1020. package/src/index.ts +8 -0
  1021. package/test-utils/blog/models/article.ts +65 -0
  1022. package/test-utils/blog/models/article_tag.ts +41 -0
  1023. package/test-utils/blog/models/person.ts +78 -0
  1024. package/test-utils/blog/models/tag.ts +32 -0
  1025. package/test-utils/blog/orm.ts +11 -0
  1026. package/test-utils/five/models/line-item.ts +35 -0
  1027. package/test-utils/five/models/order.ts +29 -0
  1028. package/test-utils/five/models/parcel-event.ts +41 -0
  1029. package/test-utils/five/models/parcel-line-item.ts +41 -0
  1030. package/test-utils/five/models/parcel.ts +27 -0
  1031. package/test-utils/five/orm.ts +17 -0
  1032. package/test-utils/nine/models/feature-switch.ts +38 -0
  1033. package/test-utils/nine/orm.ts +7 -0
  1034. package/test-utils/order/models/line-item.ts +66 -0
  1035. package/test-utils/order/models/order.ts +107 -0
  1036. package/test-utils/order/models/product-variant.ts +68 -0
  1037. package/test-utils/order/models/product.ts +53 -0
  1038. package/test-utils/order/models/utm-source.ts +33 -0
  1039. package/test-utils/order/orm.ts +18 -0
  1040. package/test-utils/order-more/models/actual-product-variant.ts +31 -0
  1041. package/test-utils/order-more/models/color.ts +41 -0
  1042. package/test-utils/order-more/models/customer.ts +29 -0
  1043. package/test-utils/order-more/models/gender.ts +31 -0
  1044. package/test-utils/order-more/models/inventory-level.ts +54 -0
  1045. package/test-utils/order-more/models/line-item.ts +66 -0
  1046. package/test-utils/order-more/models/order.ts +124 -0
  1047. package/test-utils/order-more/models/parcel-event.ts +41 -0
  1048. package/test-utils/order-more/models/parcel-line-item.ts +41 -0
  1049. package/test-utils/order-more/models/parcel.ts +27 -0
  1050. package/test-utils/order-more/models/physical-address.ts +59 -0
  1051. package/test-utils/order-more/models/product-variant-image.ts +44 -0
  1052. package/test-utils/order-more/models/product-variant.ts +86 -0
  1053. package/test-utils/order-more/models/product.ts +56 -0
  1054. package/test-utils/order-more/models/refund.ts +56 -0
  1055. package/test-utils/order-more/models/shipment-actual-product-variant.ts +49 -0
  1056. package/test-utils/order-more/models/shipment.ts +35 -0
  1057. package/test-utils/order-more/models/size.ts +31 -0
  1058. package/test-utils/order-more/models/utm-medium.ts +31 -0
  1059. package/test-utils/order-more/models/utm-source.ts +33 -0
  1060. package/test-utils/order-more/orm.ts +48 -0
  1061. package/test-utils/six/models/customer.ts +29 -0
  1062. package/test-utils/six/models/line-item.ts +35 -0
  1063. package/test-utils/six/models/order.ts +35 -0
  1064. package/test-utils/six/models/parcel-line-item.ts +41 -0
  1065. package/test-utils/six/models/parcel.ts +27 -0
  1066. package/test-utils/six/orm.ts +17 -0
  1067. package/test-utils/thirteen/models/audience.ts +27 -0
  1068. package/test-utils/thirteen/models/brand.ts +27 -0
  1069. package/test-utils/thirteen/models/category.ts +27 -0
  1070. package/test-utils/thirteen/models/member.ts +27 -0
  1071. package/test-utils/thirteen/models/passion.ts +27 -0
  1072. package/test-utils/thirteen/models/product.ts +35 -0
  1073. package/test-utils/thirteen/models/recommendation-audience.ts +43 -0
  1074. package/test-utils/thirteen/models/recommendation.ts +60 -0
  1075. package/test-utils/thirteen/orm.ts +23 -0
  1076. package/test-utils/twelve/models/member.ts +27 -0
  1077. package/test-utils/twelve/models/prompt.ts +40 -0
  1078. package/test-utils/twelve/orm.ts +8 -0
  1079. package/tsconfig.json +15 -0
  1080. package/examples/basic/README.md +0 -3
  1081. package/examples/basic/bo/person.js +0 -14
  1082. package/examples/basic/dao/person.js +0 -20
  1083. package/examples/basic/db.js +0 -16
  1084. package/examples/basic/orm.js +0 -8
  1085. package/examples/blog/bo/article.js +0 -35
  1086. package/examples/blog/bo/article_tag.js +0 -27
  1087. package/examples/blog/bo/article_tags.js +0 -10
  1088. package/examples/blog/bo/articles.js +0 -10
  1089. package/examples/blog/bo/person.js +0 -28
  1090. package/examples/blog/bo/tag.js +0 -15
  1091. package/examples/blog/business-objects.js +0 -1
  1092. package/examples/blog/orm.js +0 -14
  1093. package/examples/order/bo/line-item.js +0 -36
  1094. package/examples/order/bo/line-items.js +0 -10
  1095. package/examples/order/bo/order.js +0 -47
  1096. package/examples/order/bo/orders.js +0 -10
  1097. package/examples/order/bo/product-variant.js +0 -36
  1098. package/examples/order/bo/product-variants.js +0 -10
  1099. package/examples/order/bo/product.js +0 -31
  1100. package/examples/order/bo/products.js +0 -10
  1101. package/examples/order/bo/utm-source.js +0 -15
  1102. package/examples/order/orm.js +0 -20
  1103. package/examples/order-more/bo/actual-product-variant.js +0 -28
  1104. package/examples/order-more/bo/actual-product-variants.js +0 -10
  1105. package/examples/order-more/bo/color.js +0 -21
  1106. package/examples/order-more/bo/colors.js +0 -10
  1107. package/examples/order-more/bo/customer.js +0 -21
  1108. package/examples/order-more/bo/customers.js +0 -10
  1109. package/examples/order-more/bo/gender.js +0 -21
  1110. package/examples/order-more/bo/genders.js +0 -10
  1111. package/examples/order-more/bo/inventory-level.js +0 -31
  1112. package/examples/order-more/bo/inventory-levels.js +0 -10
  1113. package/examples/order-more/bo/line-item.js +0 -36
  1114. package/examples/order-more/bo/line-items.js +0 -10
  1115. package/examples/order-more/bo/order.js +0 -52
  1116. package/examples/order-more/bo/orders.js +0 -10
  1117. package/examples/order-more/bo/parcel-event.js +0 -22
  1118. package/examples/order-more/bo/parcel-events.js +0 -10
  1119. package/examples/order-more/bo/parcel-line-item.js +0 -27
  1120. package/examples/order-more/bo/parcel-line-items.js +0 -10
  1121. package/examples/order-more/bo/parcel.js +0 -21
  1122. package/examples/order-more/bo/parcels.js +0 -10
  1123. package/examples/order-more/bo/physical-address.js +0 -33
  1124. package/examples/order-more/bo/physical-addresses.js +0 -13
  1125. package/examples/order-more/bo/product-variant-image.js +0 -28
  1126. package/examples/order-more/bo/product-variant-images.js +0 -10
  1127. package/examples/order-more/bo/product-variant.js +0 -42
  1128. package/examples/order-more/bo/product-variants.js +0 -10
  1129. package/examples/order-more/bo/product.js +0 -32
  1130. package/examples/order-more/bo/products.js +0 -10
  1131. package/examples/order-more/bo/refund.js +0 -31
  1132. package/examples/order-more/bo/refunds.js +0 -10
  1133. package/examples/order-more/bo/shipment-actual-product-variant.js +0 -29
  1134. package/examples/order-more/bo/shipment-actual-product-variants.js +0 -10
  1135. package/examples/order-more/bo/shipment.js +0 -21
  1136. package/examples/order-more/bo/shipments.js +0 -10
  1137. package/examples/order-more/bo/size.js +0 -21
  1138. package/examples/order-more/bo/sizes.js +0 -10
  1139. package/examples/order-more/bo/utm-medium.js +0 -15
  1140. package/examples/order-more/bo/utm-source.js +0 -15
  1141. package/examples/order-more/orm.js +0 -49
  1142. package/src/bo.js +0 -393
  1143. package/src/bo.spec.js +0 -583
  1144. package/src/factory.js +0 -167
  1145. package/src/factory.spec.js +0 -11
  1146. package/src/index.js +0 -50
  1147. package/test-utils/five/bo/base.js +0 -5
  1148. package/test-utils/five/bo/line-item.js +0 -22
  1149. package/test-utils/five/bo/line-items.js +0 -10
  1150. package/test-utils/five/bo/order.js +0 -21
  1151. package/test-utils/five/bo/orders.js +0 -10
  1152. package/test-utils/five/bo/parcel-event.js +0 -22
  1153. package/test-utils/five/bo/parcel-events.js +0 -10
  1154. package/test-utils/five/bo/parcel-line-item.js +0 -27
  1155. package/test-utils/five/bo/parcel-line-items.js +0 -10
  1156. package/test-utils/five/bo/parcel.js +0 -21
  1157. package/test-utils/five/bo/parcels.js +0 -10
  1158. package/test-utils/five/orm.js +0 -19
  1159. package/test-utils/nine/bo/base.js +0 -5
  1160. package/test-utils/nine/bo/feature-switch.js +0 -21
  1161. package/test-utils/nine/bo/feature-switches.js +0 -13
  1162. package/test-utils/nine/orm.js +0 -9
  1163. package/test-utils/six/bo/base.js +0 -5
  1164. package/test-utils/six/bo/customer.js +0 -21
  1165. package/test-utils/six/bo/customers.js +0 -10
  1166. package/test-utils/six/bo/line-item.js +0 -22
  1167. package/test-utils/six/bo/line-items.js +0 -10
  1168. package/test-utils/six/bo/order.js +0 -22
  1169. package/test-utils/six/bo/orders.js +0 -10
  1170. package/test-utils/six/bo/parcel-line-item.js +0 -27
  1171. package/test-utils/six/bo/parcel-line-items.js +0 -10
  1172. package/test-utils/six/bo/parcel.js +0 -21
  1173. package/test-utils/six/bo/parcels.js +0 -10
  1174. package/test-utils/six/orm.js +0 -19
  1175. package/test-utils/thirteen/bo/audience.js +0 -21
  1176. package/test-utils/thirteen/bo/audiences.js +0 -10
  1177. package/test-utils/thirteen/bo/base.js +0 -5
  1178. package/test-utils/thirteen/bo/brand.js +0 -21
  1179. package/test-utils/thirteen/bo/brands.js +0 -10
  1180. package/test-utils/thirteen/bo/categories.js +0 -13
  1181. package/test-utils/thirteen/bo/category.js +0 -21
  1182. package/test-utils/thirteen/bo/member.js +0 -21
  1183. package/test-utils/thirteen/bo/members.js +0 -10
  1184. package/test-utils/thirteen/bo/passion.js +0 -21
  1185. package/test-utils/thirteen/bo/passions.js +0 -10
  1186. package/test-utils/thirteen/bo/product.js +0 -22
  1187. package/test-utils/thirteen/bo/products.js +0 -10
  1188. package/test-utils/thirteen/bo/recommendation-audience.js +0 -27
  1189. package/test-utils/thirteen/bo/recommendation-audiences.js +0 -10
  1190. package/test-utils/thirteen/bo/recommendation.js +0 -33
  1191. package/test-utils/thirteen/bo/recommendations.js +0 -10
  1192. package/test-utils/thirteen/orm.js +0 -25
  1193. package/test-utils/twelve/bo/base.js +0 -5
  1194. package/test-utils/twelve/bo/member.js +0 -19
  1195. package/test-utils/twelve/bo/members.js +0 -10
  1196. package/test-utils/twelve/bo/prompt.js +0 -23
  1197. package/test-utils/twelve/bo/prompts.js +0 -10
  1198. package/test-utils/twelve/orm.js +0 -10
package/src/factory.ts ADDED
@@ -0,0 +1,733 @@
1
+ const camelCase = require('camelcase');
2
+
3
+ export interface IColumnData {
4
+ column: string;
5
+ property?: string;
6
+ references?: IModelClass;
7
+ primaryKey?: boolean;
8
+ }
9
+ export type IColumn = IColumnData | string;
10
+ export type IColumns = Array<IColumn>;
11
+
12
+ export interface IColumnInternalData {
13
+ column: string;
14
+ property: string;
15
+ references?: IModelClass;
16
+ primaryKey: boolean;
17
+ }
18
+ export type IColumnInternal = IColumnInternalData;
19
+ export type IColumnsInternal = Array<IColumnInternal>;
20
+
21
+ export interface IModel {
22
+ [key: string]: any;
23
+ }
24
+ // IModel used as a type refers to an instance of IModel;
25
+ // IModelClass used as a type refers to the class itself
26
+ export type IModelClass = new (props: any) => IModel;
27
+ export interface ICollection<T extends IModel> {
28
+ models: Array<T>;
29
+ }
30
+ export interface IEntity<T extends IModel> {
31
+ tableName: string;
32
+ displayName?: string;
33
+ collectionDisplayName?: string;
34
+ columns: IColumns;
35
+ Model: new (props: any) => T;
36
+ Collection: new ({ models }: any) => ICollection<T>;
37
+ }
38
+ export type IEntities<T extends IModel> = Array<IEntity<T>>;
39
+
40
+ export interface IEntityInternal<T extends IModel> {
41
+ tableName: string;
42
+ displayName: string;
43
+ collectionDisplayName: string;
44
+ columns: IColumnsInternal;
45
+ propertyNames: Array<string>;
46
+ Model: new (props: any) => T;
47
+ Collection: new ({ models }: any) => ICollection<T>;
48
+ columnNames: Array<string>;
49
+ prefixedColumnNames: Array<string>;
50
+ primaryKeys: Array<string>;
51
+ references: object;
52
+ selectColumnsClause: string;
53
+ getPkId: (model: IModel) => string;
54
+ }
55
+ export type IEntitiesInternal<T extends IModel> = Array<IEntityInternal<T>>;
56
+
57
+ export interface CreateOptions {
58
+ getEntities: () => IEntities<any>;
59
+ db: any;
60
+ logError?: (err: Error) => void;
61
+ }
62
+
63
+ export const create = ({ getEntities, db, logError }: CreateOptions) => {
64
+ const entities: IEntitiesInternal<any> = getEntities().map(
65
+ (d: IEntity<any>) => {
66
+ const tableName = d.tableName;
67
+ const displayName = d.displayName || camelCase(d.tableName);
68
+ const collectionDisplayName =
69
+ d.collectionDisplayName || `${displayName}s`;
70
+ const columns = d.columns.map((d: IColumn) => {
71
+ if (typeof d === 'string') {
72
+ return {
73
+ column: d,
74
+ property: camelCase(d),
75
+ primaryKey: false
76
+ };
77
+ }
78
+ return {
79
+ column: d.column,
80
+ property: d.property || camelCase(d.column),
81
+ primaryKey: d.primaryKey || false,
82
+ ...(d.references ? { references: d.references } : {})
83
+ };
84
+ });
85
+ const propertyNames = columns.map(
86
+ (x: IColumnInternal): string => x.property
87
+ );
88
+ const columnNames = columns.map((x: IColumnInternal): string => x.column);
89
+ const prefixedColumnNames = columnNames.map(
90
+ (col: string) => `${tableName}#${col}`
91
+ );
92
+ const Model = d.Model;
93
+ const Collection = d.Collection;
94
+
95
+ const pkColumnsData = columns.filter(
96
+ (x: IColumnInternal) => x.primaryKey
97
+ );
98
+ const _primaryKeys = pkColumnsData.map((x: IColumnInternal) => x.column);
99
+ const primaryKeys = _primaryKeys.length > 0 ? _primaryKeys : ['id'];
100
+
101
+ // Returns unique identifier of model (the values of the primary keys)
102
+ const getPkId = (model: IModel): string => {
103
+ return primaryKeys
104
+ .map((key: string) => model[key as keyof typeof model])
105
+ .join('');
106
+ };
107
+
108
+ const references = columns
109
+ .filter((x: IColumnInternal) => x.references)
110
+ .reduce(
111
+ (accum: any, item: IColumnInternal) =>
112
+ Object.assign({}, accum, {
113
+ [item.property]: item.references
114
+ }),
115
+ {}
116
+ );
117
+
118
+ const selectColumnsClause = prefixedColumnNames
119
+ .map(
120
+ (prefixed: string, index: number) =>
121
+ `"${tableName}".${columnNames[index]} as "${prefixed}"`
122
+ )
123
+ .join(', ');
124
+
125
+ return {
126
+ tableName,
127
+ displayName,
128
+ collectionDisplayName,
129
+ columns,
130
+ propertyNames,
131
+ Model,
132
+ Collection,
133
+ columnNames,
134
+ prefixedColumnNames,
135
+ primaryKeys,
136
+ references,
137
+ selectColumnsClause,
138
+ getPkId
139
+ };
140
+ }
141
+ );
142
+
143
+ const getEntityByTableName = (tableName: string): IEntityInternal<any> => {
144
+ const entity = entities.find((data) => data.tableName == tableName);
145
+ if (!entity) {
146
+ throw new Error(`Could not find entity for table ${tableName}`);
147
+ }
148
+ return entity;
149
+ };
150
+
151
+ const getEntityByModel = (model: IModel): IEntityInternal<any> => {
152
+ const entity = entities.find((data) => data.Model == model.constructor);
153
+ if (!entity) {
154
+ throw new Error(`Could not find entity for class ${model.constructor}`);
155
+ }
156
+ return entity;
157
+ };
158
+
159
+ const defaultErrorHandler = (err: Error) => {
160
+ if (!(err.name === 'QueryResultError')) {
161
+ if (logError) {
162
+ logError(err);
163
+ }
164
+ }
165
+ throw err;
166
+ };
167
+
168
+ /*
169
+ * In:
170
+ * [
171
+ * [Article {id: 32}, ArticleTag {id: 54}]
172
+ * [Article {id: 32}, ArticleTag {id: 55}]
173
+ * ]
174
+ * Out:
175
+ * Article {id: 32, ArticleTags articleTags: [ArticleTag {id: 54}, ArticleTag {id: 55}]
176
+ */
177
+ const nestClump = (clump: Array<Array<IModel>>): object => {
178
+ clump = clump.map((x: Array<IModel>) => Object.values(x));
179
+ const root = clump[0][0];
180
+ clump = clump.map((row: Array<IModel>) =>
181
+ row.filter((item: IModel, index: number) => index !== 0)
182
+ );
183
+ const built = { [getEntityByModel(root).displayName]: root };
184
+
185
+ let nodes = [root];
186
+
187
+ // Wowzer is this both CPU and Memory inefficient
188
+ clump.forEach((array: Array<IModel>) => {
189
+ array.forEach((_model: IModel) => {
190
+ const nodeAlreadySeen = nodes.find(
191
+ (x: IModel) =>
192
+ x.constructor.name === _model.constructor.name &&
193
+ getEntityByModel(x).getPkId(x) ===
194
+ getEntityByModel(_model).getPkId(_model)
195
+ );
196
+ const model = nodeAlreadySeen || _model;
197
+ const isNodeAlreadySeen = !!nodeAlreadySeen;
198
+ const nodePointingToIt = nodes.find((node) => {
199
+ const indexes = Object.values(getEntityByModel(node).references)
200
+ .map((x: IModelClass, i: number) =>
201
+ x === model.constructor ? i : null
202
+ )
203
+ .filter((x: number | null, i) => x != null) as Array<number>;
204
+ if (!indexes.length) {
205
+ return false;
206
+ }
207
+ for (const index of indexes) {
208
+ const property = Object.keys(getEntityByModel(node).references)[
209
+ index
210
+ ];
211
+ if (node[property] === model.id) {
212
+ return true;
213
+ }
214
+ }
215
+ return false;
216
+ });
217
+ // For first obj type which is has an instance in nodes array,
218
+ // get its index in nodes array
219
+ const indexOfOldestParent =
220
+ array.reduce((answer: number | null, obj: IModel) => {
221
+ if (answer != null) {
222
+ return answer;
223
+ }
224
+ const index = nodes.findIndex(
225
+ (n) => n.constructor === obj.constructor
226
+ );
227
+ if (index !== -1) {
228
+ return index;
229
+ }
230
+ return null;
231
+ }, null) || 0;
232
+ const parentHeirarchy = [
233
+ root,
234
+ ...nodes.slice(0, indexOfOldestParent + 1).reverse()
235
+ ];
236
+ const nodeItPointsTo = parentHeirarchy.find((parent) => {
237
+ const index = Object.values(
238
+ getEntityByModel(model).references
239
+ ).indexOf(parent.constructor);
240
+ if (index === -1) {
241
+ return false;
242
+ }
243
+ const property = Object.keys(getEntityByModel(model).references)[
244
+ index
245
+ ];
246
+ return model[property as keyof typeof model] === parent.id;
247
+ });
248
+ if (isNodeAlreadySeen) {
249
+ if (nodeItPointsTo && !nodePointingToIt) {
250
+ nodes = [model, ...nodes];
251
+ return;
252
+ }
253
+ // If the nodePointingToIt (eg, parcel_event) is part of an
254
+ // existing collection on this node (eg, parcel) which is a
255
+ // nodeAlreadySeen, early return so we don't create it (parcel) on
256
+ // the nodePointingToIt (parcel_event), since it (parcel) has been
257
+ // shown to be the parent (of parcel_events).
258
+ if (nodePointingToIt) {
259
+ const ec =
260
+ model[
261
+ getEntityByModel(nodePointingToIt)
262
+ .collectionDisplayName as keyof typeof model
263
+ ];
264
+ if (ec && ec.models.find((m: IModel) => m === nodePointingToIt)) {
265
+ nodes = [model, ...nodes];
266
+ return;
267
+ }
268
+ }
269
+ }
270
+ if (nodePointingToIt) {
271
+ nodePointingToIt[getEntityByModel(model).displayName] = model;
272
+ } else if (nodeItPointsTo) {
273
+ let collection =
274
+ nodeItPointsTo[getEntityByModel(model).collectionDisplayName];
275
+ if (collection) {
276
+ collection.models.push(model);
277
+ } else {
278
+ const Collection = getEntityByModel(model).Collection;
279
+ nodeItPointsTo[getEntityByModel(model).collectionDisplayName] =
280
+ new Collection({
281
+ models: [model]
282
+ });
283
+ }
284
+ } else {
285
+ if (!getEntityByModel(model).getPkId(model)) {
286
+ // If the join is fruitless; todo: add a test for this path
287
+ return;
288
+ }
289
+ throw Error(
290
+ `Could not find how this BO fits: ${JSON.stringify(model)} ${
291
+ getEntityByModel(model).tableName
292
+ }`
293
+ );
294
+ }
295
+ nodes = [model, ...nodes];
296
+ });
297
+ });
298
+
299
+ return built;
300
+ };
301
+
302
+ /*
303
+ * Clump array of flat objects into groups based on id of root
304
+ * In:
305
+ * [
306
+ * [Article {id: 32}, ArticleTag {id: 54}]
307
+ * [Article {id: 32}, ArticleTag {id: 55}]
308
+ * [Article {id: 33}, ArticleTag {id: 56}]
309
+ * ]
310
+ * Out:
311
+ * [
312
+ * [
313
+ * [Article {id: 32}, ArticleTag {id: 54}]
314
+ * [Article {id: 32}, ArticleTag {id: 55}]
315
+ * ]
316
+ * [
317
+ * [Article {id: 33}, ArticleTag {id: 56}]
318
+ * ]
319
+ * ]
320
+ */
321
+ const clumpIntoGroups = (
322
+ processed: Array<Array<IModel>>
323
+ ): Array<Array<Array<IModel>>> => {
324
+ const root = processed[0][0];
325
+ const rootBo = root.constructor;
326
+ const clumps = processed.reduce((accum: any, item: Array<IModel>) => {
327
+ const id = getEntityByModel(root)
328
+ .primaryKeys.map(
329
+ (key: string) =>
330
+ item.find((x: IModel) => x.constructor === rootBo)?.[key]
331
+ )
332
+ .join('@');
333
+ if (accum.has(id)) {
334
+ accum.set(id, [...accum.get(id), item]);
335
+ } else {
336
+ accum.set(id, [item]);
337
+ }
338
+ return accum;
339
+ }, new Map());
340
+ return [...clumps.values()];
341
+ };
342
+
343
+ const mapToBos = (objectified: any) => {
344
+ return Object.keys(objectified).map((tableName) => {
345
+ const entity = getEntityByTableName(tableName);
346
+ const propified = Object.keys(objectified[tableName]).reduce(
347
+ (obj: any, column) => {
348
+ let propertyName =
349
+ entity.propertyNames[entity.columnNames.indexOf(column)];
350
+ if (!propertyName) {
351
+ if (column.startsWith('meta_')) {
352
+ propertyName = camelCase(column);
353
+ } else {
354
+ throw Error(
355
+ `No property name for "${column}" in business object "${entity.displayName}". Non-spec'd columns must begin with "meta_".`
356
+ );
357
+ }
358
+ }
359
+ obj[propertyName] = objectified[tableName][column];
360
+ return obj;
361
+ },
362
+ {}
363
+ );
364
+ return new entity.Model(propified);
365
+ });
366
+ };
367
+
368
+ /*
369
+ * Make objects (based on special table#column names) from flat database
370
+ * return value.
371
+ */
372
+ const objectifyDatabaseResult = (result: object) => {
373
+ return Object.keys(result).reduce((obj: any, text: string) => {
374
+ const tableName = text.split('#')[0];
375
+ const column = text.split('#')[1];
376
+ obj[tableName] = obj[tableName] || {};
377
+ obj[tableName][column] = result[text as keyof typeof result];
378
+ return obj;
379
+ }, {});
380
+ };
381
+
382
+ const createFromDatabase = <T extends ICollection<IModel>>(
383
+ _result: Array<object> | object
384
+ ): T | undefined => {
385
+ const result = Array.isArray(_result) ? _result : [_result];
386
+ const objectified = result.map(objectifyDatabaseResult);
387
+ const boified = objectified.map(mapToBos);
388
+ const clumps = clumpIntoGroups(boified);
389
+ const nested = clumps.map(nestClump);
390
+ const models = nested.map((n) => Object.values(n)[0]);
391
+ const Collection = getEntityByModel(models[0]).Collection;
392
+ return models.length ? (new Collection({ models }) as T) : void 0;
393
+ };
394
+
395
+ const createOneFromDatabase = <T extends IModel>(_result: any): T => {
396
+ const collection = createFromDatabase<ICollection<IModel>>(_result);
397
+ if (!collection) {
398
+ throw Error('Did not get one.');
399
+ }
400
+ if (!collection || collection.models.length === 0) {
401
+ throw Error('Did not get one.');
402
+ } else if (collection.models.length > 1) {
403
+ throw Error('Got more than one.');
404
+ }
405
+ return collection.models[0] as T;
406
+ };
407
+
408
+ const createOneOrNoneFromDatabase = <T extends IModel>(
409
+ _result: any
410
+ ): T | void => {
411
+ if (!_result) {
412
+ return _result;
413
+ }
414
+ const collection = createFromDatabase(_result);
415
+ if (collection && collection.models.length > 1) {
416
+ throw Error('Got more than one.');
417
+ }
418
+ return collection && (collection.models[0] as T);
419
+ };
420
+
421
+ const createManyFromDatabase = <T extends ICollection<IModel>>(
422
+ _result: any
423
+ ): T => {
424
+ const collection = createFromDatabase(_result);
425
+ if (!collection || collection.models.length === 0) {
426
+ throw Error('Did not get at least one.');
427
+ }
428
+ return collection as T;
429
+ };
430
+
431
+ const getSqlInsertParts = (model: IModel) => {
432
+ const columns = getEntityByModel(model)
433
+ .columnNames.filter(
434
+ (column: string, index: number) =>
435
+ model[
436
+ getEntityByModel(model).propertyNames[index] as keyof typeof model
437
+ ] !== void 0
438
+ )
439
+ .map((col: string) => `"${col}"`)
440
+ .join(', ');
441
+ const values = getEntityByModel(model)
442
+ .propertyNames.map(
443
+ (property: string) => model[property as keyof typeof model]
444
+ )
445
+ .filter((value: any) => value !== void 0);
446
+ const valuesVar = values.map(
447
+ (value: any, index: number) => `$${index + 1}`
448
+ );
449
+ return { columns, values, valuesVar };
450
+ };
451
+
452
+ const getSqlUpdateParts = (model: IModel, on = 'id') => {
453
+ const clauseArray = getEntityByModel(model)
454
+ .columnNames.filter(
455
+ (sqlColumn: string, index: number) =>
456
+ model[
457
+ getEntityByModel(model).propertyNames[index] as keyof typeof model
458
+ ] !== void 0
459
+ )
460
+ .map(
461
+ (sqlColumn: string, index: number) => `"${sqlColumn}" = $${index + 1}`
462
+ );
463
+ const clause = clauseArray.join(', ');
464
+ const idVar = `$${clauseArray.length + 1}`;
465
+ const _values = getEntityByModel(model)
466
+ .propertyNames.map(
467
+ (property: string) => model[property as keyof typeof model]
468
+ )
469
+ .filter((value: any) => value !== void 0);
470
+ const values = [..._values, model[on as keyof typeof model]];
471
+ return { clause, idVar, values };
472
+ };
473
+
474
+ const getMatchingParts = (model: IModel) => {
475
+ const whereClause = getEntityByModel(model)
476
+ .propertyNames.map((property: string, index: number) =>
477
+ model[property as keyof typeof model] != null
478
+ ? `"${getEntityByModel(model).tableName}"."${
479
+ getEntityByModel(model).columnNames[index]
480
+ }"`
481
+ : null
482
+ )
483
+ .filter((x: string | null) => x != null)
484
+ .map((x: string | null, i: number) => `${x} = $${i + 1}`)
485
+ .join(' AND ');
486
+ const values = getEntityByModel(model)
487
+ .propertyNames.map((property: string) =>
488
+ model[property as keyof typeof model] != null
489
+ ? model[property as keyof typeof model]
490
+ : null
491
+ )
492
+ .filter((x: any) => x != null);
493
+ return { whereClause, values };
494
+ };
495
+
496
+ // This one returns an object, which allows it to be more versatile.
497
+ // To-do: make this one even better and use it instead of the one above.
498
+ const getMatchingPartsObject = (model: IModel) => {
499
+ const whereClause = getEntityByModel(model)
500
+ .propertyNames.map((property: string, index: number) =>
501
+ model[property as keyof typeof model] != null
502
+ ? `"${getEntityByModel(model).tableName}"."${
503
+ getEntityByModel(model).columnNames[index]
504
+ }"`
505
+ : null
506
+ )
507
+ .filter((x: string | null) => x != null)
508
+ .map((x: string | null, i: number) => `${x} = $(${i + 1})`)
509
+ .join(' AND ');
510
+ const values = getEntityByModel(model)
511
+ .propertyNames.map((property: string) =>
512
+ model[property as keyof typeof model] != null
513
+ ? model[property as keyof typeof model]
514
+ : null
515
+ )
516
+ .filter((x: any) => x != null)
517
+ .reduce(
518
+ (accum: any, val: any, index: number) =>
519
+ Object.assign({}, accum, { [index + 1]: val }),
520
+ {}
521
+ );
522
+ return { whereClause, values };
523
+ };
524
+
525
+ const getNewWith = (model: IModel, sqlColumns: any, values: any) => {
526
+ const Constructor = model.constructor as any;
527
+ const modelKeys = sqlColumns.map(
528
+ (key: string) =>
529
+ getEntityByModel(model).propertyNames[
530
+ getEntityByModel(model).columnNames.indexOf(key)
531
+ ]
532
+ );
533
+ const modelData = modelKeys.reduce(
534
+ (data: any, key: string, index: number) => {
535
+ data[key] = values[index];
536
+ return data;
537
+ },
538
+ {}
539
+ );
540
+ return new Constructor(modelData);
541
+ };
542
+
543
+ const getValueBySqlColumn = (model: IModel, sqlColumn: string) => {
544
+ return model[
545
+ getEntityByModel(model).propertyNames[
546
+ getEntityByModel(model).columnNames.indexOf(sqlColumn)
547
+ ] as keyof typeof model
548
+ ];
549
+ };
550
+ /* ------------------------------------------------------------------------*/
551
+ /* Query functions --------------------------------------------------------*/
552
+ /* ------------------------------------------------------------------------*/
553
+
554
+ const one = <T extends IModel>(
555
+ query: string,
556
+ values?: object,
557
+ errorHandler = defaultErrorHandler
558
+ ): T => {
559
+ return db
560
+ .many(query, values)
561
+ .then((rows: any) => createOneFromDatabase(rows))
562
+ .catch(errorHandler);
563
+ };
564
+
565
+ const oneOrNone = <T extends IModel>(
566
+ query: string,
567
+ values?: object,
568
+ errorHandler = defaultErrorHandler
569
+ ): T | void => {
570
+ return db
571
+ .any(query, values)
572
+ .then((rows: any) => createOneOrNoneFromDatabase(rows))
573
+ .catch(errorHandler);
574
+ };
575
+
576
+ const many = <T extends ICollection<IModel>>(
577
+ query: string,
578
+ values?: object,
579
+ errorHandler = defaultErrorHandler
580
+ ): T => {
581
+ return db
582
+ .any(query, values)
583
+ .then((rows: any) => createManyFromDatabase(rows))
584
+ .catch(errorHandler);
585
+ };
586
+
587
+ const any = <T extends ICollection<IModel>>(
588
+ query: string,
589
+ values?: object,
590
+ errorHandler = defaultErrorHandler
591
+ ): T | void => {
592
+ return db
593
+ .any(query, values)
594
+ .then((rows: any) => createFromDatabase(rows))
595
+ .catch(errorHandler);
596
+ };
597
+
598
+ const none = (
599
+ query: string,
600
+ values?: object,
601
+ errorHandler = defaultErrorHandler
602
+ ): void => {
603
+ return db
604
+ .none(query, values)
605
+ .then(() => null)
606
+ .catch(errorHandler);
607
+ };
608
+
609
+ /* ------------------------------------------------------------------------*/
610
+ /* Built-in basic CRUD functions ------------------------------------------*/
611
+ /* ------------------------------------------------------------------------*/
612
+
613
+ // Standard create
614
+ const create = <T extends IModel>(model: T): T => {
615
+ const { columns, values, valuesVar } = getSqlInsertParts(model);
616
+ const query = `
617
+ INSERT INTO "${getEntityByModel(model).tableName}" ( ${columns} )
618
+ VALUES ( ${valuesVar} )
619
+ RETURNING ${getEntityByModel(model).selectColumnsClause};
620
+ `;
621
+ return one<T>(query, values);
622
+ };
623
+
624
+ // Standard update
625
+ const update = <T extends IModel>(model: T, { on = 'id' } = {}): T => {
626
+ const { clause, idVar, values } = getSqlUpdateParts(model, on);
627
+ const query = `
628
+ UPDATE "${getEntityByModel(model).tableName}"
629
+ SET ${clause}
630
+ WHERE "${getEntityByModel(model).tableName}".${on} = ${idVar}
631
+ RETURNING ${getEntityByModel(model).selectColumnsClause};
632
+ `;
633
+ return one<T>(query, values);
634
+ };
635
+
636
+ // Standard delete
637
+ const _delete = <T extends IModel>(model: T): void => {
638
+ const id = (model as any).id;
639
+ const query = `
640
+ DELETE FROM "${getEntityByModel(model).tableName}"
641
+ WHERE "${getEntityByModel(model).tableName}".id = $(id)
642
+ `;
643
+ return none(query, { id });
644
+ };
645
+
646
+ const deleteMatching = <T extends IModel>(model: T) => {
647
+ const { whereClause, values } = getMatchingParts(model);
648
+ const query = `
649
+ DELETE FROM "${getEntityByModel(model).tableName}"
650
+ WHERE ${whereClause};
651
+ `;
652
+ return none(query, values);
653
+ };
654
+
655
+ const getMatching = <T extends IModel>(model: T): T => {
656
+ const { whereClause, values } = getMatchingParts(model);
657
+ const query = `
658
+ SELECT ${getEntityByModel(model).selectColumnsClause}
659
+ FROM "${getEntityByModel(model).tableName}"
660
+ WHERE ${whereClause};
661
+ `;
662
+ return one<T>(query, values);
663
+ };
664
+
665
+ const getOneOrNoneMatching = <T extends IModel>(model: T): T | void => {
666
+ const { whereClause, values } = getMatchingParts(model);
667
+ const query = `
668
+ SELECT ${getEntityByModel(model).selectColumnsClause}
669
+ FROM "${getEntityByModel(model).tableName}"
670
+ WHERE ${whereClause};
671
+ `;
672
+ return oneOrNone<T>(query, values);
673
+ };
674
+
675
+ const getAnyMatching = <T extends ICollection<IModel>>(
676
+ model: IModel
677
+ ): T | void => {
678
+ const { whereClause, values } = getMatchingParts(model);
679
+ const query = `
680
+ SELECT ${getEntityByModel(model).selectColumnsClause}
681
+ FROM "${getEntityByModel(model).tableName}"
682
+ WHERE ${whereClause};
683
+ `;
684
+ return any<T>(query, values);
685
+ };
686
+
687
+ const getAllMatching = <T extends ICollection<IModel>>(model: IModel): T => {
688
+ const { whereClause, values } = getMatchingParts(model);
689
+ const query = `
690
+ SELECT ${getEntityByModel(model).selectColumnsClause}
691
+ FROM "${getEntityByModel(model).tableName}"
692
+ WHERE ${whereClause};
693
+ `;
694
+ return many<T>(query, values);
695
+ };
696
+
697
+ return {
698
+ // Query Helper Function
699
+ nestClump,
700
+ clumpIntoGroups,
701
+ mapToBos,
702
+ objectifyDatabaseResult,
703
+ createFromDatabase,
704
+ createOneFromDatabase,
705
+ createOneOrNoneFromDatabase,
706
+ createManyFromDatabase,
707
+ getSqlInsertParts,
708
+ getSqlUpdateParts,
709
+ getMatchingParts,
710
+ getMatchingPartsObject,
711
+ getNewWith,
712
+ getValueBySqlColumn,
713
+ // Query Functions
714
+ one,
715
+ oneOrNone,
716
+ many,
717
+ any,
718
+ none,
719
+ // Built-in basic CRUD functions
720
+ create,
721
+ update,
722
+ delete: _delete,
723
+ deleteMatching,
724
+ getMatching,
725
+ getOneOrNoneMatching,
726
+ getAnyMatching,
727
+ getAllMatching,
728
+ tables: entities.reduce((accum: any, data: IEntityInternal<any>) => {
729
+ accum[data.displayName] = data.selectColumnsClause;
730
+ return accum;
731
+ }, {})
732
+ };
733
+ };