dynamo-document-builder 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (310) hide show
  1. package/README.md +367 -0
  2. package/dist/attributes/attribute-map.cjs +52 -0
  3. package/dist/attributes/attribute-map.cjs.map +1 -1
  4. package/dist/attributes/attribute-map.d.ts +67 -0
  5. package/dist/attributes/attribute-map.mjs +52 -0
  6. package/dist/attributes/attribute-map.mjs.map +1 -1
  7. package/dist/commands/batch-get.cjs +43 -0
  8. package/dist/commands/batch-get.cjs.map +1 -1
  9. package/dist/commands/batch-get.d.ts +51 -3
  10. package/dist/commands/batch-get.mjs +44 -1
  11. package/dist/commands/batch-get.mjs.map +1 -1
  12. package/dist/commands/batch-projected-get.cjs +42 -0
  13. package/dist/commands/batch-projected-get.cjs.map +1 -1
  14. package/dist/commands/batch-projected-get.d.ts +56 -3
  15. package/dist/commands/batch-projected-get.mjs +42 -0
  16. package/dist/commands/batch-projected-get.mjs.map +1 -1
  17. package/dist/commands/batch-write.cjs +44 -0
  18. package/dist/commands/batch-write.cjs.map +1 -1
  19. package/dist/commands/batch-write.d.ts +54 -4
  20. package/dist/commands/batch-write.mjs +45 -1
  21. package/dist/commands/batch-write.mjs.map +1 -1
  22. package/dist/commands/condition-check.cjs +37 -0
  23. package/dist/commands/condition-check.cjs.map +1 -1
  24. package/dist/commands/condition-check.d.ts +45 -3
  25. package/dist/commands/condition-check.mjs +37 -0
  26. package/dist/commands/condition-check.mjs.map +1 -1
  27. package/dist/commands/conditional-delete.cjs +33 -0
  28. package/dist/commands/conditional-delete.cjs.map +1 -1
  29. package/dist/commands/conditional-delete.d.ts +46 -3
  30. package/dist/commands/conditional-delete.mjs +33 -0
  31. package/dist/commands/conditional-delete.mjs.map +1 -1
  32. package/dist/commands/conditional-put.cjs +34 -0
  33. package/dist/commands/conditional-put.cjs.map +1 -1
  34. package/dist/commands/conditional-put.d.ts +48 -4
  35. package/dist/commands/conditional-put.mjs +34 -0
  36. package/dist/commands/conditional-put.mjs.map +1 -1
  37. package/dist/commands/conditional-update.cjs +35 -0
  38. package/dist/commands/conditional-update.cjs.map +1 -1
  39. package/dist/commands/conditional-update.d.ts +48 -3
  40. package/dist/commands/conditional-update.mjs +35 -0
  41. package/dist/commands/conditional-update.mjs.map +1 -1
  42. package/dist/commands/delete.cjs +32 -0
  43. package/dist/commands/delete.cjs.map +1 -1
  44. package/dist/commands/delete.d.ts +44 -2
  45. package/dist/commands/delete.mjs +32 -0
  46. package/dist/commands/delete.mjs.map +1 -1
  47. package/dist/commands/get.cjs +33 -0
  48. package/dist/commands/get.cjs.map +1 -1
  49. package/dist/commands/get.d.ts +45 -2
  50. package/dist/commands/get.mjs +33 -0
  51. package/dist/commands/get.mjs.map +1 -1
  52. package/dist/commands/index.cjs +8 -0
  53. package/dist/commands/index.cjs.map +1 -1
  54. package/dist/commands/index.d.ts +160 -1
  55. package/dist/commands/index.mjs +4 -0
  56. package/dist/commands/index.mjs.map +1 -1
  57. package/dist/commands/projected-get.cjs +40 -0
  58. package/dist/commands/projected-get.cjs.map +1 -1
  59. package/dist/commands/projected-get.d.ts +54 -3
  60. package/dist/commands/projected-get.mjs +40 -0
  61. package/dist/commands/projected-get.mjs.map +1 -1
  62. package/dist/commands/projected-query.cjs +41 -0
  63. package/dist/commands/projected-query.cjs.map +1 -1
  64. package/dist/commands/projected-query.d.ts +56 -3
  65. package/dist/commands/projected-query.mjs +41 -0
  66. package/dist/commands/projected-query.mjs.map +1 -1
  67. package/dist/commands/projected-scan.cjs +41 -0
  68. package/dist/commands/projected-scan.cjs.map +1 -1
  69. package/dist/commands/projected-scan.d.ts +55 -3
  70. package/dist/commands/projected-scan.mjs +41 -0
  71. package/dist/commands/projected-scan.mjs.map +1 -1
  72. package/dist/commands/put.cjs +37 -0
  73. package/dist/commands/put.cjs.map +1 -1
  74. package/dist/commands/put.d.ts +50 -3
  75. package/dist/commands/put.mjs +37 -0
  76. package/dist/commands/put.mjs.map +1 -1
  77. package/dist/commands/query.cjs +35 -0
  78. package/dist/commands/query.cjs.map +1 -1
  79. package/dist/commands/query.d.ts +48 -3
  80. package/dist/commands/query.mjs +35 -0
  81. package/dist/commands/query.mjs.map +1 -1
  82. package/dist/commands/scan.cjs +33 -0
  83. package/dist/commands/scan.cjs.map +1 -1
  84. package/dist/commands/scan.d.ts +46 -3
  85. package/dist/commands/scan.mjs +33 -0
  86. package/dist/commands/scan.mjs.map +1 -1
  87. package/dist/commands/table-batch-get.cjs +123 -0
  88. package/dist/commands/table-batch-get.cjs.map +1 -0
  89. package/dist/commands/table-batch-get.d.ts +86 -0
  90. package/dist/commands/table-batch-get.mjs +121 -0
  91. package/dist/commands/table-batch-get.mjs.map +1 -0
  92. package/dist/commands/table-batch-write.cjs +119 -0
  93. package/dist/commands/table-batch-write.cjs.map +1 -0
  94. package/dist/commands/table-batch-write.d.ts +79 -0
  95. package/dist/commands/table-batch-write.mjs +117 -0
  96. package/dist/commands/table-batch-write.mjs.map +1 -0
  97. package/dist/commands/table-transact-get.cjs +73 -0
  98. package/dist/commands/table-transact-get.cjs.map +1 -0
  99. package/dist/commands/table-transact-get.d.ts +60 -0
  100. package/dist/commands/table-transact-get.mjs +71 -0
  101. package/dist/commands/table-transact-get.mjs.map +1 -0
  102. package/dist/commands/table-transact-write.cjs +76 -0
  103. package/dist/commands/table-transact-write.cjs.map +1 -0
  104. package/dist/commands/table-transact-write.d.ts +51 -0
  105. package/dist/commands/table-transact-write.mjs +74 -0
  106. package/dist/commands/table-transact-write.mjs.map +1 -0
  107. package/dist/commands/transact-get.cjs +38 -0
  108. package/dist/commands/transact-get.cjs.map +1 -1
  109. package/dist/commands/transact-get.d.ts +49 -3
  110. package/dist/commands/transact-get.mjs +39 -1
  111. package/dist/commands/transact-get.mjs.map +1 -1
  112. package/dist/commands/transact-write.cjs +37 -0
  113. package/dist/commands/transact-write.cjs.map +1 -1
  114. package/dist/commands/transact-write.d.ts +46 -1
  115. package/dist/commands/transact-write.mjs +37 -0
  116. package/dist/commands/transact-write.mjs.map +1 -1
  117. package/dist/commands/update.cjs +37 -0
  118. package/dist/commands/update.cjs.map +1 -1
  119. package/dist/commands/update.d.ts +50 -3
  120. package/dist/commands/update.mjs +37 -0
  121. package/dist/commands/update.mjs.map +1 -1
  122. package/dist/conditions/and.cjs +3 -0
  123. package/dist/conditions/and.cjs.map +1 -1
  124. package/dist/conditions/and.d.ts +4 -1
  125. package/dist/conditions/and.mjs +3 -0
  126. package/dist/conditions/and.mjs.map +1 -1
  127. package/dist/conditions/begins-with.cjs +3 -0
  128. package/dist/conditions/begins-with.cjs.map +1 -1
  129. package/dist/conditions/begins-with.d.ts +4 -1
  130. package/dist/conditions/begins-with.mjs +3 -0
  131. package/dist/conditions/begins-with.mjs.map +1 -1
  132. package/dist/conditions/between.cjs +3 -0
  133. package/dist/conditions/between.cjs.map +1 -1
  134. package/dist/conditions/between.d.ts +4 -1
  135. package/dist/conditions/between.mjs +3 -0
  136. package/dist/conditions/between.mjs.map +1 -1
  137. package/dist/conditions/condition-parser.d.ts +1 -1
  138. package/dist/conditions/contains.cjs +3 -0
  139. package/dist/conditions/contains.cjs.map +1 -1
  140. package/dist/conditions/contains.d.ts +4 -1
  141. package/dist/conditions/contains.mjs +3 -0
  142. package/dist/conditions/contains.mjs.map +1 -1
  143. package/dist/conditions/equals.cjs +3 -0
  144. package/dist/conditions/equals.cjs.map +1 -1
  145. package/dist/conditions/equals.d.ts +4 -1
  146. package/dist/conditions/equals.mjs +3 -0
  147. package/dist/conditions/equals.mjs.map +1 -1
  148. package/dist/conditions/exists.cjs +3 -0
  149. package/dist/conditions/exists.cjs.map +1 -1
  150. package/dist/conditions/exists.d.ts +4 -1
  151. package/dist/conditions/exists.mjs +3 -0
  152. package/dist/conditions/exists.mjs.map +1 -1
  153. package/dist/conditions/greater-than-or-equal.cjs +3 -0
  154. package/dist/conditions/greater-than-or-equal.cjs.map +1 -1
  155. package/dist/conditions/greater-than-or-equal.d.ts +4 -1
  156. package/dist/conditions/greater-than-or-equal.mjs +3 -0
  157. package/dist/conditions/greater-than-or-equal.mjs.map +1 -1
  158. package/dist/conditions/greater-than.cjs +3 -0
  159. package/dist/conditions/greater-than.cjs.map +1 -1
  160. package/dist/conditions/greater-than.d.ts +4 -1
  161. package/dist/conditions/greater-than.mjs +3 -0
  162. package/dist/conditions/greater-than.mjs.map +1 -1
  163. package/dist/conditions/index.cjs +2 -2
  164. package/dist/conditions/index.d.ts +185 -2
  165. package/dist/conditions/index.mjs +1 -1
  166. package/dist/conditions/is-in.cjs +3 -0
  167. package/dist/conditions/is-in.cjs.map +1 -1
  168. package/dist/conditions/is-in.d.ts +4 -1
  169. package/dist/conditions/is-in.mjs +3 -0
  170. package/dist/conditions/is-in.mjs.map +1 -1
  171. package/dist/conditions/less-than-or-equal.cjs +3 -0
  172. package/dist/conditions/less-than-or-equal.cjs.map +1 -1
  173. package/dist/conditions/less-than-or-equal.d.ts +4 -1
  174. package/dist/conditions/less-than-or-equal.mjs +3 -0
  175. package/dist/conditions/less-than-or-equal.mjs.map +1 -1
  176. package/dist/conditions/less-than.cjs +3 -0
  177. package/dist/conditions/less-than.cjs.map +1 -1
  178. package/dist/conditions/less-than.d.ts +4 -1
  179. package/dist/conditions/less-than.mjs +3 -0
  180. package/dist/conditions/less-than.mjs.map +1 -1
  181. package/dist/conditions/not-equals.cjs +3 -0
  182. package/dist/conditions/not-equals.cjs.map +1 -1
  183. package/dist/conditions/not-equals.d.ts +4 -1
  184. package/dist/conditions/not-equals.mjs +3 -0
  185. package/dist/conditions/not-equals.mjs.map +1 -1
  186. package/dist/conditions/not-exists.cjs +3 -0
  187. package/dist/conditions/not-exists.cjs.map +1 -1
  188. package/dist/conditions/not-exists.d.ts +4 -1
  189. package/dist/conditions/not-exists.mjs +3 -0
  190. package/dist/conditions/not-exists.mjs.map +1 -1
  191. package/dist/conditions/not.cjs +3 -0
  192. package/dist/conditions/not.cjs.map +1 -1
  193. package/dist/conditions/not.d.ts +4 -1
  194. package/dist/conditions/not.mjs +3 -0
  195. package/dist/conditions/not.mjs.map +1 -1
  196. package/dist/conditions/or.cjs +3 -0
  197. package/dist/conditions/or.cjs.map +1 -1
  198. package/dist/conditions/or.d.ts +4 -1
  199. package/dist/conditions/or.mjs +3 -0
  200. package/dist/conditions/or.mjs.map +1 -1
  201. package/dist/conditions/size.cjs +3 -0
  202. package/dist/conditions/size.cjs.map +1 -1
  203. package/dist/conditions/size.d.ts +4 -1
  204. package/dist/conditions/size.mjs +3 -0
  205. package/dist/conditions/size.mjs.map +1 -1
  206. package/dist/conditions/type-is.cjs +3 -0
  207. package/dist/conditions/type-is.cjs.map +1 -1
  208. package/dist/conditions/type-is.d.ts +4 -1
  209. package/dist/conditions/type-is.mjs +3 -0
  210. package/dist/conditions/type-is.mjs.map +1 -1
  211. package/dist/core/entity.cjs +171 -0
  212. package/dist/core/entity.cjs.map +1 -1
  213. package/dist/core/entity.d.ts +99 -4
  214. package/dist/core/entity.mjs +171 -0
  215. package/dist/core/entity.mjs.map +1 -1
  216. package/dist/core/index.d.ts +139 -2
  217. package/dist/core/key.cjs +1 -1
  218. package/dist/core/key.cjs.map +1 -1
  219. package/dist/core/key.d.ts +26 -2
  220. package/dist/core/key.mjs +1 -1
  221. package/dist/core/key.mjs.map +1 -1
  222. package/dist/core/table.cjs +30 -0
  223. package/dist/core/table.cjs.map +1 -1
  224. package/dist/core/table.d.ts +40 -1
  225. package/dist/core/table.mjs +31 -1
  226. package/dist/core/table.mjs.map +1 -1
  227. package/dist/errors.cjs +3 -0
  228. package/dist/errors.cjs.map +1 -1
  229. package/dist/errors.d.ts +3 -0
  230. package/dist/errors.mjs +3 -0
  231. package/dist/errors.mjs.map +1 -1
  232. package/dist/index.cjs +10 -2
  233. package/dist/index.cjs.map +1 -1
  234. package/dist/index.d.ts +11 -7
  235. package/dist/index.mjs +5 -1
  236. package/dist/index.mjs.map +1 -1
  237. package/dist/projections/index.d.ts +7 -1
  238. package/dist/projections/projection-parser.d.ts +1 -1
  239. package/dist/updates/add-to-set.cjs +5 -0
  240. package/dist/updates/add-to-set.cjs.map +1 -1
  241. package/dist/updates/add-to-set.d.ts +6 -1
  242. package/dist/updates/add-to-set.mjs +5 -0
  243. package/dist/updates/add-to-set.mjs.map +1 -1
  244. package/dist/updates/add.cjs +5 -0
  245. package/dist/updates/add.cjs.map +1 -1
  246. package/dist/updates/add.d.ts +6 -1
  247. package/dist/updates/add.mjs +5 -0
  248. package/dist/updates/add.mjs.map +1 -1
  249. package/dist/updates/append.cjs +5 -0
  250. package/dist/updates/append.cjs.map +1 -1
  251. package/dist/updates/append.d.ts +6 -1
  252. package/dist/updates/append.mjs +5 -0
  253. package/dist/updates/append.mjs.map +1 -1
  254. package/dist/updates/index.d.ts +78 -1
  255. package/dist/updates/prepend.cjs +5 -0
  256. package/dist/updates/prepend.cjs.map +1 -1
  257. package/dist/updates/prepend.d.ts +6 -1
  258. package/dist/updates/prepend.mjs +5 -0
  259. package/dist/updates/prepend.mjs.map +1 -1
  260. package/dist/updates/ref.cjs +6 -0
  261. package/dist/updates/ref.cjs.map +1 -1
  262. package/dist/updates/ref.d.ts +7 -1
  263. package/dist/updates/ref.mjs +6 -0
  264. package/dist/updates/ref.mjs.map +1 -1
  265. package/dist/updates/remove-from-set.cjs +5 -0
  266. package/dist/updates/remove-from-set.cjs.map +1 -1
  267. package/dist/updates/remove-from-set.d.ts +6 -1
  268. package/dist/updates/remove-from-set.mjs +5 -0
  269. package/dist/updates/remove-from-set.mjs.map +1 -1
  270. package/dist/updates/remove.cjs +3 -0
  271. package/dist/updates/remove.cjs.map +1 -1
  272. package/dist/updates/remove.d.ts +4 -1
  273. package/dist/updates/remove.mjs +3 -0
  274. package/dist/updates/remove.mjs.map +1 -1
  275. package/dist/updates/subtract.cjs +5 -0
  276. package/dist/updates/subtract.cjs.map +1 -1
  277. package/dist/updates/subtract.d.ts +6 -1
  278. package/dist/updates/subtract.mjs +5 -0
  279. package/dist/updates/subtract.mjs.map +1 -1
  280. package/dist/updates/update-parser.cjs +10 -0
  281. package/dist/updates/update-parser.cjs.map +1 -1
  282. package/dist/updates/update-parser.d.ts +17 -1
  283. package/dist/updates/update-parser.mjs +10 -0
  284. package/dist/updates/update-parser.mjs.map +1 -1
  285. package/package.json +2 -1
  286. package/dist/commands/base-command.cjs +0 -3
  287. package/dist/commands/base-command.cjs.map +0 -1
  288. package/dist/commands/base-command.d.ts +0 -27
  289. package/dist/commands/base-command.mjs +0 -2
  290. package/dist/commands/base-command.mjs.map +0 -1
  291. package/dist/conditions/condition-types.cjs +0 -3
  292. package/dist/conditions/condition-types.cjs.map +0 -1
  293. package/dist/conditions/condition-types.d.ts +0 -95
  294. package/dist/conditions/condition-types.mjs +0 -2
  295. package/dist/conditions/condition-types.mjs.map +0 -1
  296. package/dist/core/core-types.cjs +0 -3
  297. package/dist/core/core-types.cjs.map +0 -1
  298. package/dist/core/core-types.d.ts +0 -44
  299. package/dist/core/core-types.mjs +0 -2
  300. package/dist/core/core-types.mjs.map +0 -1
  301. package/dist/projections/projection-types.cjs +0 -3
  302. package/dist/projections/projection-types.cjs.map +0 -1
  303. package/dist/projections/projection-types.d.ts +0 -3
  304. package/dist/projections/projection-types.mjs +0 -2
  305. package/dist/projections/projection-types.mjs.map +0 -1
  306. package/dist/updates/update-types.cjs +0 -3
  307. package/dist/updates/update-types.cjs.map +0 -1
  308. package/dist/updates/update-types.d.ts +0 -45
  309. package/dist/updates/update-types.mjs +0 -2
  310. package/dist/updates/update-types.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"attribute-map.mjs","sources":["../../src/attributes/attribute-map.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attribute-map.mjs","sources":["../../src/attributes/attribute-map.ts"],"sourcesContent":[null],"names":[],"mappings":"AA8BA;;AAEG;MACU,sBAAsB,CAAA;AASjC,IAAA,WAAA,GAAA;AARQ,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,gBAAA,EAAA;;;;;AAAwD,SAAA,CAAA;AACxD,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,oBAAA,EAAA;;;;;AAA4D,SAAA,CAAA;AAC5D,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,OAAA,EAAA;;;;;AAAkB,SAAA,CAAA;AAElB,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,iBAAA,EAAA;;;;;AAAwE,SAAA,CAAA;AACxE,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,qBAAA,EAAA;;;;;AAAyE,SAAA,CAAA;AACzE,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,QAAA,EAAA;;;;;AAAmB,SAAA,CAAA;AAGzB,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;AACxB,QAAA,IAAI,CAAC,kBAAkB,GAAG,EAAE;AAC5B,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAU;AAC9B,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE;AACzB,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,EAAmD;AACrF,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAU;IACjC;AAEA;;;;AAIG;AACI,IAAA,OAAO,CAAC,IAAY,EAAA;QACzB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AACxB,YAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAE;QACvC;AACA,QAAA,MAAM,WAAW,GAA6B,CAAA,CAAA,EAAI,IAAI,EAAE;AACxD,QAAA,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI;AACvC,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,WAAW;AAC3C,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;AACpB,QAAA,OAAO,WAAW;IACpB;AAEA;;;;AAIG;AACI,IAAA,QAAQ,CAAC,KAA2B,EAAA;QACzC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC1B,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAE;QAC7C;QACA,MAAM,gBAAgB,GAA8B,CAAA,EAAA,EAAK,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAA,CAAE;AAC/E,QAAA,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,KAAK;QAC9C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC;AACrD,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,QAAA,OAAO,gBAAgB;IACzB;AAEA;;;;;AAKG;IACI,GAAG,CACR,IAAY,EACZ,KAA2B,EAAA;AAE3B,QAAA,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnD;AAEA;;AAEG;IACI,sBAAsB,GAAA;QAC3B,OAAO,IAAI,CAAC,cAAc;IAC5B;AAEA;;AAEG;IACI,uBAAuB,GAAA;QAC5B,OAAO,IAAI,CAAC,eAAe;IAC7B;AAEA;;AAEG;IACI,2BAA2B,GAAA;QAChC,MAAM,UAAU,GAA8B,EAAE;QAChD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE;AACvB,YAAA,UAAU,CAAC,wBAAwB,GAAG,IAAI,CAAC,cAAc;QAC3D;QACA,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE;AACxB,YAAA,UAAU,CAAC,yBAAyB,GAAG,IAAI,CAAC,eAAe;QAC7D;AACA,QAAA,OAAO,UAAU;IACnB;AAEA;;AAEG;AACI,IAAA,OAAO,CAAC,IAAY,EAAA;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;IAC7B;AAEA;;AAEG;AACI,IAAA,QAAQ,CAAC,KAA2B,EAAA;QACzC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IAC/B;AAEA;;AAEG;AACI,IAAA,sBAAsB,CAAC,IAAY,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;IACtC;AAEA;;AAEG;AACI,IAAA,uBAAuB,CAC5B,KAA2B,EAAA;QAE3B,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5C;AAEA;;AAEG;AACI,IAAA,sBAAsB,CAAC,WAAqC,EAAA;AACjE,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;IACzC;AAEA;;AAEG;AACI,IAAA,uBAAuB,CAC5B,WAAsC,EAAA;AAEtC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;IAC1C;AAEA;;AAEG;IACI,YAAY,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI;IACxB;AAEA;;AAEG;IACI,aAAa,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI;IACzB;AACD;;;;"}
@@ -6,11 +6,54 @@ var libDynamodb = require('@aws-sdk/lib-dynamodb');
6
6
  var pMap = require('p-map');
7
7
 
8
8
  var _BatchGet_config;
9
+ /**
10
+ * Command to perform a batch get operation on a DynamoDB table.
11
+ *
12
+ * @template Schema - The Zod schema defining the structure of the entity.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * import { DynamoTable, DynamoEntity, key, BatchGet } from 'dynamo-document-builder';
17
+ *
18
+ * const table = new DynamoTable({
19
+ * tableName: 'ExampleTable',
20
+ * documentClient,
21
+ * });
22
+ *
23
+ * const userEntity = new DynamoEntity({
24
+ * table,
25
+ * schema: z.object({
26
+ * userId: z.string(),
27
+ * name: z.string(),
28
+ * age: z.number(),
29
+ * }),
30
+ * partitionKey: user => key('USER', user.userId),
31
+ * sortKey: () => 'USER',
32
+ * });
33
+ *
34
+ * const batchGetCommand = new BatchGet({
35
+ * keys: [
36
+ * { userId: 'user1' },
37
+ * { userId: 'user2' },
38
+ * ],
39
+ * consistent: true,
40
+ * });
41
+ *
42
+ * const { items } = await batchGetCommand.execute(userEntity);
43
+ * ```
44
+ */
9
45
  class BatchGet {
10
46
  constructor(config) {
11
47
  _BatchGet_config.set(this, void 0);
12
48
  tslib_es6.__classPrivateFieldSet(this, _BatchGet_config, config, "f");
13
49
  }
50
+ get keys() {
51
+ return tslib_es6.__classPrivateFieldGet(this, _BatchGet_config, "f").keys;
52
+ }
53
+ get consistent() {
54
+ var _a;
55
+ return (_a = tslib_es6.__classPrivateFieldGet(this, _BatchGet_config, "f").consistent) !== null && _a !== void 0 ? _a : false;
56
+ }
14
57
  execute(entity) {
15
58
  return tslib_es6.__awaiter(this, void 0, void 0, function* () {
16
59
  var _a, _b, _c, _d, _e, _f, _g, _h;
@@ -1 +1 @@
1
- {"version":3,"file":"batch-get.cjs","sources":["../../src/commands/batch-get.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","BatchGetCommand","__classPrivateFieldGet","BATCH_GET_VALIDATION_CONCURRENCY"],"mappings":";;;;;;;;MAkBa,QAAQ,CAAA;AAKnB,IAAA,WAAA,CAAY,MAA8B,EAAA;QAF1C,gBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAAA,gCAAA,CAAA,IAAI,EAAA,gBAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEa,IAAA,OAAO,CAAC,MAA4B,EAAA;;;AAC/C,YAAA,MAAM,QAAQ,GAAG,IAAIC,2BAAe,CAAC;AACnC,gBAAA,YAAY,EAAE;AACZ,oBAAA,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG;AACxB,wBAAA,IAAI,EAAEC,gCAAA,CAAA,IAAI,wBAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;wBAC/D,cAAc,EAAE,MAAAA,gCAAA,CAAA,IAAI,wBAAQ,CAAC,UAAU,mCAAI,KAAK;AACjD,qBAAA;AACF,iBAAA;AACD,gBAAA,sBAAsB,EAAEA,gCAAA,CAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAQ,CAAC,sBAAsB;AAC5D,aAAA,CAAC;AAEF,YAAA,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACtE,WAAW,EAAE,MAAAA,gCAAA,CAAA,IAAI,wBAAQ,CAAC,eAAe,0CAAE,MAAM;AACjD,gBAAA,cAAc,EAAEA,gCAAA,CAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAQ,CAAC,SAAS;AACvC,aAAA,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAc,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;YACzE,IAAI,KAAK,GAAgC,EAAE;AAE3C,YAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,gBAAA,IAAIA,iCAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAQ,CAAC,cAAc,EAAE;oBAC/B,KAAK,GAAG,QAAuC;gBACjD;qBAAO;AACL,oBAAA,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACnE,wBAAA,WAAW,EAAEC,kDAAgC;wBAC7C,MAAM,EAAE,MAAAD,gCAAA,CAAA,IAAI,wBAAQ,CAAC,eAAe,0CAAE,MAAM;AAC7C,qBAAA,CAAC;gBACJ;YACF;YAEA,OAAO;gBACL,KAAK;AACL,gBAAA,eAAe,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAc,CAAC,eAAe,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,0CAAE,IAE9D;gBACb,gBAAgB,EAAE,cAAc,CAAC,SAAS;AAC1C,gBAAA,gBAAgB,EAAE,CAAA,EAAA,GAAA,cAAc,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,CAAC,CAAC;aACvD;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
1
+ {"version":3,"file":"batch-get.cjs","sources":["../../src/commands/batch-get.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","__classPrivateFieldGet","BatchGetCommand","BATCH_GET_VALIDATION_CONCURRENCY"],"mappings":"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"}
@@ -1,19 +1,67 @@
1
- import { BaseConfig, BaseResult, BaseCommand } from './base-command.js';
1
+ import { BaseConfig, BaseResult, BaseCommand, BatchGetPreparable } from './index.js';
2
2
  import { DynamoEntity } from '../core/entity.js';
3
- import { EntitySchema } from '../core/core-types.js';
3
+ import { EntitySchema } from '../core/index.js';
4
4
  import { ZodObject } from 'zod/v4';
5
5
 
6
+ /**
7
+ * Configuration for the BatchGet command.
8
+ *
9
+ * @template Schema - The Zod schema defining the structure of the entity.
10
+ */
6
11
  type BatchGetConfig<Schema extends ZodObject> = BaseConfig & {
7
12
  keys: Array<Partial<EntitySchema<Schema>>>;
8
13
  consistent?: boolean;
9
14
  };
15
+ /**
16
+ * Result of the BatchGet command.
17
+ *
18
+ * @template Schema - The Zod schema defining the structure of the entity.
19
+ */
10
20
  type BatchGetResult<Schema extends ZodObject> = BaseResult & {
11
21
  items: Array<EntitySchema<Schema>>;
12
22
  unprocessedKeys?: Array<Partial<EntitySchema<Schema>>>;
13
23
  };
14
- declare class BatchGet<Schema extends ZodObject> implements BaseCommand<BatchGetResult<Schema>, Schema> {
24
+ /**
25
+ * Command to perform a batch get operation on a DynamoDB table.
26
+ *
27
+ * @template Schema - The Zod schema defining the structure of the entity.
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * import { DynamoTable, DynamoEntity, key, BatchGet } from 'dynamo-document-builder';
32
+ *
33
+ * const table = new DynamoTable({
34
+ * tableName: 'ExampleTable',
35
+ * documentClient,
36
+ * });
37
+ *
38
+ * const userEntity = new DynamoEntity({
39
+ * table,
40
+ * schema: z.object({
41
+ * userId: z.string(),
42
+ * name: z.string(),
43
+ * age: z.number(),
44
+ * }),
45
+ * partitionKey: user => key('USER', user.userId),
46
+ * sortKey: () => 'USER',
47
+ * });
48
+ *
49
+ * const batchGetCommand = new BatchGet({
50
+ * keys: [
51
+ * { userId: 'user1' },
52
+ * { userId: 'user2' },
53
+ * ],
54
+ * consistent: true,
55
+ * });
56
+ *
57
+ * const { items } = await batchGetCommand.execute(userEntity);
58
+ * ```
59
+ */
60
+ declare class BatchGet<Schema extends ZodObject> implements BaseCommand<BatchGetResult<Schema>, Schema>, BatchGetPreparable<Schema> {
15
61
  #private;
16
62
  constructor(config: BatchGetConfig<Schema>);
63
+ get keys(): Array<Partial<EntitySchema<Schema>>>;
64
+ get consistent(): boolean;
17
65
  execute(entity: DynamoEntity<Schema>): Promise<BatchGetResult<Schema>>;
18
66
  }
19
67
 
@@ -1,14 +1,57 @@
1
- import { __classPrivateFieldSet, __awaiter, __classPrivateFieldGet } from '../node_modules/tslib/tslib.es6.mjs';
1
+ import { __classPrivateFieldSet, __classPrivateFieldGet, __awaiter } from '../node_modules/tslib/tslib.es6.mjs';
2
2
  import { BATCH_GET_VALIDATION_CONCURRENCY } from '../internal-constants.mjs';
3
3
  import { BatchGetCommand } from '@aws-sdk/lib-dynamodb';
4
4
  import pMap from 'p-map';
5
5
 
6
6
  var _BatchGet_config;
7
+ /**
8
+ * Command to perform a batch get operation on a DynamoDB table.
9
+ *
10
+ * @template Schema - The Zod schema defining the structure of the entity.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { DynamoTable, DynamoEntity, key, BatchGet } from 'dynamo-document-builder';
15
+ *
16
+ * const table = new DynamoTable({
17
+ * tableName: 'ExampleTable',
18
+ * documentClient,
19
+ * });
20
+ *
21
+ * const userEntity = new DynamoEntity({
22
+ * table,
23
+ * schema: z.object({
24
+ * userId: z.string(),
25
+ * name: z.string(),
26
+ * age: z.number(),
27
+ * }),
28
+ * partitionKey: user => key('USER', user.userId),
29
+ * sortKey: () => 'USER',
30
+ * });
31
+ *
32
+ * const batchGetCommand = new BatchGet({
33
+ * keys: [
34
+ * { userId: 'user1' },
35
+ * { userId: 'user2' },
36
+ * ],
37
+ * consistent: true,
38
+ * });
39
+ *
40
+ * const { items } = await batchGetCommand.execute(userEntity);
41
+ * ```
42
+ */
7
43
  class BatchGet {
8
44
  constructor(config) {
9
45
  _BatchGet_config.set(this, void 0);
10
46
  __classPrivateFieldSet(this, _BatchGet_config, config, "f");
11
47
  }
48
+ get keys() {
49
+ return __classPrivateFieldGet(this, _BatchGet_config, "f").keys;
50
+ }
51
+ get consistent() {
52
+ var _a;
53
+ return (_a = __classPrivateFieldGet(this, _BatchGet_config, "f").consistent) !== null && _a !== void 0 ? _a : false;
54
+ }
12
55
  execute(entity) {
13
56
  return __awaiter(this, void 0, void 0, function* () {
14
57
  var _a, _b, _c, _d, _e, _f, _g, _h;
@@ -1 +1 @@
1
- {"version":3,"file":"batch-get.mjs","sources":["../../src/commands/batch-get.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;MAkBa,QAAQ,CAAA;AAKnB,IAAA,WAAA,CAAY,MAA8B,EAAA;QAF1C,gBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAA,sBAAA,CAAA,IAAI,EAAA,gBAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEa,IAAA,OAAO,CAAC,MAA4B,EAAA;;;AAC/C,YAAA,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;AACnC,gBAAA,YAAY,EAAE;AACZ,oBAAA,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG;AACxB,wBAAA,IAAI,EAAE,sBAAA,CAAA,IAAI,wBAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;wBAC/D,cAAc,EAAE,MAAA,sBAAA,CAAA,IAAI,wBAAQ,CAAC,UAAU,mCAAI,KAAK;AACjD,qBAAA;AACF,iBAAA;AACD,gBAAA,sBAAsB,EAAE,sBAAA,CAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAQ,CAAC,sBAAsB;AAC5D,aAAA,CAAC;AAEF,YAAA,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACtE,WAAW,EAAE,MAAA,sBAAA,CAAA,IAAI,wBAAQ,CAAC,eAAe,0CAAE,MAAM;AACjD,gBAAA,cAAc,EAAE,sBAAA,CAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAQ,CAAC,SAAS;AACvC,aAAA,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAc,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;YACzE,IAAI,KAAK,GAAgC,EAAE;AAE3C,YAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,gBAAA,IAAI,uBAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAQ,CAAC,cAAc,EAAE;oBAC/B,KAAK,GAAG,QAAuC;gBACjD;qBAAO;AACL,oBAAA,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACnE,wBAAA,WAAW,EAAE,gCAAgC;wBAC7C,MAAM,EAAE,MAAA,sBAAA,CAAA,IAAI,wBAAQ,CAAC,eAAe,0CAAE,MAAM;AAC7C,qBAAA,CAAC;gBACJ;YACF;YAEA,OAAO;gBACL,KAAK;AACL,gBAAA,eAAe,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAc,CAAC,eAAe,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,0CAAE,IAE9D;gBACb,gBAAgB,EAAE,cAAc,CAAC,SAAS;AAC1C,gBAAA,gBAAgB,EAAE,CAAA,EAAA,GAAA,cAAc,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,CAAC,CAAC;aACvD;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
1
+ {"version":3,"file":"batch-get.mjs","sources":["../../src/commands/batch-get.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AA4BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCG;MACU,QAAQ,CAAA;AAKnB,IAAA,WAAA,CAAY,MAA8B,EAAA;QAF1C,gBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAA,sBAAA,CAAA,IAAI,EAAA,gBAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEA,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAQ,CAAC,IAAI;IAC1B;AAEA,IAAA,IAAW,UAAU,GAAA;;QACnB,OAAO,CAAA,EAAA,GAAA,uBAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAQ,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,KAAK;IACzC;AAEa,IAAA,OAAO,CAAC,MAA4B,EAAA;;;AAC/C,YAAA,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;AACnC,gBAAA,YAAY,EAAE;AACZ,oBAAA,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG;AACxB,wBAAA,IAAI,EAAE,sBAAA,CAAA,IAAI,wBAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;wBAC/D,cAAc,EAAE,MAAA,sBAAA,CAAA,IAAI,wBAAQ,CAAC,UAAU,mCAAI,KAAK;AACjD,qBAAA;AACF,iBAAA;AACD,gBAAA,sBAAsB,EAAE,sBAAA,CAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAQ,CAAC,sBAAsB;AAC5D,aAAA,CAAC;AAEF,YAAA,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACtE,WAAW,EAAE,MAAA,sBAAA,CAAA,IAAI,wBAAQ,CAAC,eAAe,0CAAE,MAAM;AACjD,gBAAA,cAAc,EAAE,sBAAA,CAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAQ,CAAC,SAAS;AACvC,aAAA,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAc,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;YACzE,IAAI,KAAK,GAAgC,EAAE;AAE3C,YAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,gBAAA,IAAI,uBAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAQ,CAAC,cAAc,EAAE;oBAC/B,KAAK,GAAG,QAAuC;gBACjD;qBAAO;AACL,oBAAA,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACnE,wBAAA,WAAW,EAAE,gCAAgC;wBAC7C,MAAM,EAAE,MAAA,sBAAA,CAAA,IAAI,wBAAQ,CAAC,eAAe,0CAAE,MAAM;AAC7C,qBAAA,CAAC;gBACJ;YACF;YAEA,OAAO;gBACL,KAAK;AACL,gBAAA,eAAe,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAc,CAAC,eAAe,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,0CAAE,IAE9D;gBACb,gBAAgB,EAAE,cAAc,CAAC,SAAS;AAC1C,gBAAA,gBAAgB,EAAE,CAAA,EAAA,GAAA,cAAc,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,CAAC,CAAC;aACvD;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
@@ -7,6 +7,48 @@ var projections_projectionParser = require('../projections/projection-parser.cjs
7
7
  var pMap = require('p-map');
8
8
 
9
9
  var _BatchProjectedGet_config;
10
+ /**
11
+ * Command to retrieve specific attributes of multiple items by primary keys in a single operation.
12
+ *
13
+ * @template Schema - The Zod schema defining the structure of the entity.
14
+ * @template ProjectionSchema - The Zod schema defining the structure of the projected attributes.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * import { DynamoTable, DynamoEntity, key, BatchProjectedGet } from 'dynamo-document-builder';
19
+ *
20
+ * const table = new DynamoTable({
21
+ * tableName: 'ExampleTable',
22
+ * documentClient,
23
+ * });
24
+ *
25
+ * const userEntity = new DynamoEntity({
26
+ * table,
27
+ * schema: z.object({
28
+ * userId: z.string(),
29
+ * name: z.string(),
30
+ * email: z.string(),
31
+ * age: z.number(),
32
+ * }),
33
+ * partitionKey: user => key('USER', user.userId),
34
+ * sortKey: () => 'METADATA',
35
+ * });
36
+ *
37
+ * const batchProjectedGetCommand = new BatchProjectedGet({
38
+ * keys: [
39
+ * { userId: 'user1' },
40
+ * { userId: 'user2' },
41
+ * ],
42
+ * projection: ['name', 'email'],
43
+ * projectionSchema: z.object({
44
+ * name: z.string(),
45
+ * email: z.string(),
46
+ * }),
47
+ * });
48
+ *
49
+ * const { items } = await userEntity.send(batchProjectedGetCommand);
50
+ * ```
51
+ */
10
52
  class BatchProjectedGet {
11
53
  constructor(config) {
12
54
  _BatchProjectedGet_config.set(this, void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"batch-projected-get.cjs","sources":["../../src/commands/batch-projected-get.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","parseProjection","__classPrivateFieldGet","BatchGetCommand","BATCH_GET_VALIDATION_CONCURRENCY"],"mappings":"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"}
1
+ {"version":3,"file":"batch-projected-get.cjs","sources":["../../src/commands/batch-projected-get.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","parseProjection","__classPrivateFieldGet","BatchGetCommand","BATCH_GET_VALIDATION_CONCURRENCY"],"mappings":"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"}
@@ -1,19 +1,72 @@
1
- import { BaseConfig, BaseResult, BaseCommand } from './base-command.js';
1
+ import { BaseConfig, BaseResult, BaseCommand } from './index.js';
2
2
  import { DynamoEntity } from '../core/entity.js';
3
- import { EntitySchema } from '../core/core-types.js';
4
- import { Projection } from '../projections/projection-types.js';
3
+ import { EntitySchema } from '../core/index.js';
4
+ import { Projection } from '../projections/index.js';
5
5
  import { ZodObject } from 'zod/v4';
6
6
 
7
+ /**
8
+ * Configuration for the BatchProjectedGet command.
9
+ *
10
+ * @template Schema - The Zod schema defining the structure of the entity.
11
+ * @template ProjectionSchema - The Zod schema defining the structure of the projected attributes.
12
+ */
7
13
  type BatchProjectedGetConfig<Schema extends ZodObject, ProjectionSchema extends ZodObject> = BaseConfig & {
8
14
  keys: Array<Partial<EntitySchema<Schema>>>;
9
15
  consistent?: boolean;
10
16
  projection: Projection;
11
17
  projectionSchema: ProjectionSchema;
12
18
  };
19
+ /**
20
+ * Result of the BatchProjectedGet command.
21
+ *
22
+ * @template ProjectionSchema - The Zod schema defining the structure of the projected attributes.
23
+ */
13
24
  type BatchProjectedGetResult<ProjectionSchema extends ZodObject> = BaseResult & {
14
25
  items: Array<EntitySchema<ProjectionSchema>>;
15
26
  unprocessedKeys?: Array<Partial<EntitySchema<ProjectionSchema>>>;
16
27
  };
28
+ /**
29
+ * Command to retrieve specific attributes of multiple items by primary keys in a single operation.
30
+ *
31
+ * @template Schema - The Zod schema defining the structure of the entity.
32
+ * @template ProjectionSchema - The Zod schema defining the structure of the projected attributes.
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * import { DynamoTable, DynamoEntity, key, BatchProjectedGet } from 'dynamo-document-builder';
37
+ *
38
+ * const table = new DynamoTable({
39
+ * tableName: 'ExampleTable',
40
+ * documentClient,
41
+ * });
42
+ *
43
+ * const userEntity = new DynamoEntity({
44
+ * table,
45
+ * schema: z.object({
46
+ * userId: z.string(),
47
+ * name: z.string(),
48
+ * email: z.string(),
49
+ * age: z.number(),
50
+ * }),
51
+ * partitionKey: user => key('USER', user.userId),
52
+ * sortKey: () => 'METADATA',
53
+ * });
54
+ *
55
+ * const batchProjectedGetCommand = new BatchProjectedGet({
56
+ * keys: [
57
+ * { userId: 'user1' },
58
+ * { userId: 'user2' },
59
+ * ],
60
+ * projection: ['name', 'email'],
61
+ * projectionSchema: z.object({
62
+ * name: z.string(),
63
+ * email: z.string(),
64
+ * }),
65
+ * });
66
+ *
67
+ * const { items } = await userEntity.send(batchProjectedGetCommand);
68
+ * ```
69
+ */
17
70
  declare class BatchProjectedGet<Schema extends ZodObject, ProjectionSchema extends ZodObject> implements BaseCommand<BatchProjectedGetResult<ProjectionSchema>, Schema> {
18
71
  #private;
19
72
  constructor(config: BatchProjectedGetConfig<Schema, ProjectionSchema>);
@@ -5,6 +5,48 @@ import { parseProjection } from '../projections/projection-parser.mjs';
5
5
  import pMap from 'p-map';
6
6
 
7
7
  var _BatchProjectedGet_config;
8
+ /**
9
+ * Command to retrieve specific attributes of multiple items by primary keys in a single operation.
10
+ *
11
+ * @template Schema - The Zod schema defining the structure of the entity.
12
+ * @template ProjectionSchema - The Zod schema defining the structure of the projected attributes.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * import { DynamoTable, DynamoEntity, key, BatchProjectedGet } from 'dynamo-document-builder';
17
+ *
18
+ * const table = new DynamoTable({
19
+ * tableName: 'ExampleTable',
20
+ * documentClient,
21
+ * });
22
+ *
23
+ * const userEntity = new DynamoEntity({
24
+ * table,
25
+ * schema: z.object({
26
+ * userId: z.string(),
27
+ * name: z.string(),
28
+ * email: z.string(),
29
+ * age: z.number(),
30
+ * }),
31
+ * partitionKey: user => key('USER', user.userId),
32
+ * sortKey: () => 'METADATA',
33
+ * });
34
+ *
35
+ * const batchProjectedGetCommand = new BatchProjectedGet({
36
+ * keys: [
37
+ * { userId: 'user1' },
38
+ * { userId: 'user2' },
39
+ * ],
40
+ * projection: ['name', 'email'],
41
+ * projectionSchema: z.object({
42
+ * name: z.string(),
43
+ * email: z.string(),
44
+ * }),
45
+ * });
46
+ *
47
+ * const { items } = await userEntity.send(batchProjectedGetCommand);
48
+ * ```
49
+ */
8
50
  class BatchProjectedGet {
9
51
  constructor(config) {
10
52
  _BatchProjectedGet_config.set(this, void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"batch-projected-get.mjs","sources":["../../src/commands/batch-projected-get.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch-projected-get.mjs","sources":["../../src/commands/batch-projected-get.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -6,11 +6,55 @@ var libDynamodb = require('@aws-sdk/lib-dynamodb');
6
6
  var pMap = require('p-map');
7
7
 
8
8
  var _BatchWrite_config;
9
+ /**
10
+ * Command to put and/or delete multiple items in a single operation.
11
+ *
12
+ * @template Schema - The Zod schema defining the structure of the entity.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * import { DynamoTable, DynamoEntity, key, BatchWrite } from 'dynamo-document-builder';
17
+ *
18
+ * const table = new DynamoTable({
19
+ * tableName: 'ExampleTable',
20
+ * documentClient,
21
+ * });
22
+ *
23
+ * const todoEntity = new DynamoEntity({
24
+ * table,
25
+ * schema: z.object({
26
+ * userId: z.string(),
27
+ * todoId: z.string(),
28
+ * title: z.string(),
29
+ * }),
30
+ * partitionKey: todo => key('USER', todo.userId),
31
+ * sortKey: todo => key('TODO', todo.todoId),
32
+ * });
33
+ *
34
+ * const batchWriteCommand = new BatchWrite({
35
+ * items: [
36
+ * { userId: 'user1', todoId: 'todo1', title: 'Task 1' },
37
+ * { userId: 'user2', todoId: 'todo2', title: 'Task 2' },
38
+ * ],
39
+ * deletes: [
40
+ * { userId: 'user3', todoId: 'todo3' },
41
+ * ],
42
+ * });
43
+ *
44
+ * const { unprocessedPuts, unprocessedDeletes } = await todoEntity.send(batchWriteCommand);
45
+ * ```
46
+ */
9
47
  class BatchWrite {
10
48
  constructor(config) {
11
49
  _BatchWrite_config.set(this, void 0);
12
50
  tslib_es6.__classPrivateFieldSet(this, _BatchWrite_config, config, "f");
13
51
  }
52
+ get items() {
53
+ return tslib_es6.__classPrivateFieldGet(this, _BatchWrite_config, "f").items;
54
+ }
55
+ get deletes() {
56
+ return tslib_es6.__classPrivateFieldGet(this, _BatchWrite_config, "f").deletes;
57
+ }
14
58
  buildPutRequests(entity) {
15
59
  return tslib_es6.__awaiter(this, void 0, void 0, function* () {
16
60
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"batch-write.cjs","sources":["../../src/commands/batch-write.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","__classPrivateFieldGet","__awaiter","BATCH_WRITE_VALIDATION_CONCURRENCY","BatchWriteCommand"],"mappings":"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"}
1
+ {"version":3,"file":"batch-write.cjs","sources":["../../src/commands/batch-write.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","__classPrivateFieldGet","__awaiter","BATCH_WRITE_VALIDATION_CONCURRENCY","BatchWriteCommand"],"mappings":"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"}
@@ -1,24 +1,74 @@
1
- import { DynamoKey } from '../core/key.js';
1
+ import { EntitySchema } from '../core/index.js';
2
2
  import * as zod_v4 from 'zod/v4';
3
3
  import { ZodObject } from 'zod/v4';
4
- import { BaseConfig, BaseResult, BaseCommand } from './base-command.js';
4
+ import { BaseConfig, BaseResult, BaseCommand, BatchWritePreparable } from './index.js';
5
5
  import { DynamoEntity } from '../core/entity.js';
6
- import { EntitySchema } from '../core/core-types.js';
7
6
  import { ReturnItemCollectionMetrics, ItemCollectionMetrics } from '@aws-sdk/client-dynamodb';
7
+ import { DynamoKey } from '../core/key.js';
8
8
 
9
+ /**
10
+ * Configuration for the BatchWrite command.
11
+ *
12
+ * @template Schema - The Zod schema defining the structure of the entity.
13
+ */
9
14
  type BatchWriteConfig<Schema extends ZodObject> = BaseConfig & {
10
15
  items?: Array<EntitySchema<Schema>>;
11
16
  deletes?: Array<Partial<EntitySchema<Schema>>>;
12
17
  returnItemCollectionMetrics?: ReturnItemCollectionMetrics;
13
18
  };
19
+ /**
20
+ * Result of the BatchWrite command.
21
+ *
22
+ * @template Schema - The Zod schema defining the structure of the entity.
23
+ */
14
24
  type BatchWriteResult<Schema extends ZodObject> = BaseResult & {
15
25
  unprocessedPuts?: Array<EntitySchema<Schema>>;
16
26
  unprocessedDeletes?: Array<Partial<EntitySchema<Schema>>>;
17
27
  itemColectionMetrics?: ItemCollectionMetrics;
18
28
  };
19
- declare class BatchWrite<Schema extends ZodObject> implements BaseCommand<BatchWriteResult<Schema>, Schema> {
29
+ /**
30
+ * Command to put and/or delete multiple items in a single operation.
31
+ *
32
+ * @template Schema - The Zod schema defining the structure of the entity.
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * import { DynamoTable, DynamoEntity, key, BatchWrite } from 'dynamo-document-builder';
37
+ *
38
+ * const table = new DynamoTable({
39
+ * tableName: 'ExampleTable',
40
+ * documentClient,
41
+ * });
42
+ *
43
+ * const todoEntity = new DynamoEntity({
44
+ * table,
45
+ * schema: z.object({
46
+ * userId: z.string(),
47
+ * todoId: z.string(),
48
+ * title: z.string(),
49
+ * }),
50
+ * partitionKey: todo => key('USER', todo.userId),
51
+ * sortKey: todo => key('TODO', todo.todoId),
52
+ * });
53
+ *
54
+ * const batchWriteCommand = new BatchWrite({
55
+ * items: [
56
+ * { userId: 'user1', todoId: 'todo1', title: 'Task 1' },
57
+ * { userId: 'user2', todoId: 'todo2', title: 'Task 2' },
58
+ * ],
59
+ * deletes: [
60
+ * { userId: 'user3', todoId: 'todo3' },
61
+ * ],
62
+ * });
63
+ *
64
+ * const { unprocessedPuts, unprocessedDeletes } = await todoEntity.send(batchWriteCommand);
65
+ * ```
66
+ */
67
+ declare class BatchWrite<Schema extends ZodObject> implements BaseCommand<BatchWriteResult<Schema>, Schema>, BatchWritePreparable<Schema> {
20
68
  #private;
21
69
  constructor(config: BatchWriteConfig<Schema>);
70
+ get items(): Array<EntitySchema<Schema>> | undefined;
71
+ get deletes(): Array<Partial<EntitySchema<Schema>>> | undefined;
22
72
  buildPutRequests(entity: DynamoEntity<Schema>): Promise<{
23
73
  PutRequest: {
24
74
  Item: zod_v4.infer<Schema> & DynamoKey;
@@ -1,14 +1,58 @@
1
- import { __classPrivateFieldSet, __awaiter, __classPrivateFieldGet } from '../node_modules/tslib/tslib.es6.mjs';
1
+ import { __classPrivateFieldSet, __classPrivateFieldGet, __awaiter } from '../node_modules/tslib/tslib.es6.mjs';
2
2
  import { BATCH_WRITE_VALIDATION_CONCURRENCY } from '../internal-constants.mjs';
3
3
  import { BatchWriteCommand } from '@aws-sdk/lib-dynamodb';
4
4
  import pMap from 'p-map';
5
5
 
6
6
  var _BatchWrite_config;
7
+ /**
8
+ * Command to put and/or delete multiple items in a single operation.
9
+ *
10
+ * @template Schema - The Zod schema defining the structure of the entity.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { DynamoTable, DynamoEntity, key, BatchWrite } from 'dynamo-document-builder';
15
+ *
16
+ * const table = new DynamoTable({
17
+ * tableName: 'ExampleTable',
18
+ * documentClient,
19
+ * });
20
+ *
21
+ * const todoEntity = new DynamoEntity({
22
+ * table,
23
+ * schema: z.object({
24
+ * userId: z.string(),
25
+ * todoId: z.string(),
26
+ * title: z.string(),
27
+ * }),
28
+ * partitionKey: todo => key('USER', todo.userId),
29
+ * sortKey: todo => key('TODO', todo.todoId),
30
+ * });
31
+ *
32
+ * const batchWriteCommand = new BatchWrite({
33
+ * items: [
34
+ * { userId: 'user1', todoId: 'todo1', title: 'Task 1' },
35
+ * { userId: 'user2', todoId: 'todo2', title: 'Task 2' },
36
+ * ],
37
+ * deletes: [
38
+ * { userId: 'user3', todoId: 'todo3' },
39
+ * ],
40
+ * });
41
+ *
42
+ * const { unprocessedPuts, unprocessedDeletes } = await todoEntity.send(batchWriteCommand);
43
+ * ```
44
+ */
7
45
  class BatchWrite {
8
46
  constructor(config) {
9
47
  _BatchWrite_config.set(this, void 0);
10
48
  __classPrivateFieldSet(this, _BatchWrite_config, config, "f");
11
49
  }
50
+ get items() {
51
+ return __classPrivateFieldGet(this, _BatchWrite_config, "f").items;
52
+ }
53
+ get deletes() {
54
+ return __classPrivateFieldGet(this, _BatchWrite_config, "f").deletes;
55
+ }
12
56
  buildPutRequests(entity) {
13
57
  return __awaiter(this, void 0, void 0, function* () {
14
58
  var _a;