pure-orm 4.0.0-0 → 4.0.0-3

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 +2421 -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 +2280 -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 +4039 -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 +737 -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,737 @@
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
+ entities: IEntities<any>;
59
+ db: any;
60
+ logError?: (err: Error) => void;
61
+ }
62
+
63
+ export const create = ({
64
+ entities: externalEntities,
65
+ db,
66
+ logError
67
+ }: CreateOptions) => {
68
+ const entities: IEntitiesInternal<any> = externalEntities.map(
69
+ (d: IEntity<any>) => {
70
+ const tableName = d.tableName;
71
+ const displayName = d.displayName || camelCase(d.tableName);
72
+ const collectionDisplayName =
73
+ d.collectionDisplayName || `${displayName}s`;
74
+ const columns = d.columns.map((d: IColumn) => {
75
+ if (typeof d === 'string') {
76
+ return {
77
+ column: d,
78
+ property: camelCase(d),
79
+ primaryKey: false
80
+ };
81
+ }
82
+ return {
83
+ column: d.column,
84
+ property: d.property || camelCase(d.column),
85
+ primaryKey: d.primaryKey || false,
86
+ ...(d.references ? { references: d.references } : {})
87
+ };
88
+ });
89
+ const propertyNames = columns.map(
90
+ (x: IColumnInternal): string => x.property
91
+ );
92
+ const columnNames = columns.map((x: IColumnInternal): string => x.column);
93
+ const prefixedColumnNames = columnNames.map(
94
+ (col: string) => `${tableName}#${col}`
95
+ );
96
+ const Model = d.Model;
97
+ const Collection = d.Collection;
98
+
99
+ const pkColumnsData = columns.filter(
100
+ (x: IColumnInternal) => x.primaryKey
101
+ );
102
+ const _primaryKeys = pkColumnsData.map((x: IColumnInternal) => x.column);
103
+ const primaryKeys = _primaryKeys.length > 0 ? _primaryKeys : ['id'];
104
+
105
+ // Returns unique identifier of model (the values of the primary keys)
106
+ const getPkId = (model: IModel): string => {
107
+ return primaryKeys
108
+ .map((key: string) => model[key as keyof typeof model])
109
+ .join('');
110
+ };
111
+
112
+ const references = columns
113
+ .filter((x: IColumnInternal) => x.references)
114
+ .reduce(
115
+ (accum: any, item: IColumnInternal) =>
116
+ Object.assign({}, accum, {
117
+ [item.property]: item.references
118
+ }),
119
+ {}
120
+ );
121
+
122
+ const selectColumnsClause = prefixedColumnNames
123
+ .map(
124
+ (prefixed: string, index: number) =>
125
+ `"${tableName}".${columnNames[index]} as "${prefixed}"`
126
+ )
127
+ .join(', ');
128
+
129
+ return {
130
+ tableName,
131
+ displayName,
132
+ collectionDisplayName,
133
+ columns,
134
+ propertyNames,
135
+ Model,
136
+ Collection,
137
+ columnNames,
138
+ prefixedColumnNames,
139
+ primaryKeys,
140
+ references,
141
+ selectColumnsClause,
142
+ getPkId
143
+ };
144
+ }
145
+ );
146
+
147
+ const getEntityByTableName = (tableName: string): IEntityInternal<any> => {
148
+ const entity = entities.find((data) => data.tableName == tableName);
149
+ if (!entity) {
150
+ throw new Error(`Could not find entity for table ${tableName}`);
151
+ }
152
+ return entity;
153
+ };
154
+
155
+ const getEntityByModel = (model: IModel): IEntityInternal<any> => {
156
+ const entity = entities.find((data) => data.Model == model.constructor);
157
+ if (!entity) {
158
+ throw new Error(`Could not find entity for class ${model.constructor}`);
159
+ }
160
+ return entity;
161
+ };
162
+
163
+ const defaultErrorHandler = (err: Error) => {
164
+ if (!(err.name === 'QueryResultError')) {
165
+ if (logError) {
166
+ logError(err);
167
+ }
168
+ }
169
+ throw err;
170
+ };
171
+
172
+ /*
173
+ * In:
174
+ * [
175
+ * [Article {id: 32}, ArticleTag {id: 54}]
176
+ * [Article {id: 32}, ArticleTag {id: 55}]
177
+ * ]
178
+ * Out:
179
+ * Article {id: 32, ArticleTags articleTags: [ArticleTag {id: 54}, ArticleTag {id: 55}]
180
+ */
181
+ const nestClump = (clump: Array<Array<IModel>>): object => {
182
+ clump = clump.map((x: Array<IModel>) => Object.values(x));
183
+ const root = clump[0][0];
184
+ clump = clump.map((row: Array<IModel>) =>
185
+ row.filter((item: IModel, index: number) => index !== 0)
186
+ );
187
+ const built = { [getEntityByModel(root).displayName]: root };
188
+
189
+ let nodes = [root];
190
+
191
+ // Wowzer is this both CPU and Memory inefficient
192
+ clump.forEach((array: Array<IModel>) => {
193
+ array.forEach((_model: IModel) => {
194
+ const nodeAlreadySeen = nodes.find(
195
+ (x: IModel) =>
196
+ x.constructor.name === _model.constructor.name &&
197
+ getEntityByModel(x).getPkId(x) ===
198
+ getEntityByModel(_model).getPkId(_model)
199
+ );
200
+ const model = nodeAlreadySeen || _model;
201
+ const isNodeAlreadySeen = !!nodeAlreadySeen;
202
+ const nodePointingToIt = nodes.find((node) => {
203
+ const indexes = Object.values(getEntityByModel(node).references)
204
+ .map((x: IModelClass, i: number) =>
205
+ x === model.constructor ? i : null
206
+ )
207
+ .filter((x: number | null, i) => x != null) as Array<number>;
208
+ if (!indexes.length) {
209
+ return false;
210
+ }
211
+ for (const index of indexes) {
212
+ const property = Object.keys(getEntityByModel(node).references)[
213
+ index
214
+ ];
215
+ if (node[property] === model.id) {
216
+ return true;
217
+ }
218
+ }
219
+ return false;
220
+ });
221
+ // For first obj type which is has an instance in nodes array,
222
+ // get its index in nodes array
223
+ const indexOfOldestParent =
224
+ array.reduce((answer: number | null, obj: IModel) => {
225
+ if (answer != null) {
226
+ return answer;
227
+ }
228
+ const index = nodes.findIndex(
229
+ (n) => n.constructor === obj.constructor
230
+ );
231
+ if (index !== -1) {
232
+ return index;
233
+ }
234
+ return null;
235
+ }, null) || 0;
236
+ const parentHeirarchy = [
237
+ root,
238
+ ...nodes.slice(0, indexOfOldestParent + 1).reverse()
239
+ ];
240
+ const nodeItPointsTo = parentHeirarchy.find((parent) => {
241
+ const index = Object.values(
242
+ getEntityByModel(model).references
243
+ ).indexOf(parent.constructor);
244
+ if (index === -1) {
245
+ return false;
246
+ }
247
+ const property = Object.keys(getEntityByModel(model).references)[
248
+ index
249
+ ];
250
+ return model[property as keyof typeof model] === parent.id;
251
+ });
252
+ if (isNodeAlreadySeen) {
253
+ if (nodeItPointsTo && !nodePointingToIt) {
254
+ nodes = [model, ...nodes];
255
+ return;
256
+ }
257
+ // If the nodePointingToIt (eg, parcel_event) is part of an
258
+ // existing collection on this node (eg, parcel) which is a
259
+ // nodeAlreadySeen, early return so we don't create it (parcel) on
260
+ // the nodePointingToIt (parcel_event), since it (parcel) has been
261
+ // shown to be the parent (of parcel_events).
262
+ if (nodePointingToIt) {
263
+ const ec =
264
+ model[
265
+ getEntityByModel(nodePointingToIt)
266
+ .collectionDisplayName as keyof typeof model
267
+ ];
268
+ if (ec && ec.models.find((m: IModel) => m === nodePointingToIt)) {
269
+ nodes = [model, ...nodes];
270
+ return;
271
+ }
272
+ }
273
+ }
274
+ if (nodePointingToIt) {
275
+ nodePointingToIt[getEntityByModel(model).displayName] = model;
276
+ } else if (nodeItPointsTo) {
277
+ let collection =
278
+ nodeItPointsTo[getEntityByModel(model).collectionDisplayName];
279
+ if (collection) {
280
+ collection.models.push(model);
281
+ } else {
282
+ const Collection = getEntityByModel(model).Collection;
283
+ nodeItPointsTo[getEntityByModel(model).collectionDisplayName] =
284
+ new Collection({
285
+ models: [model]
286
+ });
287
+ }
288
+ } else {
289
+ if (!getEntityByModel(model).getPkId(model)) {
290
+ // If the join is fruitless; todo: add a test for this path
291
+ return;
292
+ }
293
+ throw Error(
294
+ `Could not find how this BO fits: ${JSON.stringify(model)} ${
295
+ getEntityByModel(model).tableName
296
+ }`
297
+ );
298
+ }
299
+ nodes = [model, ...nodes];
300
+ });
301
+ });
302
+
303
+ return built;
304
+ };
305
+
306
+ /*
307
+ * Clump array of flat objects into groups based on id of root
308
+ * In:
309
+ * [
310
+ * [Article {id: 32}, ArticleTag {id: 54}]
311
+ * [Article {id: 32}, ArticleTag {id: 55}]
312
+ * [Article {id: 33}, ArticleTag {id: 56}]
313
+ * ]
314
+ * Out:
315
+ * [
316
+ * [
317
+ * [Article {id: 32}, ArticleTag {id: 54}]
318
+ * [Article {id: 32}, ArticleTag {id: 55}]
319
+ * ]
320
+ * [
321
+ * [Article {id: 33}, ArticleTag {id: 56}]
322
+ * ]
323
+ * ]
324
+ */
325
+ const clumpIntoGroups = (
326
+ processed: Array<Array<IModel>>
327
+ ): Array<Array<Array<IModel>>> => {
328
+ const root = processed[0][0];
329
+ const rootBo = root.constructor;
330
+ const clumps = processed.reduce((accum: any, item: Array<IModel>) => {
331
+ const id = getEntityByModel(root)
332
+ .primaryKeys.map(
333
+ (key: string) =>
334
+ item.find((x: IModel) => x.constructor === rootBo)?.[key]
335
+ )
336
+ .join('@');
337
+ if (accum.has(id)) {
338
+ accum.set(id, [...accum.get(id), item]);
339
+ } else {
340
+ accum.set(id, [item]);
341
+ }
342
+ return accum;
343
+ }, new Map());
344
+ return [...clumps.values()];
345
+ };
346
+
347
+ const mapToBos = (objectified: any) => {
348
+ return Object.keys(objectified).map((tableName) => {
349
+ const entity = getEntityByTableName(tableName);
350
+ const propified = Object.keys(objectified[tableName]).reduce(
351
+ (obj: any, column) => {
352
+ let propertyName =
353
+ entity.propertyNames[entity.columnNames.indexOf(column)];
354
+ if (!propertyName) {
355
+ if (column.startsWith('meta_')) {
356
+ propertyName = camelCase(column);
357
+ } else {
358
+ throw Error(
359
+ `No property name for "${column}" in business object "${entity.displayName}". Non-spec'd columns must begin with "meta_".`
360
+ );
361
+ }
362
+ }
363
+ obj[propertyName] = objectified[tableName][column];
364
+ return obj;
365
+ },
366
+ {}
367
+ );
368
+ return new entity.Model(propified);
369
+ });
370
+ };
371
+
372
+ /*
373
+ * Make objects (based on special table#column names) from flat database
374
+ * return value.
375
+ */
376
+ const objectifyDatabaseResult = (result: object) => {
377
+ return Object.keys(result).reduce((obj: any, text: string) => {
378
+ const tableName = text.split('#')[0];
379
+ const column = text.split('#')[1];
380
+ obj[tableName] = obj[tableName] || {};
381
+ obj[tableName][column] = result[text as keyof typeof result];
382
+ return obj;
383
+ }, {});
384
+ };
385
+
386
+ const createFromDatabase = <T extends ICollection<IModel>>(
387
+ _result: Array<object> | object
388
+ ): T | undefined => {
389
+ const result = Array.isArray(_result) ? _result : [_result];
390
+ const objectified = result.map(objectifyDatabaseResult);
391
+ const boified = objectified.map(mapToBos);
392
+ const clumps = clumpIntoGroups(boified);
393
+ const nested = clumps.map(nestClump);
394
+ const models = nested.map((n) => Object.values(n)[0]);
395
+ const Collection = getEntityByModel(models[0]).Collection;
396
+ return models.length ? (new Collection({ models }) as T) : void 0;
397
+ };
398
+
399
+ const createOneFromDatabase = <T extends IModel>(_result: any): T => {
400
+ const collection = createFromDatabase<ICollection<IModel>>(_result);
401
+ if (!collection) {
402
+ throw Error('Did not get one.');
403
+ }
404
+ if (!collection || collection.models.length === 0) {
405
+ throw Error('Did not get one.');
406
+ } else if (collection.models.length > 1) {
407
+ throw Error('Got more than one.');
408
+ }
409
+ return collection.models[0] as T;
410
+ };
411
+
412
+ const createOneOrNoneFromDatabase = <T extends IModel>(
413
+ _result: any
414
+ ): T | void => {
415
+ if (!_result) {
416
+ return _result;
417
+ }
418
+ const collection = createFromDatabase(_result);
419
+ if (collection && collection.models.length > 1) {
420
+ throw Error('Got more than one.');
421
+ }
422
+ return collection && (collection.models[0] as T);
423
+ };
424
+
425
+ const createManyFromDatabase = <T extends ICollection<IModel>>(
426
+ _result: any
427
+ ): T => {
428
+ const collection = createFromDatabase(_result);
429
+ if (!collection || collection.models.length === 0) {
430
+ throw Error('Did not get at least one.');
431
+ }
432
+ return collection as T;
433
+ };
434
+
435
+ const getSqlInsertParts = (model: IModel) => {
436
+ const columns = getEntityByModel(model)
437
+ .columnNames.filter(
438
+ (column: string, index: number) =>
439
+ model[
440
+ getEntityByModel(model).propertyNames[index] as keyof typeof model
441
+ ] !== void 0
442
+ )
443
+ .map((col: string) => `"${col}"`)
444
+ .join(', ');
445
+ const values = getEntityByModel(model)
446
+ .propertyNames.map(
447
+ (property: string) => model[property as keyof typeof model]
448
+ )
449
+ .filter((value: any) => value !== void 0);
450
+ const valuesVar = values.map(
451
+ (value: any, index: number) => `$${index + 1}`
452
+ );
453
+ return { columns, values, valuesVar };
454
+ };
455
+
456
+ const getSqlUpdateParts = (model: IModel, on = 'id') => {
457
+ const clauseArray = getEntityByModel(model)
458
+ .columnNames.filter(
459
+ (sqlColumn: string, index: number) =>
460
+ model[
461
+ getEntityByModel(model).propertyNames[index] as keyof typeof model
462
+ ] !== void 0
463
+ )
464
+ .map(
465
+ (sqlColumn: string, index: number) => `"${sqlColumn}" = $${index + 1}`
466
+ );
467
+ const clause = clauseArray.join(', ');
468
+ const idVar = `$${clauseArray.length + 1}`;
469
+ const _values = getEntityByModel(model)
470
+ .propertyNames.map(
471
+ (property: string) => model[property as keyof typeof model]
472
+ )
473
+ .filter((value: any) => value !== void 0);
474
+ const values = [..._values, model[on as keyof typeof model]];
475
+ return { clause, idVar, values };
476
+ };
477
+
478
+ const getMatchingParts = (model: IModel) => {
479
+ const whereClause = getEntityByModel(model)
480
+ .propertyNames.map((property: string, index: number) =>
481
+ model[property as keyof typeof model] != null
482
+ ? `"${getEntityByModel(model).tableName}"."${
483
+ getEntityByModel(model).columnNames[index]
484
+ }"`
485
+ : null
486
+ )
487
+ .filter((x: string | null) => x != null)
488
+ .map((x: string | null, i: number) => `${x} = $${i + 1}`)
489
+ .join(' AND ');
490
+ const values = getEntityByModel(model)
491
+ .propertyNames.map((property: string) =>
492
+ model[property as keyof typeof model] != null
493
+ ? model[property as keyof typeof model]
494
+ : null
495
+ )
496
+ .filter((x: any) => x != null);
497
+ return { whereClause, values };
498
+ };
499
+
500
+ // This one returns an object, which allows it to be more versatile.
501
+ // To-do: make this one even better and use it instead of the one above.
502
+ const getMatchingPartsObject = (model: IModel) => {
503
+ const whereClause = getEntityByModel(model)
504
+ .propertyNames.map((property: string, index: number) =>
505
+ model[property as keyof typeof model] != null
506
+ ? `"${getEntityByModel(model).tableName}"."${
507
+ getEntityByModel(model).columnNames[index]
508
+ }"`
509
+ : null
510
+ )
511
+ .filter((x: string | null) => x != null)
512
+ .map((x: string | null, i: number) => `${x} = $(${i + 1})`)
513
+ .join(' AND ');
514
+ const values = getEntityByModel(model)
515
+ .propertyNames.map((property: string) =>
516
+ model[property as keyof typeof model] != null
517
+ ? model[property as keyof typeof model]
518
+ : null
519
+ )
520
+ .filter((x: any) => x != null)
521
+ .reduce(
522
+ (accum: any, val: any, index: number) =>
523
+ Object.assign({}, accum, { [index + 1]: val }),
524
+ {}
525
+ );
526
+ return { whereClause, values };
527
+ };
528
+
529
+ const getNewWith = (model: IModel, sqlColumns: any, values: any) => {
530
+ const Constructor = model.constructor as any;
531
+ const modelKeys = sqlColumns.map(
532
+ (key: string) =>
533
+ getEntityByModel(model).propertyNames[
534
+ getEntityByModel(model).columnNames.indexOf(key)
535
+ ]
536
+ );
537
+ const modelData = modelKeys.reduce(
538
+ (data: any, key: string, index: number) => {
539
+ data[key] = values[index];
540
+ return data;
541
+ },
542
+ {}
543
+ );
544
+ return new Constructor(modelData);
545
+ };
546
+
547
+ const getValueBySqlColumn = (model: IModel, sqlColumn: string) => {
548
+ return model[
549
+ getEntityByModel(model).propertyNames[
550
+ getEntityByModel(model).columnNames.indexOf(sqlColumn)
551
+ ] as keyof typeof model
552
+ ];
553
+ };
554
+ /* ------------------------------------------------------------------------*/
555
+ /* Query functions --------------------------------------------------------*/
556
+ /* ------------------------------------------------------------------------*/
557
+
558
+ const one = <T extends IModel>(
559
+ query: string,
560
+ values?: object,
561
+ errorHandler = defaultErrorHandler
562
+ ): T => {
563
+ return db
564
+ .many(query, values)
565
+ .then((rows: any) => createOneFromDatabase(rows))
566
+ .catch(errorHandler);
567
+ };
568
+
569
+ const oneOrNone = <T extends IModel>(
570
+ query: string,
571
+ values?: object,
572
+ errorHandler = defaultErrorHandler
573
+ ): T | void => {
574
+ return db
575
+ .any(query, values)
576
+ .then((rows: any) => createOneOrNoneFromDatabase(rows))
577
+ .catch(errorHandler);
578
+ };
579
+
580
+ const many = <T extends ICollection<IModel>>(
581
+ query: string,
582
+ values?: object,
583
+ errorHandler = defaultErrorHandler
584
+ ): T => {
585
+ return db
586
+ .any(query, values)
587
+ .then((rows: any) => createManyFromDatabase(rows))
588
+ .catch(errorHandler);
589
+ };
590
+
591
+ const any = <T extends ICollection<IModel>>(
592
+ query: string,
593
+ values?: object,
594
+ errorHandler = defaultErrorHandler
595
+ ): T | void => {
596
+ return db
597
+ .any(query, values)
598
+ .then((rows: any) => createFromDatabase(rows))
599
+ .catch(errorHandler);
600
+ };
601
+
602
+ const none = (
603
+ query: string,
604
+ values?: object,
605
+ errorHandler = defaultErrorHandler
606
+ ): void => {
607
+ return db
608
+ .none(query, values)
609
+ .then(() => null)
610
+ .catch(errorHandler);
611
+ };
612
+
613
+ /* ------------------------------------------------------------------------*/
614
+ /* Built-in basic CRUD functions ------------------------------------------*/
615
+ /* ------------------------------------------------------------------------*/
616
+
617
+ // Standard create
618
+ const create = <T extends IModel>(model: T): T => {
619
+ const { columns, values, valuesVar } = getSqlInsertParts(model);
620
+ const query = `
621
+ INSERT INTO "${getEntityByModel(model).tableName}" ( ${columns} )
622
+ VALUES ( ${valuesVar} )
623
+ RETURNING ${getEntityByModel(model).selectColumnsClause};
624
+ `;
625
+ return one<T>(query, values);
626
+ };
627
+
628
+ // Standard update
629
+ const update = <T extends IModel>(model: T, { on = 'id' } = {}): T => {
630
+ const { clause, idVar, values } = getSqlUpdateParts(model, on);
631
+ const query = `
632
+ UPDATE "${getEntityByModel(model).tableName}"
633
+ SET ${clause}
634
+ WHERE "${getEntityByModel(model).tableName}".${on} = ${idVar}
635
+ RETURNING ${getEntityByModel(model).selectColumnsClause};
636
+ `;
637
+ return one<T>(query, values);
638
+ };
639
+
640
+ // Standard delete
641
+ const _delete = <T extends IModel>(model: T): void => {
642
+ const id = (model as any).id;
643
+ const query = `
644
+ DELETE FROM "${getEntityByModel(model).tableName}"
645
+ WHERE "${getEntityByModel(model).tableName}".id = $(id)
646
+ `;
647
+ return none(query, { id });
648
+ };
649
+
650
+ const deleteMatching = <T extends IModel>(model: T) => {
651
+ const { whereClause, values } = getMatchingParts(model);
652
+ const query = `
653
+ DELETE FROM "${getEntityByModel(model).tableName}"
654
+ WHERE ${whereClause};
655
+ `;
656
+ return none(query, values);
657
+ };
658
+
659
+ const getMatching = <T extends IModel>(model: T): T => {
660
+ const { whereClause, values } = getMatchingParts(model);
661
+ const query = `
662
+ SELECT ${getEntityByModel(model).selectColumnsClause}
663
+ FROM "${getEntityByModel(model).tableName}"
664
+ WHERE ${whereClause};
665
+ `;
666
+ return one<T>(query, values);
667
+ };
668
+
669
+ const getOneOrNoneMatching = <T extends IModel>(model: T): T | void => {
670
+ const { whereClause, values } = getMatchingParts(model);
671
+ const query = `
672
+ SELECT ${getEntityByModel(model).selectColumnsClause}
673
+ FROM "${getEntityByModel(model).tableName}"
674
+ WHERE ${whereClause};
675
+ `;
676
+ return oneOrNone<T>(query, values);
677
+ };
678
+
679
+ const getAnyMatching = <T extends ICollection<IModel>>(
680
+ model: IModel
681
+ ): T | void => {
682
+ const { whereClause, values } = getMatchingParts(model);
683
+ const query = `
684
+ SELECT ${getEntityByModel(model).selectColumnsClause}
685
+ FROM "${getEntityByModel(model).tableName}"
686
+ WHERE ${whereClause};
687
+ `;
688
+ return any<T>(query, values);
689
+ };
690
+
691
+ const getAllMatching = <T extends ICollection<IModel>>(model: IModel): T => {
692
+ const { whereClause, values } = getMatchingParts(model);
693
+ const query = `
694
+ SELECT ${getEntityByModel(model).selectColumnsClause}
695
+ FROM "${getEntityByModel(model).tableName}"
696
+ WHERE ${whereClause};
697
+ `;
698
+ return many<T>(query, values);
699
+ };
700
+
701
+ return {
702
+ // Query Helper Function
703
+ nestClump,
704
+ clumpIntoGroups,
705
+ mapToBos,
706
+ objectifyDatabaseResult,
707
+ createFromDatabase,
708
+ createOneFromDatabase,
709
+ createOneOrNoneFromDatabase,
710
+ createManyFromDatabase,
711
+ getSqlInsertParts,
712
+ getSqlUpdateParts,
713
+ getMatchingParts,
714
+ getMatchingPartsObject,
715
+ getNewWith,
716
+ getValueBySqlColumn,
717
+ // Query Functions
718
+ one,
719
+ oneOrNone,
720
+ many,
721
+ any,
722
+ none,
723
+ // Built-in basic CRUD functions
724
+ create,
725
+ update,
726
+ delete: _delete,
727
+ deleteMatching,
728
+ getMatching,
729
+ getOneOrNoneMatching,
730
+ getAnyMatching,
731
+ getAllMatching,
732
+ tables: entities.reduce((accum: any, data: IEntityInternal<any>) => {
733
+ accum[data.displayName] = data.selectColumnsClause;
734
+ return accum;
735
+ }, {})
736
+ };
737
+ };