orm-dynamodb 1.0.2 → 1.3.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.
package/README.md CHANGED
@@ -5,12 +5,13 @@
5
5
 
6
6
  Lightweight TypeScript decorators for modeling DynamoDB items as classes.
7
7
 
8
+ Project site: https://ssz360.github.io/ORM-DynamoDB/
9
+
8
10
  ## ✨ Features
9
11
 
10
12
  - 🎯 **Type-safe decorators** for DynamoDB entities with full TypeScript support
11
13
  - 🔗 **Entity relationships** with `@LinkObject` and `@LinkArray` decorators and automatic link loading
12
14
  - 🔄 **Custom serialization** with `@ToDbModel` and `@FromDbModel` transformers
13
- - ⏰ **Automatic timestamps** for `createdAt` and `updatedAt`
14
15
  - 🛠️ **Intuitive API** with `insert()`, `update()`, `delete()`, `get()`, and `query()` methods
15
16
  - 🚀 **Zero configuration** - works out of the box with AWS SDK v3
16
17
  - 📦 **Tiny footprint** - lightweight with minimal dependencies
@@ -103,13 +104,15 @@ class Post extends BaseEntity {
103
104
  @ToDbModel
104
105
  static toDbModel(post: Post) {
105
106
  return {
107
+ ...post,
106
108
  publishedAt: post.publishedAt ? post.publishedAt.toISOString() : null
107
109
  };
108
110
  }
109
111
 
110
112
  @FromDbModel
111
- static fromDbModel(item: { publishedAt?: string | null }) {
113
+ static fromDbModel(item: any): Post {
112
114
  return {
115
+ ...item,
113
116
  publishedAt: item.publishedAt ? new Date(item.publishedAt) : null
114
117
  };
115
118
  }
@@ -138,37 +141,57 @@ async function run() {
138
141
  - **`@SortKeyValue`** - Defines the sort key value getter
139
142
  - **`@LinkObject(EntityClass, options?)`** - Creates a reference to a single entity (options: `{ inline?: boolean }`)
140
143
  - **`@LinkArray(EntityClass, options?)`** - Creates a reference to an array of entities (options: `{ inline?: boolean }`)
141
- - **`@ToDbModel`** - Custom serialization when writing to DynamoDB
142
- - **`@FromDbModel`** - Custom deserialization when reading from DynamoDB
144
+ - **`@ToDbModel`** - Full serialization contract for writing to DynamoDB; return exactly the fields you want saved
145
+ - **`@FromDbModel`** - Full deserialization contract for reading from DynamoDB; return exactly the fields you want on the entity
143
146
 
144
147
  ### Core Methods
145
148
 
146
- **Iinsert()` - Insert or update the entity (cascade saves linked entities)
147
- - `update(attributes)` - Partial update of the entity
149
+ **`insert()`** - Insert or replace the entity (cascade saves linked entities when requested)
150
+ - `update(attributes)` - Partial update for entities without `@ToDbModel`; full serialized save for entities with `@ToDbModel`
148
151
  - `delete()` - Remove the entity from DynamoDB
149
152
  - `loadLinks()` - Load all linked entities
150
153
 
151
154
  **Static Methods:**
152
155
  - `get(sortKeyValue)` - Retrieve a single entity by sort key
153
156
  - `query(options)` - Query entities with custom options
154
- - `queryAll(limit?)` - Query all entities in the partition
155
- - `queryEquals(sortKeyValue, limit?)` - Query entities with exact sort key match
156
- - `queryStartsWith(prefix, limit?)` - Query entities with sort key prefix
157
- - `queryBetween(start, end, limit?)` - Query entities with sort key in range
158
- - `queryGreaterThan(value, limit?)` - Query entities with sort key greater than value
159
- - `queryLessThan(value, limit?)` - Query entities with sort key less than valuesort key
157
+ - `queryAll(options?)` - Query all entities in the partition
158
+ - `queryEquals(sortKeyValue, options?)` - Query entities with exact sort key match
159
+ - `queryStartsWith(prefix, options?)` - Query entities with sort key prefix
160
+ - `queryBetween(start, end, options?)` - Query entities with sort key in range
161
+ - `queryGreaterThan(value, options?)` - Query entities with sort key greater than value
162
+ - `queryLessThan(value, options?)` - Query entities with sort key less than value
160
163
  - `query(options)` - Query entities in the partition
161
164
  - `configure(client)` - Set the DynamoDB client globally
162
165
 
166
+ Helper methods accept a query options object, for example:
167
+
168
+ ```ts
169
+ const recentOrders = await Order.queryGreaterThan('2024-01-01', {
170
+ limit: 20,
171
+ scanIndexForward: false,
172
+ });
173
+ ```
174
+
163
175
  ### Features
164
176
 
165
177
  - ✅ Explicit DynamoDB client configuration via `BaseEntity.configure(...)` or `@Entity(..., dbClient)`
166
- - ✅ Automatic `createdAt` and `updatedAt` timestamp management
167
178
  - ✅ Type-safe entity relationships with `@LinkObject` and `@LinkArray` decorators
168
179
  - ✅ Lazy loading of linked entities with `loadLinks()`
169
180
  - ✅ Custom transformation between domain models and DynamoDB items
170
181
  - ✅ Inline and non-inline link storage options
171
182
 
183
+ ## 📋 Changelog
184
+
185
+ ### 1.2.2
186
+
187
+ - Added optional cascade saving with `insert(true)` so linked entities can be persisted before the parent entity.
188
+
189
+ ### 1.1.2
190
+
191
+ - Changed query helper methods such as `queryAll`, `queryBetween`, and `queryGreaterThan` to accept an options object instead of only a `limit` argument.
192
+ - Added support for helper options like `scanIndexForward` while preserving the existing sort key helper APIs.
193
+ - Updated the README examples to document the new query helper signature.
194
+
172
195
  ## 🛠️ Development
173
196
 
174
197
  Install dependencies:
@@ -208,8 +231,16 @@ Apache-2.0
208
231
 
209
232
  ## 📖 Examples
210
233
 
211
- See [examples.ts](./examples.ts) for examples.
234
+ See [examples_simple.ts](./examples_simple.ts) for examples.
235
+ See [examples_advanced.ts](./examples_advanced.ts) for advanced examples.
212
236
 
213
237
  ## 🤝 Contributing
214
238
 
215
239
  Contributions are welcome! Please feel free to submit a Pull Request.
240
+
241
+
242
+ To publish it:
243
+
244
+ 1. In GitHub, open **Settings > Pages**.
245
+ 2. Set **Source** to **GitHub Actions**.
246
+ 3. Push to `main` or run the **Deploy GitHub Pages** workflow manually.
@@ -1,21 +1,25 @@
1
1
  import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
2
2
  import type { QueryOptions, EntityMetadata } from './types';
3
+ type QueryHelperOptions = Omit<QueryOptions, 'sortKeyCondition'>;
3
4
  export declare class BaseEntity {
4
5
  protected getMetadata(): EntityMetadata;
5
- protected getKey(): any;
6
- protected toItem(): any;
7
- insert(): Promise<this>;
6
+ protected getKey(source?: any): any;
7
+ protected toItem(source?: any): any;
8
+ protected fromItem<T extends BaseEntity>(this: T, item: any): T;
9
+ protected saveItem(source?: any, cascadeSave?: boolean): Promise<this>;
10
+ insert(cascadeSave?: boolean): Promise<this>;
8
11
  update(attributes: Partial<this>): Promise<this>;
9
12
  delete(): Promise<void>;
10
13
  loadLinks(): Promise<this>;
11
14
  static configure(dynamoDBClient: DynamoDBClient, documentClientConfig?: any): void;
12
15
  static get<T extends BaseEntity>(this: new (...args: any[]) => T, sortKeyValue: any): Promise<T | null>;
13
16
  static query<T extends BaseEntity>(this: new (...args: any[]) => T, options?: QueryOptions): Promise<T[]>;
14
- static queryAll<T extends BaseEntity>(this: new (...args: any[]) => T, limit?: number): Promise<T[]>;
15
- static queryStartsWith<T extends BaseEntity>(this: new (...args: any[]) => T, sortKeyPrefix: string, limit?: number): Promise<T[]>;
16
- static queryBetween<T extends BaseEntity>(this: new (...args: any[]) => T, start: any, end: any, limit?: number): Promise<T[]>;
17
- static queryGreaterThan<T extends BaseEntity>(this: new (...args: any[]) => T, sortKeyValue: any, limit?: number): Promise<T[]>;
18
- static queryLessThan<T extends BaseEntity>(this: new (...args: any[]) => T, sortKeyValue: any, limit?: number): Promise<T[]>;
19
- static queryEquals<T extends BaseEntity>(this: new (...args: any[]) => T, sortKeyValue: any, limit?: number): Promise<T[]>;
17
+ static queryAll<T extends BaseEntity>(this: new (...args: any[]) => T, options?: QueryHelperOptions): Promise<T[]>;
18
+ static queryStartsWith<T extends BaseEntity>(this: new (...args: any[]) => T, sortKeyPrefix: string, options?: QueryHelperOptions): Promise<T[]>;
19
+ static queryBetween<T extends BaseEntity>(this: new (...args: any[]) => T, start: any, end: any, options?: QueryHelperOptions): Promise<T[]>;
20
+ static queryGreaterThan<T extends BaseEntity>(this: new (...args: any[]) => T, sortKeyValue: any, options?: QueryHelperOptions): Promise<T[]>;
21
+ static queryLessThan<T extends BaseEntity>(this: new (...args: any[]) => T, sortKeyValue: any, options?: QueryHelperOptions): Promise<T[]>;
22
+ static queryEquals<T extends BaseEntity>(this: new (...args: any[]) => T, sortKeyValue: any, options?: QueryHelperOptions): Promise<T[]>;
20
23
  }
24
+ export {};
21
25
  //# sourceMappingURL=BaseEntity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEntity.d.ts","sourceRoot":"","sources":["../BaseEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAS1D,OAAO,KAAK,EAAgB,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG1E,qBAAa,UAAU;IAEnB,SAAS,CAAC,WAAW,IAAI,cAAc;IAIvC,SAAS,CAAC,MAAM;IAehB,SAAS,CAAC,MAAM;IA4DV,MAAM;IAuIN,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC;IAiChC,MAAM;IAyFN,SAAS;IAmGf,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,EAAE,oBAAoB,CAAC,EAAE,GAAG;WAI9D,GAAG,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;WAmChG,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;WAwFlG,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;WAI7F,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;WAO3H,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;WAOvH,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;WAOxH,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;WAOrH,WAAW,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CAMnI"}
1
+ {"version":3,"file":"BaseEntity.d.ts","sourceRoot":"","sources":["../BaseEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAS1D,OAAO,KAAK,EAAgB,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG1E,KAAK,kBAAkB,GAAG,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;AAEjE,qBAAa,UAAU;IAEnB,SAAS,CAAC,WAAW,IAAI,cAAc;IAIvC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAE,GAAU;IAenC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAE,GAAU;IA+DnC,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;cA+B/C,QAAQ,CAAC,MAAM,GAAE,GAAU,EAAE,WAAW,GAAE,OAAe;IA0InE,MAAM,CAAC,WAAW,GAAE,OAAe;IAKnC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC;IAmDhC,MAAM;IA2EN,SAAS;IA6Ff,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,EAAE,oBAAoB,CAAC,EAAE,GAAG;WAI9D,GAAG,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;WA2BhG,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;WA+ElG,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;WAI3G,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;WAOzI,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;WAOrI,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;WAOtI,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;WAOnI,WAAW,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CAMjJ"}
@@ -8,36 +8,36 @@ class BaseEntity {
8
8
  getMetadata() {
9
9
  return this.constructor.__entityMetadata__;
10
10
  }
11
- getKey() {
11
+ getKey(source = this) {
12
12
  const metadata = this.getMetadata();
13
13
  const key = {};
14
14
  if (metadata.hashKeyGetter) {
15
- key[metadata.hashKeyName] = this[metadata.hashKeyGetter];
15
+ key[metadata.hashKeyName] = source[metadata.hashKeyGetter];
16
16
  }
17
17
  if (metadata.sortKeyName && metadata.sortKeyGetter) {
18
- key[metadata.sortKeyName] = this[metadata.sortKeyGetter];
18
+ key[metadata.sortKeyName] = source[metadata.sortKeyGetter];
19
19
  }
20
20
  return key;
21
21
  }
22
- toItem() {
23
- const item = { ...this };
22
+ toItem(source = this) {
24
23
  const metadata = this.getMetadata();
25
- const key = this.getKey();
26
- // Apply custom toDbModel mapper if defined
24
+ const key = this.getKey(source);
25
+ // @ToDbModel is a full serializer: when present, its return value is the
26
+ // complete user-controlled DB shape. Keys and link metadata are added by the ORM.
27
27
  const toDbModelMapper = this.constructor[symbols_1.TO_DB_MODEL_METADATA];
28
- if (toDbModelMapper) {
29
- const mappedData = this.constructor[toDbModelMapper](this);
30
- Object.assign(item, mappedData);
31
- }
28
+ const item = toDbModelMapper
29
+ ? { ...this.constructor[toDbModelMapper](source) }
30
+ : { ...source };
32
31
  // Handle linked entities
33
32
  const links = this.constructor.prototype[symbols_1.LINKS_METADATA] || [];
34
33
  for (const link of links) {
35
- const value = this[link.propertyKey];
34
+ const value = source[link.propertyKey];
36
35
  const isInline = link.inline ?? false;
36
+ const idField = `__${link.propertyKey}ID`;
37
37
  if (isInline) {
38
38
  if (value !== undefined && value !== null) {
39
39
  if (link.isArray) {
40
- item[`__${link.propertyKey}ID`] = value.map((linkedItem) => {
40
+ item[idField] = value.map((linkedItem) => {
41
41
  const linkedKey = linkedItem.getKey();
42
42
  const linkedMetadata = linkedItem.getMetadata();
43
43
  const result = {
@@ -59,40 +59,73 @@ class BaseEntity {
59
59
  if (linkedMetadata.sortKeyName) {
60
60
  result[linkedMetadata.sortKeyName] = linkedKey[linkedMetadata.sortKeyName];
61
61
  }
62
- item[`__${link.propertyKey}ID`] = result;
62
+ item[idField] = result;
63
63
  }
64
64
  }
65
+ else if (value === undefined && source[idField] !== undefined) {
66
+ item[idField] = source[idField];
67
+ }
68
+ else if (value === null) {
69
+ delete item[idField];
70
+ }
65
71
  }
66
72
  else {
67
73
  // Non-inline: ensure no stale __propertyID from a previous loadLinks() is persisted
68
- delete item[`__${link.propertyKey}ID`];
74
+ delete item[idField];
69
75
  }
70
76
  // Remove the actual linked entity instances from being saved
71
77
  delete item[link.propertyKey];
72
78
  }
73
79
  return {
74
- ...key,
75
- ...item
80
+ ...item,
81
+ ...key
76
82
  };
77
83
  }
78
- async insert() {
79
- const metadata = this.getMetadata();
80
- // Save linked entities first (cascade save)
84
+ fromItem(item) {
85
+ const fromDbModelMapper = this.constructor[symbols_1.FROM_DB_MODEL_METADATA];
86
+ const itemData = fromDbModelMapper
87
+ ? this.constructor[fromDbModelMapper](item)
88
+ : item;
89
+ if (fromDbModelMapper) {
90
+ for (const key of Object.keys(this)) {
91
+ delete this[key];
92
+ }
93
+ }
94
+ Object.assign(this, itemData);
81
95
  const links = this.constructor.prototype[symbols_1.LINKS_METADATA] || [];
82
96
  for (const link of links) {
83
- const value = this[link.propertyKey];
84
- if (value !== undefined && value !== null) {
85
- if (Array.isArray(value)) {
86
- // Save all linked entities in parallel
87
- await Promise.all(value.map((linkedItem) => linkedItem.insert()));
88
- }
89
- else {
90
- // Save single linked entity
91
- await value.insert();
97
+ const idField = `__${link.propertyKey}ID`;
98
+ if (item[idField] !== undefined) {
99
+ Object.defineProperty(this, idField, {
100
+ value: item[idField],
101
+ writable: true,
102
+ configurable: true,
103
+ enumerable: false
104
+ });
105
+ }
106
+ }
107
+ return this;
108
+ }
109
+ async saveItem(source = this, cascadeSave = false) {
110
+ const metadata = this.getMetadata();
111
+ // Save linked entities first (cascade save) only if cascadeSave is true
112
+ if (cascadeSave) {
113
+ const links = this.constructor.prototype[symbols_1.LINKS_METADATA] || [];
114
+ for (const link of links) {
115
+ const value = source[link.propertyKey];
116
+ if (value !== undefined && value !== null) {
117
+ if (Array.isArray(value)) {
118
+ // Save all linked entities in parallel
119
+ await Promise.all(value.map((linkedItem) => linkedItem.insert(true)));
120
+ }
121
+ else {
122
+ // Save single linked entity
123
+ await value.insert(true);
124
+ }
92
125
  }
93
126
  }
94
127
  }
95
- const item = this.toItem();
128
+ const item = this.toItem(source);
96
129
  await (0, client_1.getDocClient)().send(new lib_dynamodb_1.PutCommand({
97
130
  TableName: metadata.tableName,
98
131
  Item: item
@@ -101,6 +134,7 @@ class BaseEntity {
101
134
  // Record shape: { [hashKey]: '__link', [sortKey]: '{parentHK}#{parentSK}#{property}#{linkedHK}#{linkedSK}',
102
135
  // linkedHashKey, linkedSortKey, isArray }
103
136
  // Requires the parent entity table to have a sort key.
137
+ const links = this.constructor.prototype[symbols_1.LINKS_METADATA] || [];
104
138
  const nonInlineLinks = links.filter(link => {
105
139
  const isInline = link.inline ?? false;
106
140
  return !isInline;
@@ -111,11 +145,11 @@ class BaseEntity {
111
145
  `Non-inline links require a sort key. Use @Link(..., { inline: true }) or add a sort key.`);
112
146
  }
113
147
  if (metadata.sortKeyName && nonInlineLinks.length > 0) {
114
- const parentKey = this.getKey();
148
+ const parentKey = this.getKey(source);
115
149
  const parentHKVal = String(parentKey[metadata.hashKeyName]);
116
150
  const parentSKVal = String(parentKey[metadata.sortKeyName]);
117
151
  for (const link of nonInlineLinks) {
118
- const value = this[link.propertyKey];
152
+ const value = source[link.propertyKey];
119
153
  // Delete all existing link records for this property before writing new ones.
120
154
  // Runs even when value is null/undefined so clearing a link removes stale records.
121
155
  const skPrefix = `${(0, client_1.encodeLinkSegment)(parentHKVal)}#${(0, client_1.encodeLinkSegment)(parentSKVal)}#${(0, client_1.encodeLinkSegment)(link.propertyKey)}#`;
@@ -195,9 +229,29 @@ class BaseEntity {
195
229
  }
196
230
  return this;
197
231
  }
232
+ async insert(cascadeSave = false) {
233
+ await this.saveItem(this, cascadeSave);
234
+ return this;
235
+ }
198
236
  async update(attributes) {
199
237
  const metadata = this.getMetadata();
200
238
  const key = this.getKey();
239
+ const snapshot = Object.assign(Object.create(Object.getPrototypeOf(this)), this, attributes);
240
+ const nextKey = this.getKey(snapshot);
241
+ const hashKeyChanged = key[metadata.hashKeyName] !== nextKey[metadata.hashKeyName];
242
+ const sortKeyChanged = metadata.sortKeyName
243
+ ? key[metadata.sortKeyName] !== nextKey[metadata.sortKeyName]
244
+ : false;
245
+ if (hashKeyChanged || sortKeyChanged) {
246
+ throw new Error(`Cannot update key fields for entity "${metadata.tableName}". ` +
247
+ `Hash key and sort key values are immutable; create a new entity and delete the old one instead.`);
248
+ }
249
+ const toDbModelMapper = this.constructor[symbols_1.TO_DB_MODEL_METADATA];
250
+ if (toDbModelMapper) {
251
+ await this.saveItem(snapshot);
252
+ Object.assign(this, attributes);
253
+ return this;
254
+ }
201
255
  const updateExpressions = [];
202
256
  const expressionAttributeNames = {};
203
257
  const expressionAttributeValues = {};
@@ -208,9 +262,6 @@ class BaseEntity {
208
262
  expressionAttributeValues[`:val${index}`] = attrValue;
209
263
  index++;
210
264
  }
211
- updateExpressions.push(`#updatedAt = :updatedAt`);
212
- expressionAttributeNames['#updatedAt'] = 'updatedAt';
213
- expressionAttributeValues[':updatedAt'] = new Date().toISOString();
214
265
  await (0, client_1.getDocClient)().send(new lib_dynamodb_1.UpdateCommand({
215
266
  TableName: metadata.tableName,
216
267
  Key: key,
@@ -224,6 +275,24 @@ class BaseEntity {
224
275
  async delete() {
225
276
  const metadata = this.getMetadata();
226
277
  const key = this.getKey();
278
+ // Guard: refuse deletion if other entities still reference this one via backlinks.
279
+ if (metadata.sortKeyName) {
280
+ const itemHKVal = String(key[metadata.hashKeyName]);
281
+ const itemSKVal = String(key[metadata.sortKeyName]);
282
+ const backlinkPrefix = `${(0, client_1.encodeLinkSegment)(itemHKVal)}#${(0, client_1.encodeLinkSegment)(itemSKVal)}#`;
283
+ const inboundBacklinks = await (0, client_1.paginatedQuery)({
284
+ TableName: metadata.tableName,
285
+ KeyConditionExpression: '#pk = :pkval AND begins_with(#sk, :skprefix)',
286
+ ExpressionAttributeNames: { '#pk': metadata.hashKeyName, '#sk': metadata.sortKeyName },
287
+ ExpressionAttributeValues: {
288
+ ':pkval': '__backlink',
289
+ ':skprefix': backlinkPrefix
290
+ }
291
+ });
292
+ if (inboundBacklinks.length > 0) {
293
+ throw new Error(`Cannot delete: still referenced by ${inboundBacklinks.length} record(s). Remove all references first.`);
294
+ }
295
+ }
227
296
  // Clean up non-inline link records before deleting the parent to prevent orphans.
228
297
  if (metadata.sortKeyName) {
229
298
  const links = this.constructor.prototype[symbols_1.LINKS_METADATA] || [];
@@ -264,40 +333,6 @@ class BaseEntity {
264
333
  }));
265
334
  }
266
335
  }
267
- // Clean up forward link records pointing TO this item (child-side cleanup via back-references).
268
- if (metadata.sortKeyName) {
269
- const itemHKVal = String(key[metadata.hashKeyName]);
270
- const itemSKVal = String(key[metadata.sortKeyName]);
271
- const backlinkPrefix = `${(0, client_1.encodeLinkSegment)(itemHKVal)}#${(0, client_1.encodeLinkSegment)(itemSKVal)}#`;
272
- const backlinks = await (0, client_1.paginatedQuery)({
273
- TableName: metadata.tableName,
274
- KeyConditionExpression: '#pk = :pkval AND begins_with(#sk, :skprefix)',
275
- ExpressionAttributeNames: { '#pk': metadata.hashKeyName, '#sk': metadata.sortKeyName },
276
- ExpressionAttributeValues: {
277
- ':pkval': '__backlink',
278
- ':skprefix': backlinkPrefix
279
- }
280
- });
281
- await Promise.all(backlinks.map(async (backlink) => {
282
- // Delete the forward link record in the parent's table
283
- const fwdSKVal = `${(0, client_1.encodeLinkSegment)(backlink.parentHashKey)}#${(0, client_1.encodeLinkSegment)(backlink.parentSortKey)}#${(0, client_1.encodeLinkSegment)(backlink.propertyKey)}#${(0, client_1.encodeLinkSegment)(itemHKVal)}#${(0, client_1.encodeLinkSegment)(itemSKVal)}`;
284
- await (0, client_1.getDocClient)().send(new lib_dynamodb_1.DeleteCommand({
285
- TableName: backlink.parentTableName,
286
- Key: {
287
- [backlink.parentHashKeyName]: '__link',
288
- [backlink.parentSortKeyName]: fwdSKVal
289
- }
290
- }));
291
- // Delete the back-reference record itself
292
- await (0, client_1.getDocClient)().send(new lib_dynamodb_1.DeleteCommand({
293
- TableName: metadata.tableName,
294
- Key: {
295
- [metadata.hashKeyName]: backlink[metadata.hashKeyName],
296
- [metadata.sortKeyName]: backlink[metadata.sortKeyName]
297
- }
298
- }));
299
- }));
300
- }
301
336
  await (0, client_1.getDocClient)().send(new lib_dynamodb_1.DeleteCommand({
302
337
  TableName: metadata.tableName,
303
338
  Key: key
@@ -312,15 +347,9 @@ class BaseEntity {
312
347
  continue;
313
348
  const EntityClass = link.entityClass;
314
349
  const entityMetadata = EntityClass.__entityMetadata__;
315
- const fromDbModelMapper = EntityClass[symbols_1.FROM_DB_MODEL_METADATA];
316
350
  const instantiate = (raw) => {
317
- let itemData = raw;
318
- if (fromDbModelMapper) {
319
- itemData = { ...raw, ...EntityClass[fromDbModelMapper](raw) };
320
- }
321
351
  const instance = new EntityClass();
322
- Object.assign(instance, itemData);
323
- return instance;
352
+ return instance.fromItem(raw);
324
353
  };
325
354
  const idField = `__${link.propertyKey}ID`;
326
355
  const idValue = this[idField];
@@ -410,15 +439,8 @@ class BaseEntity {
410
439
  if (!result.Item) {
411
440
  return null;
412
441
  }
413
- const fromDbModelMapper = this[symbols_1.FROM_DB_MODEL_METADATA];
414
- let itemData = result.Item;
415
- if (fromDbModelMapper) {
416
- const mappedData = this[fromDbModelMapper](result.Item);
417
- itemData = { ...result.Item, ...mappedData };
418
- }
419
442
  const instance = new this();
420
- Object.assign(instance, itemData);
421
- return instance;
443
+ return instance.fromItem(result.Item);
422
444
  }
423
445
  static async query(options) {
424
446
  const metadata = this.__entityMetadata__;
@@ -483,49 +505,42 @@ class BaseEntity {
483
505
  if (!result.Items || result.Items.length === 0) {
484
506
  return [];
485
507
  }
486
- const fromDbModelMapper = this[symbols_1.FROM_DB_MODEL_METADATA];
487
508
  return result.Items.map(item => {
488
- let itemData = item;
489
- if (fromDbModelMapper) {
490
- const mappedData = this[fromDbModelMapper](item);
491
- itemData = { ...item, ...mappedData };
492
- }
493
509
  const instance = new this();
494
- Object.assign(instance, itemData);
495
- return instance;
510
+ return instance.fromItem(item);
496
511
  });
497
512
  }
498
- static async queryAll(limit) {
499
- return this.query({ limit });
513
+ static async queryAll(options) {
514
+ return this.query(options);
500
515
  }
501
- static async queryStartsWith(sortKeyPrefix, limit) {
516
+ static async queryStartsWith(sortKeyPrefix, options) {
502
517
  return this.query({
503
518
  sortKeyCondition: { type: 'startsWith', value: sortKeyPrefix },
504
- limit
519
+ ...options
505
520
  });
506
521
  }
507
- static async queryBetween(start, end, limit) {
522
+ static async queryBetween(start, end, options) {
508
523
  return this.query({
509
524
  sortKeyCondition: { type: 'between', start, end },
510
- limit
525
+ ...options
511
526
  });
512
527
  }
513
- static async queryGreaterThan(sortKeyValue, limit) {
528
+ static async queryGreaterThan(sortKeyValue, options) {
514
529
  return this.query({
515
530
  sortKeyCondition: { type: 'greaterThan', value: sortKeyValue },
516
- limit
531
+ ...options
517
532
  });
518
533
  }
519
- static async queryLessThan(sortKeyValue, limit) {
534
+ static async queryLessThan(sortKeyValue, options) {
520
535
  return this.query({
521
536
  sortKeyCondition: { type: 'lessThan', value: sortKeyValue },
522
- limit
537
+ ...options
523
538
  });
524
539
  }
525
- static async queryEquals(sortKeyValue, limit) {
540
+ static async queryEquals(sortKeyValue, options) {
526
541
  return this.query({
527
542
  sortKeyCondition: { type: 'equals', value: sortKeyValue },
528
- limit
543
+ ...options
529
544
  });
530
545
  }
531
546
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEntity.js","sourceRoot":"","sources":["../BaseEntity.ts"],"names":[],"mappings":";;;AACA,wDAM+B;AAC/B,uCAAyF;AAEzF,qCAA4F;AAE5F,MAAa,UAAU;IAET,WAAW;QACjB,OAAQ,IAAI,CAAC,WAAmB,CAAC,kBAAkB,CAAC;IACxD,CAAC;IAES,MAAM;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,GAAG,GAAQ,EAAE,CAAC;QAEpB,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;YACzB,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAI,IAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;YACjD,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAI,IAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAES,MAAM;QACZ,MAAM,IAAI,GAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;QAE9B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE1B,2CAA2C;QAC3C,MAAM,eAAe,GAAI,IAAI,CAAC,WAAmB,CAAC,8BAAoB,CAAC,CAAC;QACxE,IAAI,eAAe,EAAE,CAAC;YAClB,MAAM,UAAU,GAAI,IAAI,CAAC,WAAmB,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;YACpE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,yBAAyB;QACzB,MAAM,KAAK,GAAoB,IAAI,CAAC,WAAW,CAAC,SAAiB,CAAC,wBAAc,CAAC,IAAI,EAAE,CAAC;QACxF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,KAAK,GAAI,IAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;YAEtC,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACxC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACf,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC,GAAI,KAAsB,CAAC,GAAG,CAAC,CAAC,UAAsB,EAAE,EAAE;4BACrF,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;4BACtC,MAAM,cAAc,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;4BAChD,MAAM,MAAM,GAAQ;gCAChB,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC;6BACtE,CAAC;4BACF,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;gCAC7B,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;4BAC/E,CAAC;4BACD,OAAO,MAAM,CAAC;wBAClB,CAAC,CAAC,CAAC;oBACP,CAAC;yBAAM,CAAC;wBACJ,MAAM,UAAU,GAAG,KAAmB,CAAC;wBACvC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;wBACtC,MAAM,cAAc,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;wBAChD,MAAM,MAAM,GAAQ;4BAChB,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC;yBACtE,CAAC;wBACF,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;4BAC7B,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;wBAC/E,CAAC;wBACD,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC,GAAG,MAAM,CAAC;oBAC7C,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,oFAAoF;gBACpF,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;YAC3C,CAAC;YACD,6DAA6D;YAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;QAED,OAAO;YACH,GAAG,GAAG;YACN,GAAG,IAAI;SACV,CAAC;IACN,CAAC;IAED,KAAK,CAAC,MAAM;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpC,4CAA4C;QAC5C,MAAM,KAAK,GAAoB,IAAI,CAAC,WAAW,CAAC,SAAiB,CAAC,wBAAc,CAAC,IAAI,EAAE,CAAC;QACxF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,KAAK,GAAI,IAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvB,uCAAuC;oBACvC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,UAAsB,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAClF,CAAC;qBAAM,CAAC;oBACJ,4BAA4B;oBAC5B,MAAO,KAAoB,CAAC,MAAM,EAAE,CAAC;gBACzC,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE3B,MAAM,IAAA,qBAAY,GAAE,CAAC,IAAI,CAAC,IAAI,yBAAU,CAAC;YACrC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,IAAI,EAAE,IAAI;SACb,CAAC,CAAC,CAAC;QAEJ,oDAAoD;QACpD,4GAA4G;QAC5G,0DAA0D;QAC1D,uDAAuD;QACvD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;YACtC,OAAO,CAAC,QAAQ,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACX,WAAW,QAAQ,CAAC,SAAS,oCAAoC;gBACjE,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB;gBAC1E,0FAA0F,CAC7F,CAAC;QACN,CAAC;QAED,IAAI,QAAQ,CAAC,WAAW,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;YAE5D,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAI,IAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAE9C,8EAA8E;gBAC9E,mFAAmF;gBACnF,MAAM,QAAQ,GAAG,GAAG,IAAA,0BAAiB,EAAC,WAAW,CAAC,IAAI,IAAA,0BAAiB,EAAC,WAAW,CAAC,IAAI,IAAA,0BAAiB,EAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;gBAC/H,MAAM,aAAa,GAAG,MAAM,IAAA,uBAAc,EAAC;oBACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,sBAAsB,EAAE,8CAA8C;oBACtE,wBAAwB,EAAE;wBACtB,KAAK,EAAE,QAAQ,CAAC,WAAW;wBAC3B,KAAK,EAAE,QAAQ,CAAC,WAAY;qBAC/B;oBACD,yBAAyB,EAAE;wBACvB,QAAQ,EAAE,QAAQ;wBAClB,WAAW,EAAE,QAAQ;qBACxB;iBACJ,CAAC,CAAC;gBACH,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,oBAAoB,GAAI,IAAI,CAAC,WAAmB,CAAC,kBAAkB,CAAC;oBAC1E,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,GAAQ,EAAE,EAAE;wBACnD,MAAM,IAAA,qBAAY,GAAE,CAAC,IAAI,CAAC,IAAI,4BAAa,CAAC;4BACxC,SAAS,EAAE,QAAQ,CAAC,SAAS;4BAC7B,GAAG,EAAE;gCACD,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;gCACjD,CAAC,QAAQ,CAAC,WAAY,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,WAAY,CAAC;6BACtD;yBACJ,CAAC,CAAC,CAAC;wBACJ,yDAAyD;wBACzD,IAAI,oBAAoB,CAAC,WAAW,EAAE,CAAC;4BACnC,MAAM,IAAA,qBAAY,GAAE,CAAC,IAAI,CAAC,IAAI,4BAAa,CAAC;gCACxC,SAAS,EAAE,oBAAoB,CAAC,SAAS;gCACzC,GAAG,EAAE;oCACD,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,YAAY;oCAChD,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,GAAG,IAAA,0BAAiB,EAAC,GAAG,CAAC,aAAa,CAAC,IAAI,IAAA,0BAAiB,EAAC,GAAG,CAAC,aAAa,CAAC,IAAI,IAAA,0BAAiB,EAAC,QAAQ,CAAC,SAAU,CAAC,IAAI,IAAA,0BAAiB,EAAC,WAAW,CAAC,IAAI,IAAA,0BAAiB,EAAC,WAAW,CAAC,IAAI,IAAA,0BAAiB,EAAC,IAAI,CAAC,WAAW,CAAC,EAAE;iCAC7Q;6BACJ,CAAC,CAAC,CAAC;wBACR,CAAC;oBACL,CAAC,CAAC,CAAC,CAAC;gBACR,CAAC;gBAED,IAAI,KAAK,IAAI,IAAI;oBAAE,SAAS;gBAE5B,MAAM,WAAW,GAAiB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACjE,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,UAAsB,EAAE,EAAE;oBAC/D,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;oBACtC,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;oBAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;oBAC9D,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW;wBACtC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;wBAC3C,CAAC,CAAC,EAAE,CAAC;oBAET,MAAM,UAAU,GAAQ;wBACpB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ;wBAChC,CAAC,QAAQ,CAAC,WAAY,CAAC,EAAE,GAAG,IAAA,0BAAiB,EAAC,WAAW,CAAC,IAAI,IAAA,0BAAiB,EAAC,WAAW,CAAC,IAAI,IAAA,0BAAiB,EAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAA,0BAAiB,EAAC,WAAW,CAAC,IAAI,IAAA,0BAAiB,EAAC,WAAW,CAAC,EAAE;wBACzM,aAAa,EAAE,WAAW;wBAC1B,aAAa,EAAE,WAAW;wBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;qBACxB,CAAC;oBAEF,MAAM,IAAA,qBAAY,GAAE,CAAC,IAAI,CAAC,IAAI,yBAAU,CAAC;wBACrC,SAAS,EAAE,QAAQ,CAAC,SAAS;wBAC7B,IAAI,EAAE,UAAU;qBACnB,CAAC,CAAC,CAAC;oBAEJ,2FAA2F;oBAC3F,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;wBACzB,MAAM,IAAA,qBAAY,GAAE,CAAC,IAAI,CAAC,IAAI,yBAAU,CAAC;4BACrC,SAAS,EAAE,UAAU,CAAC,SAAS;4BAC/B,IAAI,EAAE;gCACF,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,YAAY;gCACtC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,GAAG,IAAA,0BAAiB,EAAC,WAAW,CAAC,IAAI,IAAA,0BAAiB,EAAC,WAAW,CAAC,IAAI,IAAA,0BAAiB,EAAC,QAAQ,CAAC,SAAU,CAAC,IAAI,IAAA,0BAAiB,EAAC,WAAW,CAAC,IAAI,IAAA,0BAAiB,EAAC,WAAW,CAAC,IAAI,IAAA,0BAAiB,EAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gCACpP,eAAe,EAAE,QAAQ,CAAC,SAAS;gCACnC,iBAAiB,EAAE,QAAQ,CAAC,WAAW;gCACvC,iBAAiB,EAAE,QAAQ,CAAC,WAAW;gCACvC,aAAa,EAAE,WAAW;gCAC1B,aAAa,EAAE,WAAW;gCAC1B,WAAW,EAAE,IAAI,CAAC,WAAW;6BAChC;yBACJ,CAAC,CAAC,CAAC;oBACR,CAAC;gBACL,CAAC,CAAC,CAAC,CAAC;YACR,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAyB;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE1B,MAAM,iBAAiB,GAAa,EAAE,CAAC;QACvC,MAAM,wBAAwB,GAAQ,EAAE,CAAC;QACzC,MAAM,yBAAyB,GAAQ,EAAE,CAAC;QAE1C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7D,iBAAiB,CAAC,IAAI,CAAC,QAAQ,KAAK,UAAU,KAAK,EAAE,CAAC,CAAC;YACvD,wBAAwB,CAAC,QAAQ,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC;YACrD,yBAAyB,CAAC,OAAO,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;YACtD,KAAK,EAAE,CAAC;QACZ,CAAC;QAED,iBAAiB,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAClD,wBAAwB,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC;QACrD,yBAAyB,CAAC,YAAY,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAEnE,MAAM,IAAA,qBAAY,GAAE,CAAC,IAAI,CAAC,IAAI,4BAAa,CAAC;YACxC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,GAAG,EAAE,GAAG;YACR,gBAAgB,EAAE,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACvD,wBAAwB,EAAE,wBAAwB;YAClD,yBAAyB,EAAE,yBAAyB;SACvD,CAAC,CAAC,CAAC;QAEJ,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAEhC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE1B,kFAAkF;QAClF,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACvB,MAAM,KAAK,GAAoB,IAAI,CAAC,WAAW,CAAC,SAAiB,CAAC,wBAAc,CAAC,IAAI,EAAE,CAAC;YACxF,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;YACtD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;YAEtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;gBACtC,IAAI,QAAQ;oBAAE,SAAS;gBAEvB,MAAM,aAAa,GAAG,MAAM,IAAA,uBAAc,EAAC;oBACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,sBAAsB,EAAE,8CAA8C;oBACtE,wBAAwB,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,WAAW,EAAE;oBACtF,yBAAyB,EAAE;wBACvB,QAAQ,EAAE,QAAQ;wBAClB,WAAW,EAAE,GAAG,IAAA,0BAAiB,EAAC,WAAW,CAAC,IAAI,IAAA,0BAAiB,EAAC,WAAW,CAAC,IAAI,IAAA,0BAAiB,EAAC,IAAI,CAAC,WAAW,CAAC,GAAG;qBAC7H;iBACJ,CAAC,CAAC;gBACH,MAAM,oBAAoB,GAAI,IAAI,CAAC,WAAmB,CAAC,kBAAkB,CAAC;gBAC1E,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,GAAQ,EAAE,EAAE;oBACnD,MAAM,IAAA,qBAAY,GAAE,CAAC,IAAI,CAAC,IAAI,4BAAa,CAAC;wBACxC,SAAS,EAAE,QAAQ,CAAC,SAAS;wBAC7B,GAAG,EAAE;4BACD,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;4BACjD,CAAC,QAAQ,CAAC,WAAY,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,WAAY,CAAC;yBACtD;qBACJ,CAAC,CAAC,CAAC;oBACJ,yDAAyD;oBACzD,IAAI,oBAAoB,CAAC,WAAW,EAAE,CAAC;wBACnC,MAAM,IAAA,qBAAY,GAAE,CAAC,IAAI,CAAC,IAAI,4BAAa,CAAC;4BACxC,SAAS,EAAE,oBAAoB,CAAC,SAAS;4BACzC,GAAG,EAAE;gCACD,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,YAAY;gCAChD,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,GAAG,IAAA,0BAAiB,EAAC,GAAG,CAAC,aAAa,CAAC,IAAI,IAAA,0BAAiB,EAAC,GAAG,CAAC,aAAa,CAAC,IAAI,IAAA,0BAAiB,EAAC,QAAQ,CAAC,SAAU,CAAC,IAAI,IAAA,0BAAiB,EAAC,WAAW,CAAC,IAAI,IAAA,0BAAiB,EAAC,WAAW,CAAC,IAAI,IAAA,0BAAiB,EAAC,IAAI,CAAC,WAAW,CAAC,EAAE;6BAC7Q;yBACJ,CAAC,CAAC,CAAC;oBACR,CAAC;gBACL,CAAC,CAAC,CAAC,CAAC;YACR,CAAC;QACL,CAAC;QAED,gGAAgG;QAChG,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;YACpD,MAAM,cAAc,GAAG,GAAG,IAAA,0BAAiB,EAAC,SAAS,CAAC,IAAI,IAAA,0BAAiB,EAAC,SAAS,CAAC,GAAG,CAAC;YAE1F,MAAM,SAAS,GAAG,MAAM,IAAA,uBAAc,EAAC;gBACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,sBAAsB,EAAE,8CAA8C;gBACtE,wBAAwB,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,WAAW,EAAE;gBACtF,yBAAyB,EAAE;oBACvB,QAAQ,EAAE,YAAY;oBACtB,WAAW,EAAE,cAAc;iBAC9B;aACJ,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAa,EAAE,EAAE;gBACpD,uDAAuD;gBACvD,MAAM,QAAQ,GAAG,GAAG,IAAA,0BAAiB,EAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAA,0BAAiB,EAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAA,0BAAiB,EAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAA,0BAAiB,EAAC,SAAS,CAAC,IAAI,IAAA,0BAAiB,EAAC,SAAS,CAAC,EAAE,CAAC;gBACxN,MAAM,IAAA,qBAAY,GAAE,CAAC,IAAI,CAAC,IAAI,4BAAa,CAAC;oBACxC,SAAS,EAAE,QAAQ,CAAC,eAAe;oBACnC,GAAG,EAAE;wBACD,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,QAAQ;wBACtC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,QAAQ;qBACzC;iBACJ,CAAC,CAAC,CAAC;gBACJ,0CAA0C;gBAC1C,MAAM,IAAA,qBAAY,GAAE,CAAC,IAAI,CAAC,IAAI,4BAAa,CAAC;oBACxC,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,GAAG,EAAE;wBACD,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;wBACtD,CAAC,QAAQ,CAAC,WAAY,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAY,CAAC;qBAC3D;iBACJ,CAAC,CAAC,CAAC;YACR,CAAC,CAAC,CAAC,CAAC;QACR,CAAC;QAED,MAAM,IAAA,qBAAY,GAAE,CAAC,IAAI,CAAC,IAAI,4BAAa,CAAC;YACxC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,GAAG,EAAE,GAAG;SACX,CAAC,CAAC,CAAC;IACR,CAAC;IAED,KAAK,CAAC,SAAS;QACX,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,KAAK,GAAoB,IAAI,CAAC,WAAW,CAAC,SAAiB,CAAC,wBAAc,CAAC,IAAI,EAAE,CAAC;QAExF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,WAAW;gBAAE,SAAS;YAEhC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACrC,MAAM,cAAc,GAAI,WAAmB,CAAC,kBAAkB,CAAC;YAC/D,MAAM,iBAAiB,GAAI,WAAmB,CAAC,gCAAsB,CAAC,CAAC;YAEvE,MAAM,WAAW,GAAG,CAAC,GAAQ,EAAc,EAAE;gBACzC,IAAI,QAAQ,GAAG,GAAG,CAAC;gBACnB,IAAI,iBAAiB,EAAE,CAAC;oBACpB,QAAQ,GAAG,EAAE,GAAG,GAAG,EAAE,GAAI,WAAmB,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3E,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;gBACnC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAClC,OAAO,QAAQ,CAAC;YACpB,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC;YAC1C,MAAM,OAAO,GAAI,IAAY,CAAC,OAAO,CAAC,CAAC;YAEvC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBAClB,qDAAqD;gBACrD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAW,EAAE,EAAE;wBAC9B,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAY,GAAE,CAAC,IAAI,CAAC,IAAI,yBAAU,CAAC;4BACpD,SAAS,EAAE,cAAc,CAAC,SAAS;4BACnC,GAAG,EAAE,MAAM;yBACd,CAAC,CAAC,CAAC;wBACJ,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACzD,CAAC,CAAC,CACL,CAAC;oBACD,IAAY,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;gBACrE,CAAC;qBAAM,CAAC;oBACJ,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAY,GAAE,CAAC,IAAI,CAAC,IAAI,yBAAU,CAAC;wBACpD,SAAS,EAAE,cAAc,CAAC,SAAS;wBACnC,GAAG,EAAE,OAAO;qBACf,CAAC,CAAC,CAAC;oBACJ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBACb,IAAY,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC/D,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;gBACpC,+EAA+E;gBAC/E,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;gBAClE,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;gBAClE,MAAM,QAAQ,GAAG,GAAG,IAAA,0BAAiB,EAAC,WAAW,CAAC,IAAI,IAAA,0BAAiB,EAAC,WAAW,CAAC,IAAI,IAAA,0BAAiB,EAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;gBAE/H,MAAM,SAAS,GAAG,MAAM,IAAA,uBAAc,EAAC;oBACnC,SAAS,EAAE,cAAc,CAAC,SAAS;oBACnC,sBAAsB,EAAE,8CAA8C;oBACtE,wBAAwB,EAAE;wBACtB,KAAK,EAAE,cAAc,CAAC,WAAW;wBACjC,KAAK,EAAE,cAAc,CAAC,WAAW;qBACpC;oBACD,yBAAyB,EAAE;wBACvB,QAAQ,EAAE,QAAQ;wBAClB,WAAW,EAAE,QAAQ;qBACxB;iBACJ,CAAC,CAAC;gBAEH,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,mFAAmF;oBACnF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACd,IAAY,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;oBACzC,CAAC;oBACD,SAAS;gBACb,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,UAAe,EAAE,EAAE;oBACpC,MAAM,SAAS,GAAQ;wBACnB,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,aAAa;qBACzD,CAAC;oBACF,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;wBAC7B,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC;oBACrE,CAAC;oBACD,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAY,GAAE,CAAC,IAAI,CAAC,IAAI,yBAAU,CAAC;wBACpD,SAAS,EAAE,cAAc,CAAC,SAAS;wBACnC,GAAG,EAAE,SAAS;qBACjB,CAAC,CAAC,CAAC;oBACJ,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACzD,CAAC,CAAC,CACL,CAAC;gBAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;gBAChD,mFAAmF;gBAClF,IAAY,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;YACtF,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,cAA8B,EAAE,oBAA0B;QACvE,IAAA,wBAAe,EAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,CAAwD,YAAiB;QACrF,MAAM,QAAQ,GAAI,IAAY,CAAC,kBAAkB,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,IAAI,EAAS,CAAC;QAEvC,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/F,MAAM,GAAG,GAAQ;YACb,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY;SACvC,CAAC;QAEF,IAAI,QAAQ,CAAC,WAAW,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YACrD,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC;QAC7C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAY,GAAE,CAAC,IAAI,CAAC,IAAI,yBAAU,CAAC;YACpD,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,GAAG,EAAE,GAAG;SACX,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,iBAAiB,GAAI,IAAY,CAAC,gCAAsB,CAAC,CAAC;QAChE,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3B,IAAI,iBAAiB,EAAE,CAAC;YACpB,MAAM,UAAU,GAAI,IAAY,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjE,QAAQ,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC;QACjD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAO,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAwD,OAAsB;QAC5F,MAAM,QAAQ,GAAI,IAAY,CAAC,kBAAkB,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,IAAI,EAAS,CAAC;QAEvC,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/F,IAAI,sBAAsB,GAAG,cAAc,CAAC;QAC5C,MAAM,wBAAwB,GAAQ;YAClC,KAAK,EAAE,QAAQ,CAAC,WAAW;SAC9B,CAAC;QACF,MAAM,yBAAyB,GAAQ;YACnC,QAAQ,EAAE,YAAY;SACzB,CAAC;QAEF,IAAI,OAAO,EAAE,gBAAgB,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACpD,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC;YAChC,wBAAwB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAErC,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAC3C,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;gBACrB,KAAK,QAAQ;oBACT,sBAAsB,IAAI,mBAAmB,CAAC;oBAC9C,yBAAyB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;oBACtD,MAAM;gBACV,KAAK,UAAU;oBACX,sBAAsB,IAAI,mBAAmB,CAAC;oBAC9C,yBAAyB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;oBACtD,MAAM;gBACV,KAAK,iBAAiB;oBAClB,sBAAsB,IAAI,oBAAoB,CAAC;oBAC/C,yBAAyB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;oBACtD,MAAM;gBACV,KAAK,aAAa;oBACd,sBAAsB,IAAI,mBAAmB,CAAC;oBAC9C,yBAAyB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;oBACtD,MAAM;gBACV,KAAK,oBAAoB;oBACrB,sBAAsB,IAAI,oBAAoB,CAAC;oBAC/C,yBAAyB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;oBACtD,MAAM;gBACV,KAAK,SAAS;oBACV,sBAAsB,IAAI,sCAAsC,CAAC;oBACjE,yBAAyB,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;oBACxD,yBAAyB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC;oBACpD,MAAM;gBACV,KAAK,YAAY;oBACb,sBAAsB,IAAI,+BAA+B,CAAC;oBAC1D,yBAAyB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;oBACtD,MAAM;YACd,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAQ;YACrB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,sBAAsB,EAAE,sBAAsB;YAC9C,wBAAwB,EAAE,wBAAwB;YAClD,yBAAyB,EAAE,yBAAyB;SACvD,CAAC;QAEF,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACjB,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACtC,CAAC;QAED,IAAI,OAAO,EAAE,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAC1C,WAAW,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAC5D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAY,GAAE,CAAC,IAAI,CAAC,IAAI,2BAAY,CAAC,WAAW,CAAC,CAAC,CAAC;QAExE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,iBAAiB,GAAI,IAAY,CAAC,gCAAsB,CAAC,CAAC;QAEhE,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC3B,IAAI,QAAQ,GAAG,IAAI,CAAC;YACpB,IAAI,iBAAiB,EAAE,CAAC;gBACpB,MAAM,UAAU,GAAI,IAAY,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC1D,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC;YAC1C,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAO,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAClC,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAwD,KAAc;QACvF,OAAQ,IAAY,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,eAAe,CAAwD,aAAqB,EAAE,KAAc;QACrH,OAAQ,IAAY,CAAC,KAAK,CAAC;YACvB,gBAAgB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE;YAC9D,KAAK;SACR,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CAAwD,KAAU,EAAE,GAAQ,EAAE,KAAc;QACjH,OAAQ,IAAY,CAAC,KAAK,CAAC;YACvB,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;YACjD,KAAK;SACR,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAwD,YAAiB,EAAE,KAAc;QAClH,OAAQ,IAAY,CAAC,KAAK,CAAC;YACvB,gBAAgB,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE;YAC9D,KAAK;SACR,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CAAwD,YAAiB,EAAE,KAAc;QAC/G,OAAQ,IAAY,CAAC,KAAK,CAAC;YACvB,gBAAgB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE;YAC3D,KAAK;SACR,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CAAwD,YAAiB,EAAE,KAAc;QAC7G,OAAQ,IAAY,CAAC,KAAK,CAAC;YACvB,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE;YACzD,KAAK;SACR,CAAC,CAAC;IACP,CAAC;CACJ;AA1lBD,gCA0lBC"}
1
+ {"version":3,"file":"BaseEntity.js","sourceRoot":"","sources":["../BaseEntity.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orm-dynamodb",
3
- "version": "1.0.2",
3
+ "version": "1.3.0",
4
4
  "description": "Lightweight TypeScript decorators for modeling DynamoDB items as classes",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -37,12 +37,12 @@
37
37
  "license": "Apache-2.0",
38
38
  "repository": {
39
39
  "type": "git",
40
- "url": ""
40
+ "url": "https://github.com/ssz360/ORM-DynamoDB.git"
41
41
  },
42
42
  "bugs": {
43
- "url": ""
43
+ "url": "https://github.com/ssz360/ORM-DynamoDB/issues"
44
44
  },
45
- "homepage": "https://github.com/ssz360/DynamoDB-ORM",
45
+ "homepage": "https://github.com/ssz360/ORM-DynamoDB",
46
46
  "dependencies": {
47
47
  "@aws-sdk/client-dynamodb": "^3.0.0",
48
48
  "@aws-sdk/lib-dynamodb": "^3.0.0",