dynamo-document-builder 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/README.md +270 -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 +36 -0
  8. package/dist/commands/batch-get.cjs.map +1 -1
  9. package/dist/commands/batch-get.d.ts +48 -2
  10. package/dist/commands/batch-get.mjs +36 -0
  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 +38 -0
  18. package/dist/commands/batch-write.cjs.map +1 -1
  19. package/dist/commands/batch-write.d.ts +51 -3
  20. package/dist/commands/batch-write.mjs +38 -0
  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.d.ts +62 -1
  53. package/dist/commands/projected-get.cjs +40 -0
  54. package/dist/commands/projected-get.cjs.map +1 -1
  55. package/dist/commands/projected-get.d.ts +54 -3
  56. package/dist/commands/projected-get.mjs +40 -0
  57. package/dist/commands/projected-get.mjs.map +1 -1
  58. package/dist/commands/projected-query.cjs +41 -0
  59. package/dist/commands/projected-query.cjs.map +1 -1
  60. package/dist/commands/projected-query.d.ts +56 -3
  61. package/dist/commands/projected-query.mjs +41 -0
  62. package/dist/commands/projected-query.mjs.map +1 -1
  63. package/dist/commands/projected-scan.cjs +41 -0
  64. package/dist/commands/projected-scan.cjs.map +1 -1
  65. package/dist/commands/projected-scan.d.ts +55 -3
  66. package/dist/commands/projected-scan.mjs +41 -0
  67. package/dist/commands/projected-scan.mjs.map +1 -1
  68. package/dist/commands/put.cjs +37 -0
  69. package/dist/commands/put.cjs.map +1 -1
  70. package/dist/commands/put.d.ts +50 -3
  71. package/dist/commands/put.mjs +37 -0
  72. package/dist/commands/put.mjs.map +1 -1
  73. package/dist/commands/query.cjs +36 -1
  74. package/dist/commands/query.cjs.map +1 -1
  75. package/dist/commands/query.d.ts +48 -3
  76. package/dist/commands/query.mjs +36 -1
  77. package/dist/commands/query.mjs.map +1 -1
  78. package/dist/commands/scan.cjs +33 -0
  79. package/dist/commands/scan.cjs.map +1 -1
  80. package/dist/commands/scan.d.ts +46 -3
  81. package/dist/commands/scan.mjs +33 -0
  82. package/dist/commands/scan.mjs.map +1 -1
  83. package/dist/commands/transact-get.cjs +35 -0
  84. package/dist/commands/transact-get.cjs.map +1 -1
  85. package/dist/commands/transact-get.d.ts +47 -2
  86. package/dist/commands/transact-get.mjs +35 -0
  87. package/dist/commands/transact-get.mjs.map +1 -1
  88. package/dist/commands/transact-write.cjs +37 -0
  89. package/dist/commands/transact-write.cjs.map +1 -1
  90. package/dist/commands/transact-write.d.ts +46 -1
  91. package/dist/commands/transact-write.mjs +37 -0
  92. package/dist/commands/transact-write.mjs.map +1 -1
  93. package/dist/commands/update.cjs +37 -0
  94. package/dist/commands/update.cjs.map +1 -1
  95. package/dist/commands/update.d.ts +50 -3
  96. package/dist/commands/update.mjs +37 -0
  97. package/dist/commands/update.mjs.map +1 -1
  98. package/dist/conditions/and.cjs +3 -0
  99. package/dist/conditions/and.cjs.map +1 -1
  100. package/dist/conditions/and.d.ts +4 -1
  101. package/dist/conditions/and.mjs +3 -0
  102. package/dist/conditions/and.mjs.map +1 -1
  103. package/dist/conditions/begins-with.cjs +3 -0
  104. package/dist/conditions/begins-with.cjs.map +1 -1
  105. package/dist/conditions/begins-with.d.ts +4 -1
  106. package/dist/conditions/begins-with.mjs +3 -0
  107. package/dist/conditions/begins-with.mjs.map +1 -1
  108. package/dist/conditions/between.cjs +3 -0
  109. package/dist/conditions/between.cjs.map +1 -1
  110. package/dist/conditions/between.d.ts +4 -1
  111. package/dist/conditions/between.mjs +3 -0
  112. package/dist/conditions/between.mjs.map +1 -1
  113. package/dist/conditions/condition-parser.d.ts +1 -1
  114. package/dist/conditions/contains.cjs +3 -0
  115. package/dist/conditions/contains.cjs.map +1 -1
  116. package/dist/conditions/contains.d.ts +4 -1
  117. package/dist/conditions/contains.mjs +3 -0
  118. package/dist/conditions/contains.mjs.map +1 -1
  119. package/dist/conditions/equals.cjs +3 -0
  120. package/dist/conditions/equals.cjs.map +1 -1
  121. package/dist/conditions/equals.d.ts +4 -1
  122. package/dist/conditions/equals.mjs +3 -0
  123. package/dist/conditions/equals.mjs.map +1 -1
  124. package/dist/conditions/exists.cjs +3 -0
  125. package/dist/conditions/exists.cjs.map +1 -1
  126. package/dist/conditions/exists.d.ts +4 -1
  127. package/dist/conditions/exists.mjs +3 -0
  128. package/dist/conditions/exists.mjs.map +1 -1
  129. package/dist/conditions/greater-than-or-equal.cjs +3 -0
  130. package/dist/conditions/greater-than-or-equal.cjs.map +1 -1
  131. package/dist/conditions/greater-than-or-equal.d.ts +4 -1
  132. package/dist/conditions/greater-than-or-equal.mjs +3 -0
  133. package/dist/conditions/greater-than-or-equal.mjs.map +1 -1
  134. package/dist/conditions/greater-than.cjs +3 -0
  135. package/dist/conditions/greater-than.cjs.map +1 -1
  136. package/dist/conditions/greater-than.d.ts +4 -1
  137. package/dist/conditions/greater-than.mjs +3 -0
  138. package/dist/conditions/greater-than.mjs.map +1 -1
  139. package/dist/conditions/index.cjs +2 -2
  140. package/dist/conditions/index.d.ts +185 -2
  141. package/dist/conditions/index.mjs +1 -1
  142. package/dist/conditions/is-in.cjs +3 -0
  143. package/dist/conditions/is-in.cjs.map +1 -1
  144. package/dist/conditions/is-in.d.ts +4 -1
  145. package/dist/conditions/is-in.mjs +3 -0
  146. package/dist/conditions/is-in.mjs.map +1 -1
  147. package/dist/conditions/less-than-or-equal.cjs +3 -0
  148. package/dist/conditions/less-than-or-equal.cjs.map +1 -1
  149. package/dist/conditions/less-than-or-equal.d.ts +4 -1
  150. package/dist/conditions/less-than-or-equal.mjs +3 -0
  151. package/dist/conditions/less-than-or-equal.mjs.map +1 -1
  152. package/dist/conditions/less-than.cjs +3 -0
  153. package/dist/conditions/less-than.cjs.map +1 -1
  154. package/dist/conditions/less-than.d.ts +4 -1
  155. package/dist/conditions/less-than.mjs +3 -0
  156. package/dist/conditions/less-than.mjs.map +1 -1
  157. package/dist/conditions/not-equals.cjs +3 -0
  158. package/dist/conditions/not-equals.cjs.map +1 -1
  159. package/dist/conditions/not-equals.d.ts +4 -1
  160. package/dist/conditions/not-equals.mjs +3 -0
  161. package/dist/conditions/not-equals.mjs.map +1 -1
  162. package/dist/conditions/not-exists.cjs +3 -0
  163. package/dist/conditions/not-exists.cjs.map +1 -1
  164. package/dist/conditions/not-exists.d.ts +4 -1
  165. package/dist/conditions/not-exists.mjs +3 -0
  166. package/dist/conditions/not-exists.mjs.map +1 -1
  167. package/dist/conditions/not.cjs +3 -0
  168. package/dist/conditions/not.cjs.map +1 -1
  169. package/dist/conditions/not.d.ts +4 -1
  170. package/dist/conditions/not.mjs +3 -0
  171. package/dist/conditions/not.mjs.map +1 -1
  172. package/dist/conditions/or.cjs +3 -0
  173. package/dist/conditions/or.cjs.map +1 -1
  174. package/dist/conditions/or.d.ts +4 -1
  175. package/dist/conditions/or.mjs +3 -0
  176. package/dist/conditions/or.mjs.map +1 -1
  177. package/dist/conditions/size.cjs +3 -0
  178. package/dist/conditions/size.cjs.map +1 -1
  179. package/dist/conditions/size.d.ts +4 -1
  180. package/dist/conditions/size.mjs +3 -0
  181. package/dist/conditions/size.mjs.map +1 -1
  182. package/dist/conditions/type-is.cjs +3 -0
  183. package/dist/conditions/type-is.cjs.map +1 -1
  184. package/dist/conditions/type-is.d.ts +4 -1
  185. package/dist/conditions/type-is.mjs +3 -0
  186. package/dist/conditions/type-is.mjs.map +1 -1
  187. package/dist/core/entity.cjs +57 -0
  188. package/dist/core/entity.cjs.map +1 -1
  189. package/dist/core/entity.d.ts +79 -4
  190. package/dist/core/entity.mjs +57 -0
  191. package/dist/core/entity.mjs.map +1 -1
  192. package/dist/core/index.d.ts +139 -2
  193. package/dist/core/key.cjs +1 -1
  194. package/dist/core/key.cjs.map +1 -1
  195. package/dist/core/key.d.ts +26 -2
  196. package/dist/core/key.mjs +1 -1
  197. package/dist/core/key.mjs.map +1 -1
  198. package/dist/core/table.cjs +22 -0
  199. package/dist/core/table.cjs.map +1 -1
  200. package/dist/core/table.d.ts +35 -1
  201. package/dist/core/table.mjs +22 -0
  202. package/dist/core/table.mjs.map +1 -1
  203. package/dist/errors.cjs +3 -0
  204. package/dist/errors.cjs.map +1 -1
  205. package/dist/errors.d.ts +3 -0
  206. package/dist/errors.mjs +3 -0
  207. package/dist/errors.mjs.map +1 -1
  208. package/dist/index.cjs +4 -4
  209. package/dist/index.d.ts +7 -7
  210. package/dist/index.mjs +2 -2
  211. package/dist/projections/index.d.ts +7 -1
  212. package/dist/projections/projection-parser.d.ts +1 -1
  213. package/dist/updates/add-to-set.cjs +5 -0
  214. package/dist/updates/add-to-set.cjs.map +1 -1
  215. package/dist/updates/add-to-set.d.ts +6 -1
  216. package/dist/updates/add-to-set.mjs +5 -0
  217. package/dist/updates/add-to-set.mjs.map +1 -1
  218. package/dist/updates/add.cjs +5 -0
  219. package/dist/updates/add.cjs.map +1 -1
  220. package/dist/updates/add.d.ts +6 -1
  221. package/dist/updates/add.mjs +5 -0
  222. package/dist/updates/add.mjs.map +1 -1
  223. package/dist/updates/append.cjs +5 -0
  224. package/dist/updates/append.cjs.map +1 -1
  225. package/dist/updates/append.d.ts +6 -1
  226. package/dist/updates/append.mjs +5 -0
  227. package/dist/updates/append.mjs.map +1 -1
  228. package/dist/updates/index.d.ts +78 -1
  229. package/dist/updates/prepend.cjs +5 -0
  230. package/dist/updates/prepend.cjs.map +1 -1
  231. package/dist/updates/prepend.d.ts +6 -1
  232. package/dist/updates/prepend.mjs +5 -0
  233. package/dist/updates/prepend.mjs.map +1 -1
  234. package/dist/updates/ref.cjs +6 -0
  235. package/dist/updates/ref.cjs.map +1 -1
  236. package/dist/updates/ref.d.ts +7 -1
  237. package/dist/updates/ref.mjs +6 -0
  238. package/dist/updates/ref.mjs.map +1 -1
  239. package/dist/updates/remove-from-set.cjs +5 -0
  240. package/dist/updates/remove-from-set.cjs.map +1 -1
  241. package/dist/updates/remove-from-set.d.ts +6 -1
  242. package/dist/updates/remove-from-set.mjs +5 -0
  243. package/dist/updates/remove-from-set.mjs.map +1 -1
  244. package/dist/updates/remove.cjs +3 -0
  245. package/dist/updates/remove.cjs.map +1 -1
  246. package/dist/updates/remove.d.ts +4 -1
  247. package/dist/updates/remove.mjs +3 -0
  248. package/dist/updates/remove.mjs.map +1 -1
  249. package/dist/updates/subtract.cjs +5 -0
  250. package/dist/updates/subtract.cjs.map +1 -1
  251. package/dist/updates/subtract.d.ts +6 -1
  252. package/dist/updates/subtract.mjs +5 -0
  253. package/dist/updates/subtract.mjs.map +1 -1
  254. package/dist/updates/update-parser.cjs +10 -0
  255. package/dist/updates/update-parser.cjs.map +1 -1
  256. package/dist/updates/update-parser.d.ts +17 -1
  257. package/dist/updates/update-parser.mjs +10 -0
  258. package/dist/updates/update-parser.mjs.map +1 -1
  259. package/package.json +2 -1
  260. package/dist/commands/base-command.cjs +0 -3
  261. package/dist/commands/base-command.cjs.map +0 -1
  262. package/dist/commands/base-command.d.ts +0 -27
  263. package/dist/commands/base-command.mjs +0 -2
  264. package/dist/commands/base-command.mjs.map +0 -1
  265. package/dist/conditions/condition-types.cjs +0 -3
  266. package/dist/conditions/condition-types.cjs.map +0 -1
  267. package/dist/conditions/condition-types.d.ts +0 -95
  268. package/dist/conditions/condition-types.mjs +0 -2
  269. package/dist/conditions/condition-types.mjs.map +0 -1
  270. package/dist/core/core-types.cjs +0 -3
  271. package/dist/core/core-types.cjs.map +0 -1
  272. package/dist/core/core-types.d.ts +0 -44
  273. package/dist/core/core-types.mjs +0 -2
  274. package/dist/core/core-types.mjs.map +0 -1
  275. package/dist/projections/projection-types.cjs +0 -3
  276. package/dist/projections/projection-types.cjs.map +0 -1
  277. package/dist/projections/projection-types.d.ts +0 -3
  278. package/dist/projections/projection-types.mjs +0 -2
  279. package/dist/projections/projection-types.mjs.map +0 -1
  280. package/dist/updates/update-types.cjs +0 -3
  281. package/dist/updates/update-types.cjs.map +0 -1
  282. package/dist/updates/update-types.d.ts +0 -45
  283. package/dist/updates/update-types.mjs +0 -2
  284. package/dist/updates/update-types.mjs.map +0 -1
@@ -1,16 +1,62 @@
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';
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
  };
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
+ */
14
60
  declare class BatchGet<Schema extends ZodObject> implements BaseCommand<BatchGetResult<Schema>, Schema> {
15
61
  #private;
16
62
  constructor(config: BatchGetConfig<Schema>);
@@ -4,6 +4,42 @@ 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);
@@ -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,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,6 +6,44 @@ 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);
@@ -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,21 +1,69 @@
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 } 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
  };
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
+ */
19
67
  declare class BatchWrite<Schema extends ZodObject> implements BaseCommand<BatchWriteResult<Schema>, Schema> {
20
68
  #private;
21
69
  constructor(config: BatchWriteConfig<Schema>);
@@ -4,6 +4,44 @@ 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);
@@ -1 +1 @@
1
- {"version":3,"file":"batch-write.mjs","sources":["../../src/commands/batch-write.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch-write.mjs","sources":["../../src/commands/batch-write.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -4,6 +4,43 @@ var tslib_es6 = require('../node_modules/tslib/tslib.es6.cjs');
4
4
  var conditions_conditionParser = require('../conditions/condition-parser.cjs');
5
5
 
6
6
  var _ConditionCheck_config;
7
+ /**
8
+ * Command to verify a condition without modifying data in a transaction.
9
+ *
10
+ * @template Schema - The Zod schema defining the structure of the entity.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { DynamoTable, DynamoEntity, key, TransactWrite, ConditionCheck, Update } 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
+ * balance: z.number(),
26
+ * }),
27
+ * partitionKey: user => key('USER', user.userId),
28
+ * sortKey: () => 'METADATA',
29
+ * });
30
+ *
31
+ * const transactWriteCommand = new TransactWrite({
32
+ * writes: [
33
+ * new ConditionCheck({
34
+ * key: { userId: 'user1' },
35
+ * condition: { balance: greaterThan(100) },
36
+ * }),
37
+ * new Update({ key: { userId: 'user2' }, update: { balance: add(50) } }),
38
+ * ],
39
+ * });
40
+ *
41
+ * await userEntity.send(transactWriteCommand);
42
+ * ```
43
+ */
7
44
  class ConditionCheck {
8
45
  constructor(config) {
9
46
  _ConditionCheck_config.set(this, void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"condition-check.cjs","sources":["../../src/commands/condition-check.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","parseCondition","__classPrivateFieldGet"],"mappings":";;;;;;MAca,cAAc,CAAA;AAGzB,IAAA,WAAA,CAAY,MAAoC,EAAA;QAFhD,sBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAAA,gCAAA,CAAA,IAAI,EAAA,sBAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEa,IAAA,uBAAuB,CAClC,MAA4B,EAAA;;AAE5B,YAAA,MAAM,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,GAAGC,yCAAc,CAACC,gCAAA,CAAA,IAAI,EAAA,sBAAA,EAAA,GAAA,CAAQ,CAAC,SAAS,CAAC;YAC9F,OAAO;AACL,gBAAA,cAAc,gCACZ,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EACjC,GAAG,EAAE,MAAM,CAAC,eAAe,CAACA,gCAAA,CAAA,IAAI,EAAA,sBAAA,EAAA,GAAA,CAAQ,CAAC,GAAG,CAAC,EAC7C,mBAAmB,EAAE,mBAAmB,EAAA,EACrC,sBAAsB,CAAC,2BAA2B,EAAE,CAAA,EAAA,EACvD,mCAAmC,EAAEA,gCAAA,CAAA,IAAI,EAAA,sBAAA,EAAA,GAAA,CAAQ,CAAC,mCAAmC,EAAA,CACtF;aACF;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
1
+ {"version":3,"file":"condition-check.cjs","sources":["../../src/commands/condition-check.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","parseCondition","__classPrivateFieldGet"],"mappings":";;;;;;AAmBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCG;MACU,cAAc,CAAA;AAGzB,IAAA,WAAA,CAAY,MAAoC,EAAA;QAFhD,sBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAAA,gCAAA,CAAA,IAAI,EAAA,sBAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEa,IAAA,uBAAuB,CAClC,MAA4B,EAAA;;AAE5B,YAAA,MAAM,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,GAAGC,yCAAc,CAACC,gCAAA,CAAA,IAAI,EAAA,sBAAA,EAAA,GAAA,CAAQ,CAAC,SAAS,CAAC;YAC9F,OAAO;AACL,gBAAA,cAAc,gCACZ,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EACjC,GAAG,EAAE,MAAM,CAAC,eAAe,CAACA,gCAAA,CAAA,IAAI,EAAA,sBAAA,EAAA,GAAA,CAAQ,CAAC,GAAG,CAAC,EAC7C,mBAAmB,EAAE,mBAAmB,EAAA,EACrC,sBAAsB,CAAC,2BAA2B,EAAE,CAAA,EAAA,EACvD,mCAAmC,EAAEA,gCAAA,CAAA,IAAI,EAAA,sBAAA,EAAA,GAAA,CAAQ,CAAC,mCAAmC,EAAA,CACtF;aACF;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
@@ -1,15 +1,57 @@
1
- import { Condition } from '../conditions/condition-types.js';
1
+ import { Condition } from '../conditions/index.js';
2
2
  import { DynamoEntity } from '../core/entity.js';
3
- import { EntitySchema, TransactWriteOperation } from '../core/core-types.js';
3
+ import { EntitySchema, TransactWriteOperation } from '../core/index.js';
4
4
  import { ReturnValuesOnConditionCheckFailure } from '@aws-sdk/client-dynamodb';
5
- import { WriteTransactable } from './base-command.js';
5
+ import { WriteTransactable } from './index.js';
6
6
  import { ZodObject } from 'zod/v4';
7
7
 
8
+ /**
9
+ * Configuration for the ConditionCheck command.
10
+ *
11
+ * @template Schema - The Zod schema defining the structure of the entity.
12
+ */
8
13
  type ConditionCheckConfig<Schema extends ZodObject> = {
9
14
  key: Partial<EntitySchema<Schema>>;
10
15
  condition: Condition;
11
16
  returnValuesOnConditionCheckFailure?: ReturnValuesOnConditionCheckFailure;
12
17
  };
18
+ /**
19
+ * Command to verify a condition without modifying data in a transaction.
20
+ *
21
+ * @template Schema - The Zod schema defining the structure of the entity.
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * import { DynamoTable, DynamoEntity, key, TransactWrite, ConditionCheck, Update } from 'dynamo-document-builder';
26
+ *
27
+ * const table = new DynamoTable({
28
+ * tableName: 'ExampleTable',
29
+ * documentClient,
30
+ * });
31
+ *
32
+ * const userEntity = new DynamoEntity({
33
+ * table,
34
+ * schema: z.object({
35
+ * userId: z.string(),
36
+ * balance: z.number(),
37
+ * }),
38
+ * partitionKey: user => key('USER', user.userId),
39
+ * sortKey: () => 'METADATA',
40
+ * });
41
+ *
42
+ * const transactWriteCommand = new TransactWrite({
43
+ * writes: [
44
+ * new ConditionCheck({
45
+ * key: { userId: 'user1' },
46
+ * condition: { balance: greaterThan(100) },
47
+ * }),
48
+ * new Update({ key: { userId: 'user2' }, update: { balance: add(50) } }),
49
+ * ],
50
+ * });
51
+ *
52
+ * await userEntity.send(transactWriteCommand);
53
+ * ```
54
+ */
13
55
  declare class ConditionCheck<Schema extends ZodObject> implements WriteTransactable<Schema> {
14
56
  #private;
15
57
  constructor(config: ConditionCheckConfig<Schema>);