@spinajs/orm 2.0.480 → 2.0.482

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 (228) hide show
  1. package/README.md +72 -3
  2. package/lib/cjs/bootstrap.js +10 -0
  3. package/lib/cjs/bootstrap.js.map +1 -1
  4. package/lib/cjs/builders.d.ts +115 -11
  5. package/lib/cjs/builders.d.ts.map +1 -1
  6. package/lib/cjs/builders.js +342 -283
  7. package/lib/cjs/builders.js.map +1 -1
  8. package/lib/cjs/converters.d.ts +9 -2
  9. package/lib/cjs/converters.d.ts.map +1 -1
  10. package/lib/cjs/converters.js +48 -8
  11. package/lib/cjs/converters.js.map +1 -1
  12. package/lib/cjs/decorators.d.ts +26 -3
  13. package/lib/cjs/decorators.d.ts.map +1 -1
  14. package/lib/cjs/decorators.js +95 -42
  15. package/lib/cjs/decorators.js.map +1 -1
  16. package/lib/cjs/dehydrators.js +1 -1
  17. package/lib/cjs/dehydrators.js.map +1 -1
  18. package/lib/cjs/descriptor.d.ts +1 -0
  19. package/lib/cjs/descriptor.d.ts.map +1 -1
  20. package/lib/cjs/descriptor.js +16 -40
  21. package/lib/cjs/descriptor.js.map +1 -1
  22. package/lib/cjs/driver.d.ts +136 -7
  23. package/lib/cjs/driver.d.ts.map +1 -1
  24. package/lib/cjs/driver.js +279 -0
  25. package/lib/cjs/driver.js.map +1 -1
  26. package/lib/cjs/existsRelationHandlers.d.ts +29 -0
  27. package/lib/cjs/existsRelationHandlers.d.ts.map +1 -0
  28. package/lib/cjs/existsRelationHandlers.js +104 -0
  29. package/lib/cjs/existsRelationHandlers.js.map +1 -0
  30. package/lib/cjs/fp.d.ts.map +1 -1
  31. package/lib/cjs/fp.js +10 -15
  32. package/lib/cjs/fp.js.map +1 -1
  33. package/lib/cjs/hydrators.d.ts.map +1 -1
  34. package/lib/cjs/hydrators.js +29 -2
  35. package/lib/cjs/hydrators.js.map +1 -1
  36. package/lib/cjs/identity-map.d.ts +60 -0
  37. package/lib/cjs/identity-map.d.ts.map +1 -0
  38. package/lib/cjs/identity-map.js +135 -0
  39. package/lib/cjs/identity-map.js.map +1 -0
  40. package/lib/cjs/index.d.ts +12 -0
  41. package/lib/cjs/index.d.ts.map +1 -1
  42. package/lib/cjs/index.js +12 -0
  43. package/lib/cjs/index.js.map +1 -1
  44. package/lib/cjs/interfaces.d.ts +295 -9
  45. package/lib/cjs/interfaces.d.ts.map +1 -1
  46. package/lib/cjs/interfaces.js +54 -1
  47. package/lib/cjs/interfaces.js.map +1 -1
  48. package/lib/cjs/metadata.d.ts.map +1 -1
  49. package/lib/cjs/metadata.js +4 -1
  50. package/lib/cjs/metadata.js.map +1 -1
  51. package/lib/cjs/metrics.d.ts +53 -0
  52. package/lib/cjs/metrics.d.ts.map +1 -0
  53. package/lib/cjs/metrics.js +82 -0
  54. package/lib/cjs/metrics.js.map +1 -0
  55. package/lib/cjs/middlewares.d.ts +13 -1
  56. package/lib/cjs/middlewares.d.ts.map +1 -1
  57. package/lib/cjs/middlewares.js +55 -15
  58. package/lib/cjs/middlewares.js.map +1 -1
  59. package/lib/cjs/model.d.ts +129 -13
  60. package/lib/cjs/model.d.ts.map +1 -1
  61. package/lib/cjs/model.js +449 -93
  62. package/lib/cjs/model.js.map +1 -1
  63. package/lib/cjs/orm.d.ts.map +1 -1
  64. package/lib/cjs/orm.js +12 -3
  65. package/lib/cjs/orm.js.map +1 -1
  66. package/lib/cjs/orphan.d.ts +27 -0
  67. package/lib/cjs/orphan.d.ts.map +1 -0
  68. package/lib/cjs/orphan.js +55 -0
  69. package/lib/cjs/orphan.js.map +1 -0
  70. package/lib/cjs/primary-keys.d.ts +60 -0
  71. package/lib/cjs/primary-keys.d.ts.map +1 -0
  72. package/lib/cjs/primary-keys.js +243 -0
  73. package/lib/cjs/primary-keys.js.map +1 -0
  74. package/lib/cjs/relation-objects.d.ts +101 -9
  75. package/lib/cjs/relation-objects.d.ts.map +1 -1
  76. package/lib/cjs/relation-objects.js +194 -43
  77. package/lib/cjs/relation-objects.js.map +1 -1
  78. package/lib/cjs/relations.d.ts +7 -1
  79. package/lib/cjs/relations.d.ts.map +1 -1
  80. package/lib/cjs/relations.js +16 -1
  81. package/lib/cjs/relations.js.map +1 -1
  82. package/lib/cjs/resilience.d.ts +50 -0
  83. package/lib/cjs/resilience.d.ts.map +1 -0
  84. package/lib/cjs/resilience.js +70 -0
  85. package/lib/cjs/resilience.js.map +1 -0
  86. package/lib/cjs/snapshot.d.ts +58 -0
  87. package/lib/cjs/snapshot.d.ts.map +1 -0
  88. package/lib/cjs/snapshot.js +125 -0
  89. package/lib/cjs/snapshot.js.map +1 -0
  90. package/lib/cjs/statements.d.ts +11 -1
  91. package/lib/cjs/statements.d.ts.map +1 -1
  92. package/lib/cjs/statements.js +13 -2
  93. package/lib/cjs/statements.js.map +1 -1
  94. package/lib/cjs/subject-builder.d.ts +79 -0
  95. package/lib/cjs/subject-builder.d.ts.map +1 -0
  96. package/lib/cjs/subject-builder.js +296 -0
  97. package/lib/cjs/subject-builder.js.map +1 -0
  98. package/lib/cjs/subject-executor.d.ts +122 -0
  99. package/lib/cjs/subject-executor.d.ts.map +1 -0
  100. package/lib/cjs/subject-executor.js +319 -0
  101. package/lib/cjs/subject-executor.js.map +1 -0
  102. package/lib/cjs/subject-sorter.d.ts +70 -0
  103. package/lib/cjs/subject-sorter.d.ts.map +1 -0
  104. package/lib/cjs/subject-sorter.js +173 -0
  105. package/lib/cjs/subject-sorter.js.map +1 -0
  106. package/lib/cjs/subject.d.ts +100 -0
  107. package/lib/cjs/subject.d.ts.map +1 -0
  108. package/lib/cjs/subject.js +89 -0
  109. package/lib/cjs/subject.js.map +1 -0
  110. package/lib/cjs/unit-of-work.d.ts +52 -0
  111. package/lib/cjs/unit-of-work.d.ts.map +1 -0
  112. package/lib/cjs/unit-of-work.js +170 -0
  113. package/lib/cjs/unit-of-work.js.map +1 -0
  114. package/lib/mjs/bootstrap.js +10 -0
  115. package/lib/mjs/bootstrap.js.map +1 -1
  116. package/lib/mjs/builders.d.ts +115 -11
  117. package/lib/mjs/builders.d.ts.map +1 -1
  118. package/lib/mjs/builders.js +344 -285
  119. package/lib/mjs/builders.js.map +1 -1
  120. package/lib/mjs/converters.d.ts +9 -2
  121. package/lib/mjs/converters.d.ts.map +1 -1
  122. package/lib/mjs/converters.js +48 -8
  123. package/lib/mjs/converters.js.map +1 -1
  124. package/lib/mjs/decorators.d.ts +26 -3
  125. package/lib/mjs/decorators.d.ts.map +1 -1
  126. package/lib/mjs/decorators.js +96 -44
  127. package/lib/mjs/decorators.js.map +1 -1
  128. package/lib/mjs/dehydrators.js +1 -1
  129. package/lib/mjs/dehydrators.js.map +1 -1
  130. package/lib/mjs/descriptor.d.ts +1 -0
  131. package/lib/mjs/descriptor.d.ts.map +1 -1
  132. package/lib/mjs/descriptor.js +17 -39
  133. package/lib/mjs/descriptor.js.map +1 -1
  134. package/lib/mjs/driver.d.ts +136 -7
  135. package/lib/mjs/driver.d.ts.map +1 -1
  136. package/lib/mjs/driver.js +279 -0
  137. package/lib/mjs/driver.js.map +1 -1
  138. package/lib/mjs/existsRelationHandlers.d.ts +29 -0
  139. package/lib/mjs/existsRelationHandlers.d.ts.map +1 -0
  140. package/lib/mjs/existsRelationHandlers.js +100 -0
  141. package/lib/mjs/existsRelationHandlers.js.map +1 -0
  142. package/lib/mjs/fp.d.ts.map +1 -1
  143. package/lib/mjs/fp.js +10 -15
  144. package/lib/mjs/fp.js.map +1 -1
  145. package/lib/mjs/hydrators.d.ts.map +1 -1
  146. package/lib/mjs/hydrators.js +29 -2
  147. package/lib/mjs/hydrators.js.map +1 -1
  148. package/lib/mjs/identity-map.d.ts +60 -0
  149. package/lib/mjs/identity-map.d.ts.map +1 -0
  150. package/lib/mjs/identity-map.js +130 -0
  151. package/lib/mjs/identity-map.js.map +1 -0
  152. package/lib/mjs/index.d.ts +12 -0
  153. package/lib/mjs/index.d.ts.map +1 -1
  154. package/lib/mjs/index.js +12 -0
  155. package/lib/mjs/index.js.map +1 -1
  156. package/lib/mjs/interfaces.d.ts +295 -9
  157. package/lib/mjs/interfaces.d.ts.map +1 -1
  158. package/lib/mjs/interfaces.js +53 -0
  159. package/lib/mjs/interfaces.js.map +1 -1
  160. package/lib/mjs/metadata.d.ts.map +1 -1
  161. package/lib/mjs/metadata.js +4 -1
  162. package/lib/mjs/metadata.js.map +1 -1
  163. package/lib/mjs/metrics.d.ts +53 -0
  164. package/lib/mjs/metrics.d.ts.map +1 -0
  165. package/lib/mjs/metrics.js +76 -0
  166. package/lib/mjs/metrics.js.map +1 -0
  167. package/lib/mjs/middlewares.d.ts +13 -1
  168. package/lib/mjs/middlewares.d.ts.map +1 -1
  169. package/lib/mjs/middlewares.js +55 -15
  170. package/lib/mjs/middlewares.js.map +1 -1
  171. package/lib/mjs/model.d.ts +129 -13
  172. package/lib/mjs/model.d.ts.map +1 -1
  173. package/lib/mjs/model.js +451 -95
  174. package/lib/mjs/model.js.map +1 -1
  175. package/lib/mjs/orm.d.ts.map +1 -1
  176. package/lib/mjs/orm.js +12 -3
  177. package/lib/mjs/orm.js.map +1 -1
  178. package/lib/mjs/orphan.d.ts +27 -0
  179. package/lib/mjs/orphan.d.ts.map +1 -0
  180. package/lib/mjs/orphan.js +52 -0
  181. package/lib/mjs/orphan.js.map +1 -0
  182. package/lib/mjs/primary-keys.d.ts +60 -0
  183. package/lib/mjs/primary-keys.d.ts.map +1 -0
  184. package/lib/mjs/primary-keys.js +223 -0
  185. package/lib/mjs/primary-keys.js.map +1 -0
  186. package/lib/mjs/relation-objects.d.ts +101 -9
  187. package/lib/mjs/relation-objects.d.ts.map +1 -1
  188. package/lib/mjs/relation-objects.js +194 -43
  189. package/lib/mjs/relation-objects.js.map +1 -1
  190. package/lib/mjs/relations.d.ts +7 -1
  191. package/lib/mjs/relations.d.ts.map +1 -1
  192. package/lib/mjs/relations.js +16 -1
  193. package/lib/mjs/relations.js.map +1 -1
  194. package/lib/mjs/resilience.d.ts +50 -0
  195. package/lib/mjs/resilience.d.ts.map +1 -0
  196. package/lib/mjs/resilience.js +64 -0
  197. package/lib/mjs/resilience.js.map +1 -0
  198. package/lib/mjs/snapshot.d.ts +58 -0
  199. package/lib/mjs/snapshot.d.ts.map +1 -0
  200. package/lib/mjs/snapshot.js +115 -0
  201. package/lib/mjs/snapshot.js.map +1 -0
  202. package/lib/mjs/statements.d.ts +11 -1
  203. package/lib/mjs/statements.d.ts.map +1 -1
  204. package/lib/mjs/statements.js +14 -3
  205. package/lib/mjs/statements.js.map +1 -1
  206. package/lib/mjs/subject-builder.d.ts +79 -0
  207. package/lib/mjs/subject-builder.d.ts.map +1 -0
  208. package/lib/mjs/subject-builder.js +292 -0
  209. package/lib/mjs/subject-builder.js.map +1 -0
  210. package/lib/mjs/subject-executor.d.ts +122 -0
  211. package/lib/mjs/subject-executor.d.ts.map +1 -0
  212. package/lib/mjs/subject-executor.js +312 -0
  213. package/lib/mjs/subject-executor.js.map +1 -0
  214. package/lib/mjs/subject-sorter.d.ts +70 -0
  215. package/lib/mjs/subject-sorter.d.ts.map +1 -0
  216. package/lib/mjs/subject-sorter.js +168 -0
  217. package/lib/mjs/subject-sorter.js.map +1 -0
  218. package/lib/mjs/subject.d.ts +100 -0
  219. package/lib/mjs/subject.d.ts.map +1 -0
  220. package/lib/mjs/subject.js +84 -0
  221. package/lib/mjs/subject.js.map +1 -0
  222. package/lib/mjs/unit-of-work.d.ts +52 -0
  223. package/lib/mjs/unit-of-work.d.ts.map +1 -0
  224. package/lib/mjs/unit-of-work.js +166 -0
  225. package/lib/mjs/unit-of-work.js.map +1 -0
  226. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  227. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  228. package/package.json +9 -7
@@ -1 +1 @@
1
- {"version":3,"file":"hydrators.js","sourceRoot":"","sources":["../../src/hydrators.ts"],"names":[],"mappings":";;;;;;;;;AAAA,sCAAsC;AACtC,mDAAmE;AAEnE,oCAAwD;AACxD,+DAA8E;AAE9E,MAAsB,aAAa;CAElC;AAFD,sCAEC;AAGM,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,aAAa;IAC5C,OAAO,CAAC,MAAiB,EAAE,MAAW;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;QAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,WAAW,CAAC,IAAI,6BAA6B,CAAC,CAAC;QAChG,CAAC;QAED,qCAAqC;QACrC,wBAAwB;QACxB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACjB,0CAA0C;YAC1C,gDAAgD;YAChD,IAAI,CAAC,KAAK,UAAU,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YAE7D,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAc,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACnJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAxBY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,eAAU,EAAC,aAAa,CAAC;GACb,kBAAkB,CAwB9B;AAGM,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,aAAa;IAC/C,OAAO,CAAC,MAAiB,EAAE,MAAW;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;QAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,WAAW,CAAC,IAAI,6BAA6B,CAAC,CAAC;QAChG,CAAC;QAED,yCAAyC;QACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAC5G,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAChB,MAAc,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAbY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,eAAU,EAAC,aAAa,CAAC;GACb,qBAAqB,CAajC;AAGM,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,aAAa;IACnD,OAAO,CAAC,MAAiB,EAAE,MAAW;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;QAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,WAAW,CAAC,IAAI,6BAA6B,CAAC,CAAC;QAChG,CAAC;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YAC9C,IAAI,GAAG,CAAC,IAAI,KAAK,4BAAY,CAAC,IAAI,EAAE,CAAC;gBACnC,SAAS;YACX,CAAC;YAED,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,MAAa,CAAC;gBAE7B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;oBACxC,MAAM,OAAO,GAAG,CAAC,IAAA,kBAAa,EAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAE,GAAG,CAAC,WAAkC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAK,GAAG,CAAC,WAAmB,EAAE,CAAC;oBACpI,OAAe,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC;oBAC1C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACnB,OAAO,OAAO,CAAC;gBACjB,CAAC,CAAC,CAAC;gBAEH,MAAM,GAAG,GAAG,IAAI,2CAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC3D,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;gBAClB,OAAQ,MAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA;AA5BY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,eAAU,EAAC,aAAa,CAAC;GACb,yBAAyB,CA4BrC;AAGM,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,aAAa;IAClD,OAAO,CAAC,MAAiB,EAAE,MAAW;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;QAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,WAAW,CAAC,IAAI,6BAA6B,CAAC,CAAC;QAChG,CAAC;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YAC9C,IAAI,GAAG,CAAC,IAAI,KAAK,4BAAY,CAAC,GAAG,EAAE,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,MAAa,CAAC;gBAC7B,IAAI,OAAO,GAAG,SAAS,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;oBACzD,OAAO,GAAG,CAAC,IAAA,kBAAa,EAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAE,GAAG,CAAC,WAAkC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAK,GAAG,CAAC,WAAmB,EAAE,CAAC;oBAC/H,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC5B,OAAe,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC;gBAC5C,CAAC;gBAED,MAAM,GAAG,GAAG,IAAI,oCAAc,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;gBACtE,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA;AA1BY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,eAAU,EAAC,aAAa,CAAC;GACb,wBAAwB,CA0BpC;AAGM,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,aAAa;IACvD,OAAO,CAAC,MAAiB,EAAE,MAAW;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;QAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,WAAW,CAAC,IAAI,6BAA6B,CAAC,CAAC;QAChG,CAAC;QAED,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,uBAAuB,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAEpC,MAAc,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QACpC,CAAC;IACH,CAAC;CACF,CAAA;AAdY,sEAA6B;wCAA7B,6BAA6B;IADzC,IAAA,eAAU,EAAC,aAAa,CAAC;GACb,6BAA6B,CAczC"}
1
+ {"version":3,"file":"hydrators.js","sourceRoot":"","sources":["../../src/hydrators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import { Constructor } from '@spinajs/di';
2
+ import { IIdentityMap } from './interfaces.js';
3
+ import type { ModelBase } from './model.js';
4
+ /**
5
+ * Renders a primary-key value as a Map key.
6
+ *
7
+ * Type-tagged so `1` and `'1'` never collide — a string key column and an integer key column
8
+ * on two different models could otherwise alias each other through a shared cache. Returns
9
+ * `null` for an absent key: a model with no primary key cannot be identified and is never
10
+ * registered.
11
+ *
12
+ * A composite key arrives as a tuple ( that is what `ModelBase.PrimaryKeyValue` returns for a
13
+ * multi-column key ). Its parts are rendered individually and length-prefixed, because
14
+ * `String([1, 2])` and `String(['1,2'])` are both `"1,2"`. A tuple with any part missing has
15
+ * no identity at all, so it renders as `null` — the same answer as a missing scalar key.
16
+ *
17
+ * A one-element tuple renders exactly like the bare scalar: the ORM reads a single-column key
18
+ * as a scalar everywhere, and both spellings must reach the same entry.
19
+ *
20
+ * @param pk - primary key value: a scalar, or a tuple in key order
21
+ */
22
+ export declare function identityKey(pk: unknown): string | null;
23
+ /**
24
+ * Maps `(table, primary key) -> instance` for the duration of one `save()` graph walk, or of
25
+ * one transaction when several saves run inside it ( overview decision D7 ).
26
+ *
27
+ * Its only job is to guarantee that a row reached through two relation paths produces one
28
+ * subject rather than two conflicting ones. It is **not** a cache: nothing outside a
29
+ * `save()` consults it, it is discarded when the transaction ends, and queries behave
30
+ * exactly as they did before.
31
+ *
32
+ * **Keyed by table name, not by constructor.** A row's identity is the table it lives in plus
33
+ * its key — that is the definition `SubjectBuilder.buildOrphans` has always used, for the
34
+ * reason it records there: a `@DiscriminationMap` produces several constructors for one
35
+ * table, and a subclass instance is still the same row. Keying here by constructor made the
36
+ * two disagree, so the same row reached once as its base class and once as its discriminated
37
+ * subclass produced two entries and two conflicting subjects for one row.
38
+ *
39
+ * Table names are unique within the map's scope because `UnitOfWork.save()` refuses to span
40
+ * connections, so the A9 concerns that ruled out CLASS NAME keys — minification, and two
41
+ * connections declaring the same class name — do not apply to table names here. A table name
42
+ * is data from the schema, not a symbol the bundler may rewrite.
43
+ */
44
+ export declare class IdentityMap implements IIdentityMap {
45
+ private _entries;
46
+ private _size;
47
+ get Size(): number;
48
+ get(model: Constructor<ModelBase>, pk: unknown): ModelBase | undefined;
49
+ has(model: Constructor<ModelBase>, pk: unknown): boolean;
50
+ /**
51
+ * Registers `model` and returns the canonical instance for its identity — the one already
52
+ * registered if there is one, otherwise `model` itself. A model with no primary key is
53
+ * returned unchanged and not registered: it has no identity yet.
54
+ *
55
+ * @param model - model to canonicalize
56
+ */
57
+ add(model: ModelBase): ModelBase;
58
+ clear(): void;
59
+ }
60
+ //# sourceMappingURL=identity-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-map.d.ts","sourceRoot":"","sources":["../../src/identity-map.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAS5C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CA2BtD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,WAAY,YAAW,YAAY;IAC9C,OAAO,CAAC,QAAQ,CAA8C;IAE9D,OAAO,CAAC,KAAK,CAAK;IAElB,IAAW,IAAI,IAAI,MAAM,CAExB;IAEM,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS;IAStE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO;IAI/D;;;;;;OAMG;IACI,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS;IAyBhC,KAAK,IAAI,IAAI;CAIrB"}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IdentityMap = void 0;
4
+ exports.identityKey = identityKey;
5
+ const descriptor_js_1 = require("./descriptor.js");
6
+ /**
7
+ * Separator between the parts of a composite key. Any character does: every part is
8
+ * length-prefixed, and it is the length prefix — not the separator — that makes two
9
+ * different tuples impossible to confuse.
10
+ */
11
+ const KEY_SEPARATOR = '|';
12
+ /**
13
+ * Renders a primary-key value as a Map key.
14
+ *
15
+ * Type-tagged so `1` and `'1'` never collide — a string key column and an integer key column
16
+ * on two different models could otherwise alias each other through a shared cache. Returns
17
+ * `null` for an absent key: a model with no primary key cannot be identified and is never
18
+ * registered.
19
+ *
20
+ * A composite key arrives as a tuple ( that is what `ModelBase.PrimaryKeyValue` returns for a
21
+ * multi-column key ). Its parts are rendered individually and length-prefixed, because
22
+ * `String([1, 2])` and `String(['1,2'])` are both `"1,2"`. A tuple with any part missing has
23
+ * no identity at all, so it renders as `null` — the same answer as a missing scalar key.
24
+ *
25
+ * A one-element tuple renders exactly like the bare scalar: the ORM reads a single-column key
26
+ * as a scalar everywhere, and both spellings must reach the same entry.
27
+ *
28
+ * @param pk - primary key value: a scalar, or a tuple in key order
29
+ */
30
+ function identityKey(pk) {
31
+ if (pk === null || pk === undefined) {
32
+ return null;
33
+ }
34
+ if (Buffer.isBuffer(pk)) {
35
+ return `b:${pk.toString('hex')}`;
36
+ }
37
+ if (Array.isArray(pk)) {
38
+ if (pk.length === 1) {
39
+ return identityKey(pk[0]);
40
+ }
41
+ const parts = [];
42
+ for (const part of pk) {
43
+ const rendered = identityKey(part);
44
+ if (rendered === null) {
45
+ return null;
46
+ }
47
+ parts.push(`${rendered.length}:${rendered}`);
48
+ }
49
+ return parts.join(KEY_SEPARATOR);
50
+ }
51
+ return `${typeof pk}:${String(pk)}`;
52
+ }
53
+ /**
54
+ * Maps `(table, primary key) -> instance` for the duration of one `save()` graph walk, or of
55
+ * one transaction when several saves run inside it ( overview decision D7 ).
56
+ *
57
+ * Its only job is to guarantee that a row reached through two relation paths produces one
58
+ * subject rather than two conflicting ones. It is **not** a cache: nothing outside a
59
+ * `save()` consults it, it is discarded when the transaction ends, and queries behave
60
+ * exactly as they did before.
61
+ *
62
+ * **Keyed by table name, not by constructor.** A row's identity is the table it lives in plus
63
+ * its key — that is the definition `SubjectBuilder.buildOrphans` has always used, for the
64
+ * reason it records there: a `@DiscriminationMap` produces several constructors for one
65
+ * table, and a subclass instance is still the same row. Keying here by constructor made the
66
+ * two disagree, so the same row reached once as its base class and once as its discriminated
67
+ * subclass produced two entries and two conflicting subjects for one row.
68
+ *
69
+ * Table names are unique within the map's scope because `UnitOfWork.save()` refuses to span
70
+ * connections, so the A9 concerns that ruled out CLASS NAME keys — minification, and two
71
+ * connections declaring the same class name — do not apply to table names here. A table name
72
+ * is data from the schema, not a symbol the bundler may rewrite.
73
+ */
74
+ class IdentityMap {
75
+ constructor() {
76
+ this._entries = new Map();
77
+ this._size = 0;
78
+ }
79
+ get Size() {
80
+ return this._size;
81
+ }
82
+ get(model, pk) {
83
+ const key = identityKey(pk);
84
+ if (key === null) {
85
+ return undefined;
86
+ }
87
+ return this._entries.get(scopeOf(model))?.get(key);
88
+ }
89
+ has(model, pk) {
90
+ return this.get(model, pk) !== undefined;
91
+ }
92
+ /**
93
+ * Registers `model` and returns the canonical instance for its identity — the one already
94
+ * registered if there is one, otherwise `model` itself. A model with no primary key is
95
+ * returned unchanged and not registered: it has no identity yet.
96
+ *
97
+ * @param model - model to canonicalize
98
+ */
99
+ add(model) {
100
+ const key = identityKey(model.PrimaryKeyValue);
101
+ if (key === null) {
102
+ return model;
103
+ }
104
+ const scope = scopeOf(model.constructor);
105
+ let byKey = this._entries.get(scope);
106
+ if (!byKey) {
107
+ byKey = new Map();
108
+ this._entries.set(scope, byKey);
109
+ }
110
+ const existing = byKey.get(key);
111
+ if (existing) {
112
+ return existing;
113
+ }
114
+ byKey.set(key, model);
115
+ this._size += 1;
116
+ return model;
117
+ }
118
+ clear() {
119
+ this._entries.clear();
120
+ this._size = 0;
121
+ }
122
+ }
123
+ exports.IdentityMap = IdentityMap;
124
+ /**
125
+ * The bucket a model class's rows live in: its table when it has a descriptor, otherwise the
126
+ * constructor itself.
127
+ *
128
+ * The table string and the constructor object can never collide as Map keys, so the fallback
129
+ * is safe. It exists for classes the ORM was handed without a `@Model` decorator — they have
130
+ * no table to unify on, and each constructor keeping its own bucket is the old behaviour.
131
+ */
132
+ function scopeOf(model) {
133
+ return (0, descriptor_js_1.extractModelDescriptor)(model)?.TableName ?? model;
134
+ }
135
+ //# sourceMappingURL=identity-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-map.js","sourceRoot":"","sources":["../../src/identity-map.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,9 @@ export * from './interfaces.js';
2
2
  export * from './enums.js';
3
3
  export * from './symbols.js';
4
4
  export * from './descriptor.js';
5
+ export * from './primary-keys.js';
6
+ export * from './resilience.js';
7
+ export * from './metrics.js';
5
8
  export * from './schema.js';
6
9
  export * from './schema-providers.js';
7
10
  export * from './statements.js';
@@ -9,6 +12,7 @@ export * from './exceptions.js';
9
12
  export * from './converters.js';
10
13
  export * from './decorators.js';
11
14
  export * from './builders.js';
15
+ export * from './existsRelationHandlers.js';
12
16
  export * from './model.js';
13
17
  export * from './relations.js';
14
18
  export * from './relation-objects.js';
@@ -18,6 +22,14 @@ export * from './orm.js';
18
22
  export * from './types.js';
19
23
  export * from './hydrators.js';
20
24
  export * from './dehydrators.js';
25
+ export * from './snapshot.js';
26
+ export * from './identity-map.js';
27
+ export * from './orphan.js';
28
+ export * from './subject.js';
29
+ export * from './subject-builder.js';
30
+ export * from './subject-sorter.js';
31
+ export * from './subject-executor.js';
32
+ export * from './unit-of-work.js';
21
33
  export * from './driver.js';
22
34
  export * from './wrappers.js';
23
35
  export * from './fp.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
package/lib/cjs/index.js CHANGED
@@ -18,6 +18,9 @@ __exportStar(require("./interfaces.js"), exports);
18
18
  __exportStar(require("./enums.js"), exports);
19
19
  __exportStar(require("./symbols.js"), exports);
20
20
  __exportStar(require("./descriptor.js"), exports);
21
+ __exportStar(require("./primary-keys.js"), exports);
22
+ __exportStar(require("./resilience.js"), exports);
23
+ __exportStar(require("./metrics.js"), exports);
21
24
  __exportStar(require("./schema.js"), exports);
22
25
  __exportStar(require("./schema-providers.js"), exports);
23
26
  __exportStar(require("./statements.js"), exports);
@@ -25,6 +28,7 @@ __exportStar(require("./exceptions.js"), exports);
25
28
  __exportStar(require("./converters.js"), exports);
26
29
  __exportStar(require("./decorators.js"), exports);
27
30
  __exportStar(require("./builders.js"), exports);
31
+ __exportStar(require("./existsRelationHandlers.js"), exports);
28
32
  __exportStar(require("./model.js"), exports);
29
33
  __exportStar(require("./relations.js"), exports);
30
34
  __exportStar(require("./relation-objects.js"), exports);
@@ -34,6 +38,14 @@ __exportStar(require("./orm.js"), exports);
34
38
  __exportStar(require("./types.js"), exports);
35
39
  __exportStar(require("./hydrators.js"), exports);
36
40
  __exportStar(require("./dehydrators.js"), exports);
41
+ __exportStar(require("./snapshot.js"), exports);
42
+ __exportStar(require("./identity-map.js"), exports);
43
+ __exportStar(require("./orphan.js"), exports);
44
+ __exportStar(require("./subject.js"), exports);
45
+ __exportStar(require("./subject-builder.js"), exports);
46
+ __exportStar(require("./subject-sorter.js"), exports);
47
+ __exportStar(require("./subject-executor.js"), exports);
48
+ __exportStar(require("./unit-of-work.js"), exports);
37
49
  __exportStar(require("./driver.js"), exports);
38
50
  __exportStar(require("./wrappers.js"), exports);
39
51
  __exportStar(require("./fp.js"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,6CAA2B;AAC3B,+CAA6B;AAC7B,kDAAgC;AAChC,8CAA4B;AAC5B,wDAAsC;AACtC,kDAAgC;AAChC,kDAAgC;AAChC,kDAAgC;AAChC,kDAAgC;AAChC,gDAA8B;AAC9B,6CAA2B;AAC3B,iDAA+B;AAC/B,wDAAsC;AACtC,mDAAiC;AACjC,iEAA+C;AAC/C,2CAAyB;AACzB,6CAA2B;AAC3B,iDAA+B;AAC/B,mDAAiC;AACjC,8CAA4B;AAC5B,gDAA8B;AAC9B,0CAAwB;AACxB,iDAA+B;AAC/B,gDAA8B;AAE9B,mFAAmF;AACnF,kDAAkD;AAClD,sFAAsF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,6CAA2B;AAC3B,+CAA6B;AAC7B,kDAAgC;AAChC,oDAAkC;AAClC,kDAAgC;AAChC,+CAA6B;AAC7B,8CAA4B;AAC5B,wDAAsC;AACtC,kDAAgC;AAChC,kDAAgC;AAChC,kDAAgC;AAChC,kDAAgC;AAChC,gDAA8B;AAC9B,8DAA4C;AAC5C,6CAA2B;AAC3B,iDAA+B;AAC/B,wDAAsC;AACtC,mDAAiC;AACjC,iEAA+C;AAC/C,2CAAyB;AACzB,6CAA2B;AAC3B,iDAA+B;AAC/B,mDAAiC;AACjC,gDAA8B;AAC9B,oDAAkC;AAClC,8CAA4B;AAC5B,+CAA6B;AAC7B,uDAAqC;AACrC,sDAAoC;AACpC,wDAAsC;AACtC,oDAAkC;AAClC,8CAA4B;AAC5B,gDAA8B;AAC9B,0CAAwB;AACxB,iDAA+B;AAC/B,gDAA8B;AAE9B,mFAAmF;AACnF,kDAAkD;AAClD,sFAAsF"}