dyno-table 2.0.0 → 2.0.2

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 (65) hide show
  1. package/dist/{batch-builder-BOBwOIUE.d.ts → batch-builder-BytHNL_u.d.ts} +2 -2
  2. package/dist/{batch-builder-CKYnMRyz.d.cts → batch-builder-CcxFDKhe.d.cts} +2 -2
  3. package/dist/builders/condition-check-builder.cjs +19 -0
  4. package/dist/builders/condition-check-builder.cjs.map +1 -1
  5. package/dist/builders/condition-check-builder.d.cts +12 -3
  6. package/dist/builders/condition-check-builder.d.ts +12 -3
  7. package/dist/builders/condition-check-builder.js +19 -0
  8. package/dist/builders/condition-check-builder.js.map +1 -1
  9. package/dist/builders/delete-builder.cjs +19 -0
  10. package/dist/builders/delete-builder.cjs.map +1 -1
  11. package/dist/builders/delete-builder.d.cts +12 -3
  12. package/dist/builders/delete-builder.d.ts +12 -3
  13. package/dist/builders/delete-builder.js +19 -0
  14. package/dist/builders/delete-builder.js.map +1 -1
  15. package/dist/builders/put-builder.cjs +19 -0
  16. package/dist/builders/put-builder.cjs.map +1 -1
  17. package/dist/builders/put-builder.d.cts +12 -3
  18. package/dist/builders/put-builder.d.ts +12 -3
  19. package/dist/builders/put-builder.js +19 -0
  20. package/dist/builders/put-builder.js.map +1 -1
  21. package/dist/builders/query-builder.cjs.map +1 -1
  22. package/dist/builders/query-builder.d.cts +2 -2
  23. package/dist/builders/query-builder.d.ts +2 -2
  24. package/dist/builders/query-builder.js.map +1 -1
  25. package/dist/builders/transaction-builder.cjs +19 -0
  26. package/dist/builders/transaction-builder.cjs.map +1 -1
  27. package/dist/builders/transaction-builder.d.cts +2 -2
  28. package/dist/builders/transaction-builder.d.ts +2 -2
  29. package/dist/builders/transaction-builder.js +19 -0
  30. package/dist/builders/transaction-builder.js.map +1 -1
  31. package/dist/builders/update-builder.cjs +19 -0
  32. package/dist/builders/update-builder.cjs.map +1 -1
  33. package/dist/builders/update-builder.d.cts +11 -2
  34. package/dist/builders/update-builder.d.ts +11 -2
  35. package/dist/builders/update-builder.js +19 -0
  36. package/dist/builders/update-builder.js.map +1 -1
  37. package/dist/{conditions-3ae5znV_.d.cts → conditions-CC3NDfUU.d.cts} +15 -13
  38. package/dist/{conditions-BtynAviC.d.ts → conditions-DD0bvyHm.d.ts} +15 -13
  39. package/dist/conditions.cjs.map +1 -1
  40. package/dist/conditions.d.cts +1 -1
  41. package/dist/conditions.d.ts +1 -1
  42. package/dist/conditions.js.map +1 -1
  43. package/dist/entity.cjs +61 -95
  44. package/dist/entity.cjs.map +1 -1
  45. package/dist/entity.d.cts +4 -4
  46. package/dist/entity.d.ts +4 -4
  47. package/dist/entity.js +61 -95
  48. package/dist/entity.js.map +1 -1
  49. package/dist/index.cjs +80 -95
  50. package/dist/index.cjs.map +1 -1
  51. package/dist/index.d.cts +4 -4
  52. package/dist/index.d.ts +4 -4
  53. package/dist/index.js +80 -95
  54. package/dist/index.js.map +1 -1
  55. package/dist/{query-builder-CaHzZmDf.d.ts → query-builder-BNWRCrJW.d.ts} +2 -2
  56. package/dist/{query-builder-DFkxojBM.d.cts → query-builder-DZ9JKgBN.d.cts} +2 -2
  57. package/dist/{table-m7DQk5dK.d.ts → table-BhEeYauU.d.ts} +3 -3
  58. package/dist/{table-CHitMHXE.d.cts → table-BpNOboD9.d.cts} +3 -3
  59. package/dist/table.cjs +19 -0
  60. package/dist/table.cjs.map +1 -1
  61. package/dist/table.d.cts +4 -4
  62. package/dist/table.d.ts +4 -4
  63. package/dist/table.js +19 -0
  64. package/dist/table.js.map +1 -1
  65. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { C as Condition, q as ConditionOperator } from './conditions-BtynAviC.js';
1
+ import { C as Condition, q as ConditionOperator, s as Path } from './conditions-DD0bvyHm.js';
2
2
  import { Paginator } from './builders/paginator.js';
3
3
  import { DynamoItem, TableConfig, GSINames } from './types.js';
4
4
  import { F as FilterBuilderInterface, R as ResultIterator, Q as QueryBuilderInterface } from './builder-types-CzuLR4Th.js';
@@ -169,7 +169,7 @@ declare abstract class FilterBuilder<T extends DynamoItem, TConfig extends Table
169
169
  * @param fields - A single field name or an array of field names to return
170
170
  * @returns The builder instance for method chaining
171
171
  */
172
- select(fields: string | string[]): this;
172
+ select<K extends Path<T>>(fields: K | K[]): this;
173
173
  /**
174
174
  * Creates a paginator that handles DynamoDB pagination automatically.
175
175
  * The paginator handles:
@@ -1,4 +1,4 @@
1
- import { C as Condition, q as ConditionOperator } from './conditions-3ae5znV_.cjs';
1
+ import { C as Condition, q as ConditionOperator, s as Path } from './conditions-CC3NDfUU.cjs';
2
2
  import { Paginator } from './builders/paginator.cjs';
3
3
  import { DynamoItem, TableConfig, GSINames } from './types.cjs';
4
4
  import { F as FilterBuilderInterface, R as ResultIterator, Q as QueryBuilderInterface } from './builder-types-BTVhQSHI.cjs';
@@ -169,7 +169,7 @@ declare abstract class FilterBuilder<T extends DynamoItem, TConfig extends Table
169
169
  * @param fields - A single field name or an array of field names to return
170
170
  * @returns The builder instance for method chaining
171
171
  */
172
- select(fields: string | string[]): this;
172
+ select<K extends Path<T>>(fields: K | K[]): this;
173
173
  /**
174
174
  * Creates a paginator that handles DynamoDB pagination automatically.
175
175
  * The paginator handles:
@@ -1,11 +1,11 @@
1
1
  import { DynamoItem, TableConfig, Index } from './types.js';
2
- import { r as PrimaryKeyWithoutExpression, P as PrimaryKey } from './conditions-BtynAviC.js';
3
- import { F as FilterBuilder, b as FilterOptions, Q as QueryBuilder } from './query-builder-CaHzZmDf.js';
2
+ import { r as PrimaryKeyWithoutExpression, P as PrimaryKey } from './conditions-DD0bvyHm.js';
3
+ import { F as FilterBuilder, b as FilterOptions, Q as QueryBuilder } from './query-builder-BNWRCrJW.js';
4
4
  import { PutBuilder } from './builders/put-builder.js';
5
5
  import { DeleteBuilder } from './builders/delete-builder.js';
6
6
  import { UpdateBuilder } from './builders/update-builder.js';
7
7
  import { TransactionBuilder, TransactionOptions } from './builders/transaction-builder.js';
8
- import { G as GetBuilder, B as BatchBuilder, c as BatchWriteOperation } from './batch-builder-BOBwOIUE.js';
8
+ import { G as GetBuilder, B as BatchBuilder, c as BatchWriteOperation } from './batch-builder-BytHNL_u.js';
9
9
  import { ConditionCheckBuilder } from './builders/condition-check-builder.js';
10
10
  import { S as ScanBuilderInterface, R as ResultIterator } from './builder-types-CzuLR4Th.js';
11
11
 
@@ -1,11 +1,11 @@
1
1
  import { DynamoItem, TableConfig, Index } from './types.cjs';
2
- import { r as PrimaryKeyWithoutExpression, P as PrimaryKey } from './conditions-3ae5znV_.cjs';
3
- import { F as FilterBuilder, b as FilterOptions, Q as QueryBuilder } from './query-builder-DFkxojBM.cjs';
2
+ import { r as PrimaryKeyWithoutExpression, P as PrimaryKey } from './conditions-CC3NDfUU.cjs';
3
+ import { F as FilterBuilder, b as FilterOptions, Q as QueryBuilder } from './query-builder-DZ9JKgBN.cjs';
4
4
  import { PutBuilder } from './builders/put-builder.cjs';
5
5
  import { DeleteBuilder } from './builders/delete-builder.cjs';
6
6
  import { UpdateBuilder } from './builders/update-builder.cjs';
7
7
  import { TransactionBuilder, TransactionOptions } from './builders/transaction-builder.cjs';
8
- import { G as GetBuilder, B as BatchBuilder, c as BatchWriteOperation } from './batch-builder-CKYnMRyz.cjs';
8
+ import { G as GetBuilder, B as BatchBuilder, c as BatchWriteOperation } from './batch-builder-CcxFDKhe.cjs';
9
9
  import { ConditionCheckBuilder } from './builders/condition-check-builder.cjs';
10
10
  import { S as ScanBuilderInterface, R as ResultIterator } from './builder-types-BTVhQSHI.cjs';
11
11
 
package/dist/table.cjs CHANGED
@@ -47,6 +47,25 @@ var not = (condition) => ({
47
47
 
48
48
  // src/expression.ts
49
49
  var generateAttributeName = (params, attr) => {
50
+ if (attr.includes(".")) {
51
+ const pathSegments = attr.split(".");
52
+ const segmentNames = [];
53
+ for (const segment of pathSegments) {
54
+ let segmentName;
55
+ for (const [existingName, existingAttr] of Object.entries(params.expressionAttributeNames)) {
56
+ if (existingAttr === segment) {
57
+ segmentName = existingName;
58
+ break;
59
+ }
60
+ }
61
+ if (!segmentName) {
62
+ segmentName = `#${Object.keys(params.expressionAttributeNames).length}`;
63
+ params.expressionAttributeNames[segmentName] = segment;
64
+ }
65
+ segmentNames.push(segmentName);
66
+ }
67
+ return segmentNames.join(".");
68
+ }
50
69
  for (const [existingName, existingAttr] of Object.entries(params.expressionAttributeNames)) {
51
70
  if (existingAttr === attr) {
52
71
  return existingName;