@arcaelas/dynamite 2.1.0 → 3.1.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/build/cjs/core/client.d.ts +3 -3
- package/build/cjs/core/client.js +3 -3
- package/build/cjs/core/client.js.map +1 -1
- package/build/cjs/core/decorator.d.ts +12 -0
- package/build/cjs/core/decorator.js +18 -4
- package/build/cjs/core/decorator.js.map +1 -1
- package/build/cjs/core/table.d.ts +27 -9
- package/build/cjs/core/table.js +130 -28
- package/build/cjs/core/table.js.map +1 -1
- package/build/cjs/decorators/hooks.d.ts +35 -0
- package/build/cjs/decorators/hooks.js +50 -0
- package/build/cjs/decorators/hooks.js.map +1 -0
- package/build/cjs/decorators/transforms.js +1 -1
- package/build/cjs/decorators/transforms.js.map +1 -1
- package/build/cjs/index.d.ts +2 -0
- package/build/cjs/index.js +9 -1
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/test/basic.js +2 -2
- package/build/cjs/test/basic.js.map +1 -1
- package/build/cjs/test/contracts.js +7 -7
- package/build/cjs/test/contracts.js.map +1 -1
- package/build/cjs/test/hooks.d.ts +1 -0
- package/build/cjs/test/hooks.js +191 -0
- package/build/cjs/test/hooks.js.map +1 -0
- package/build/cjs/test/index.js +2 -0
- package/build/cjs/test/index.js.map +1 -1
- package/build/cjs/test/transactions.js +11 -11
- package/build/cjs/test/transactions.js.map +1 -1
- package/build/esm/core/client.d.ts +3 -3
- package/build/esm/core/client.js +3 -3
- package/build/esm/core/client.js.map +1 -1
- package/build/esm/core/decorator.d.ts +12 -0
- package/build/esm/core/decorator.js +17 -4
- package/build/esm/core/decorator.js.map +1 -1
- package/build/esm/core/table.d.ts +27 -9
- package/build/esm/core/table.js +130 -28
- package/build/esm/core/table.js.map +1 -1
- package/build/esm/decorators/hooks.d.ts +35 -0
- package/build/esm/decorators/hooks.js +47 -0
- package/build/esm/decorators/hooks.js.map +1 -0
- package/build/esm/decorators/transforms.js +2 -2
- package/build/esm/decorators/transforms.js.map +1 -1
- package/build/esm/index.d.ts +2 -0
- package/build/esm/index.js +2 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/test/basic.js +2 -2
- package/build/esm/test/basic.js.map +1 -1
- package/build/esm/test/contracts.js +7 -7
- package/build/esm/test/contracts.js.map +1 -1
- package/build/esm/test/hooks.d.ts +1 -0
- package/build/esm/test/hooks.js +188 -0
- package/build/esm/test/hooks.js.map +1 -0
- package/build/esm/test/index.js +2 -0
- package/build/esm/test/index.js.map +1 -1
- package/build/esm/test/transactions.js +11 -11
- package/build/esm/test/transactions.js.map +1 -1
- package/package.json +1 -1
package/build/esm/core/table.js
CHANGED
|
@@ -141,28 +141,43 @@ export default class Table {
|
|
|
141
141
|
toString() {
|
|
142
142
|
return JSON.stringify(this);
|
|
143
143
|
}
|
|
144
|
-
async save() {
|
|
144
|
+
async save(options) {
|
|
145
145
|
const schema = this.constructor[SCHEMA];
|
|
146
|
-
const
|
|
146
|
+
const tx = options?.tx;
|
|
147
147
|
if (this.__isPersisted) {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
148
|
+
if (options?.hook)
|
|
149
|
+
await Table._run_hooks(this, 'beforeUpdate', {});
|
|
150
|
+
if (tx) {
|
|
151
|
+
tx.addPut(schema.name, this._toDBPayload());
|
|
152
|
+
if (options?.hook)
|
|
153
|
+
tx.onCommit(() => Table._run_hooks(this, 'afterUpdate', {}));
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
await requireClient().send(new PutItemCommand({
|
|
157
|
+
TableName: schema.name,
|
|
158
|
+
Item: marshall(this._toDBPayload(), { removeUndefinedValues: true }),
|
|
159
|
+
}));
|
|
160
|
+
if (options?.hook)
|
|
161
|
+
await Table._run_hooks(this, 'afterUpdate', {});
|
|
162
|
+
}
|
|
152
163
|
return true;
|
|
153
164
|
}
|
|
165
|
+
if (options?.hook)
|
|
166
|
+
await Table._run_hooks(this, 'beforeCreate');
|
|
154
167
|
const created = await this.constructor.create(Object.fromEntries(Object.keys(schema.columns)
|
|
155
168
|
.filter(k => !schema.columns[k].store?.relation)
|
|
156
|
-
.map(k => [k, this[k]])));
|
|
169
|
+
.map(k => [k, this[k]])), { hook: false, tx });
|
|
157
170
|
for (const key in schema.columns) {
|
|
158
171
|
if (!schema.columns[key].store?.relation) {
|
|
159
172
|
this[key] = created[key];
|
|
160
173
|
}
|
|
161
174
|
}
|
|
162
175
|
this.__isPersisted = true;
|
|
176
|
+
if (options?.hook)
|
|
177
|
+
await Table._run_hooks(this, 'afterCreate');
|
|
163
178
|
return true;
|
|
164
179
|
}
|
|
165
|
-
async update(data) {
|
|
180
|
+
async update(data, options) {
|
|
166
181
|
const schema = this.constructor[SCHEMA];
|
|
167
182
|
// Filtrar relaciones (ignorarlas) en vez de lanzar error
|
|
168
183
|
const filtered_data = {};
|
|
@@ -173,9 +188,35 @@ export default class Table {
|
|
|
173
188
|
filtered_data[key] = data[key];
|
|
174
189
|
}
|
|
175
190
|
}
|
|
191
|
+
// Ruta con hooks: aplicar cambios y persistir sobre esta misma instancia
|
|
192
|
+
if (options?.hook) {
|
|
193
|
+
for (const key in filtered_data) {
|
|
194
|
+
this[key] = filtered_data[key];
|
|
195
|
+
}
|
|
196
|
+
// Auto-renovar campos @UpdatedAt no incluidos en los cambios
|
|
197
|
+
for (const col_name in schema.columns) {
|
|
198
|
+
if (schema.columns[col_name].store?.updatedAt && !(col_name in filtered_data)) {
|
|
199
|
+
this[col_name] = undefined;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
await Table._run_hooks(this, 'beforeUpdate', filtered_data);
|
|
203
|
+
const tx = options.tx;
|
|
204
|
+
if (tx) {
|
|
205
|
+
tx.addPut(schema.name, this._toDBPayload());
|
|
206
|
+
tx.onCommit(() => Table._run_hooks(this, 'afterUpdate', filtered_data));
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
await requireClient().send(new PutItemCommand({
|
|
210
|
+
TableName: schema.name,
|
|
211
|
+
Item: marshall(this._toDBPayload(), { removeUndefinedValues: true }),
|
|
212
|
+
}));
|
|
213
|
+
await Table._run_hooks(this, 'afterUpdate', filtered_data);
|
|
214
|
+
}
|
|
215
|
+
return true;
|
|
216
|
+
}
|
|
176
217
|
const affected = await this.constructor.update(filtered_data, {
|
|
177
218
|
[schema.primary_key]: this[schema.primary_key],
|
|
178
|
-
});
|
|
219
|
+
}, { tx: options?.tx });
|
|
179
220
|
if (affected > 0) {
|
|
180
221
|
// Actualizar la instancia con los nuevos valores (incluyendo updated_at)
|
|
181
222
|
for (const key in filtered_data) {
|
|
@@ -184,29 +225,58 @@ export default class Table {
|
|
|
184
225
|
}
|
|
185
226
|
return affected > 0;
|
|
186
227
|
}
|
|
187
|
-
async destroy() {
|
|
228
|
+
async destroy(options) {
|
|
188
229
|
const schema = this.constructor[SCHEMA];
|
|
189
230
|
const id = this[schema.primary_key];
|
|
190
231
|
if (!id)
|
|
191
232
|
throw new Error("Cannot destroy record without ID");
|
|
233
|
+
if (options?.hook)
|
|
234
|
+
await Table._run_hooks(this, 'beforeDestroy');
|
|
235
|
+
let soft_col = null;
|
|
192
236
|
for (const column_name in schema.columns) {
|
|
193
237
|
if (schema.columns[column_name].store?.softDelete) {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
return null;
|
|
238
|
+
soft_col = column_name;
|
|
239
|
+
break;
|
|
197
240
|
}
|
|
198
241
|
}
|
|
199
|
-
|
|
242
|
+
if (soft_col) {
|
|
243
|
+
this[soft_col] = new Date().toISOString();
|
|
244
|
+
await this.save({ tx: options?.tx });
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
await this.forceDestroy({ tx: options?.tx });
|
|
248
|
+
}
|
|
249
|
+
if (options?.hook) {
|
|
250
|
+
if (options.tx)
|
|
251
|
+
options.tx.onCommit(() => Table._run_hooks(this, 'afterDestroy'));
|
|
252
|
+
else
|
|
253
|
+
await Table._run_hooks(this, 'afterDestroy');
|
|
254
|
+
}
|
|
255
|
+
return null;
|
|
200
256
|
}
|
|
201
|
-
async forceDestroy() {
|
|
257
|
+
async forceDestroy(options) {
|
|
202
258
|
const schema = this.constructor[SCHEMA];
|
|
203
259
|
const id = this[schema.primary_key];
|
|
204
260
|
if (!id)
|
|
205
261
|
throw new Error("Cannot destroy record without ID");
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
262
|
+
if (options?.hook)
|
|
263
|
+
await Table._run_hooks(this, 'beforeDestroy');
|
|
264
|
+
const tx = options?.tx;
|
|
265
|
+
if (tx) {
|
|
266
|
+
tx.addDelete(schema.name, { [schema.primary_key]: id });
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
await requireClient().send(new DeleteItemCommand({
|
|
270
|
+
TableName: schema.name,
|
|
271
|
+
Key: marshall({ [schema.primary_key]: id }),
|
|
272
|
+
}));
|
|
273
|
+
}
|
|
274
|
+
if (options?.hook) {
|
|
275
|
+
if (tx)
|
|
276
|
+
tx.onCommit(() => Table._run_hooks(this, 'afterDestroy'));
|
|
277
|
+
else
|
|
278
|
+
await Table._run_hooks(this, 'afterDestroy');
|
|
279
|
+
}
|
|
210
280
|
return null;
|
|
211
281
|
}
|
|
212
282
|
async attach(RelatedModel, related_id, pivot_data) {
|
|
@@ -348,9 +418,22 @@ export default class Table {
|
|
|
348
418
|
}
|
|
349
419
|
}
|
|
350
420
|
}
|
|
351
|
-
|
|
421
|
+
/**
|
|
422
|
+
* @description Run the registered hooks of a given type on an instance, in declaration order.
|
|
423
|
+
* @description Ejecuta los hooks registrados de un tipo dado sobre una instancia, en orden de declaración.
|
|
424
|
+
*/
|
|
425
|
+
static async _run_hooks(instance, type, changes) {
|
|
426
|
+
const schema = instance.constructor[SCHEMA];
|
|
427
|
+
for (const method_name of schema.hooks[type]) {
|
|
428
|
+
await instance[method_name]?.(changes);
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
static async create(data, options) {
|
|
352
432
|
const instance = new this(data);
|
|
353
433
|
const schema = this[SCHEMA];
|
|
434
|
+
const tx = options?.tx;
|
|
435
|
+
if (options?.hook)
|
|
436
|
+
await Table._run_hooks(instance, 'beforeCreate');
|
|
354
437
|
const payload = instance._toDBPayload();
|
|
355
438
|
const pk_db_name = schema.columns[schema.primary_key]?.name || schema.primary_key;
|
|
356
439
|
const condition = {
|
|
@@ -360,6 +443,8 @@ export default class Table {
|
|
|
360
443
|
if (tx) {
|
|
361
444
|
tx.addPut(schema.name, payload, condition);
|
|
362
445
|
tx.onCommit(() => { instance.__isPersisted = true; });
|
|
446
|
+
if (options?.hook)
|
|
447
|
+
tx.onCommit(() => Table._run_hooks(instance, 'afterCreate'));
|
|
363
448
|
}
|
|
364
449
|
else {
|
|
365
450
|
try {
|
|
@@ -377,6 +462,8 @@ export default class Table {
|
|
|
377
462
|
throw e;
|
|
378
463
|
}
|
|
379
464
|
instance.__isPersisted = true;
|
|
465
|
+
if (options?.hook)
|
|
466
|
+
await Table._run_hooks(instance, 'afterCreate');
|
|
380
467
|
}
|
|
381
468
|
return instance;
|
|
382
469
|
}
|
|
@@ -400,8 +487,9 @@ export default class Table {
|
|
|
400
487
|
return val[op_keys[0]];
|
|
401
488
|
return null;
|
|
402
489
|
}
|
|
403
|
-
static async update(updates, filters,
|
|
490
|
+
static async update(updates, filters, options) {
|
|
404
491
|
const schema = this[SCHEMA];
|
|
492
|
+
const tx = options?.tx;
|
|
405
493
|
const parsed_updates = {};
|
|
406
494
|
for (const key in updates) {
|
|
407
495
|
const column = schema.columns[key];
|
|
@@ -448,24 +536,32 @@ export default class Table {
|
|
|
448
536
|
record[col_name] = undefined;
|
|
449
537
|
}
|
|
450
538
|
}
|
|
539
|
+
if (options?.hook)
|
|
540
|
+
await Table._run_hooks(record, 'beforeUpdate', parsed_updates);
|
|
451
541
|
if (tx) {
|
|
452
542
|
tx.addPut(schema.name, record._toDBPayload());
|
|
543
|
+
if (options?.hook)
|
|
544
|
+
tx.onCommit(() => Table._run_hooks(record, 'afterUpdate', parsed_updates));
|
|
453
545
|
}
|
|
454
546
|
else {
|
|
455
547
|
await requireClient().send(new PutItemCommand({
|
|
456
548
|
TableName: schema.name,
|
|
457
549
|
Item: marshall(record._toDBPayload(), { removeUndefinedValues: true }),
|
|
458
550
|
}));
|
|
551
|
+
if (options?.hook)
|
|
552
|
+
await Table._run_hooks(record, 'afterUpdate', parsed_updates);
|
|
459
553
|
}
|
|
460
554
|
}
|
|
461
555
|
return records.length;
|
|
462
556
|
}
|
|
463
|
-
static async delete(filters,
|
|
557
|
+
static async delete(filters, options) {
|
|
464
558
|
const schema = this[SCHEMA];
|
|
465
|
-
|
|
559
|
+
const tx = options?.tx;
|
|
560
|
+
// Optimización: si el filtro es PK exacta, sin softDelete y sin hooks de destroy, DeleteItem directo
|
|
466
561
|
const pk_value = this._extractPK(filters);
|
|
467
562
|
const has_soft_delete = Object.values(schema.columns).some(c => c.store.softDelete);
|
|
468
|
-
|
|
563
|
+
const has_destroy_hooks = !!options?.hook && (schema.hooks.beforeDestroy.length > 0 || schema.hooks.afterDestroy.length > 0);
|
|
564
|
+
if (pk_value !== null && !has_soft_delete && !has_destroy_hooks) {
|
|
469
565
|
if (tx) {
|
|
470
566
|
tx.addDelete(schema.name, { [schema.primary_key]: pk_value });
|
|
471
567
|
}
|
|
@@ -485,14 +581,20 @@ export default class Table {
|
|
|
485
581
|
const id = record[schema.primary_key];
|
|
486
582
|
if (!id)
|
|
487
583
|
continue;
|
|
584
|
+
if (options?.hook)
|
|
585
|
+
await Table._run_hooks(record, 'beforeDestroy');
|
|
488
586
|
if (tx) {
|
|
489
587
|
tx.addDelete(schema.name, { [schema.primary_key]: id });
|
|
588
|
+
if (options?.hook)
|
|
589
|
+
tx.onCommit(() => Table._run_hooks(record, 'afterDestroy'));
|
|
490
590
|
}
|
|
491
591
|
else {
|
|
492
592
|
await requireClient().send(new DeleteItemCommand({
|
|
493
593
|
TableName: schema.name,
|
|
494
594
|
Key: marshall({ [schema.primary_key]: id }),
|
|
495
595
|
}));
|
|
596
|
+
if (options?.hook)
|
|
597
|
+
await Table._run_hooks(record, 'afterDestroy');
|
|
496
598
|
}
|
|
497
599
|
}
|
|
498
600
|
return records.length;
|
|
@@ -547,11 +649,11 @@ export default class Table {
|
|
|
547
649
|
}
|
|
548
650
|
return records.length;
|
|
549
651
|
}
|
|
550
|
-
static async increment(field, amount, filters,
|
|
551
|
-
return Table._atomicAdd(this, field, amount, filters, tx);
|
|
652
|
+
static async increment(field, amount, filters, options) {
|
|
653
|
+
return Table._atomicAdd(this, field, amount, filters, options?.tx);
|
|
552
654
|
}
|
|
553
|
-
static async decrement(field, amount, filters,
|
|
554
|
-
return Table._atomicAdd(this, field, -amount, filters, tx);
|
|
655
|
+
static async decrement(field, amount, filters, options) {
|
|
656
|
+
return Table._atomicAdd(this, field, -amount, filters, options?.tx);
|
|
555
657
|
}
|
|
556
658
|
async increment(field, amount = 1) {
|
|
557
659
|
const schema = this.constructor[SCHEMA];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/core/table.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAO9D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAsB,MAAM,UAAU,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,MAAM,GAA2B;IACrC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI;IAC5E,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS;IACjD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI;IAC/D,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACpD,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,sBAAsB;CAChE,CAAC;AACF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAQ/C,MAAM,CAAC,OAAO,OAAO,KAAK;IAGxB,YAAY,QAAoB,EAAgB;QAC9C,aAAa,EAAE,CAAC;QAChB,MAAM,MAAM,GAAI,IAAI,CAAC,WAAmB,CAAC,MAAM,CAAC,CAAC;QAEjD,mDAAmD;QACnD,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE;YAC3C,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;YACnB,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa;YACxB,GAAG,EAAE,CAAC,CAAU,EAAE,EAAE;gBAClB,aAAa,GAAG,CAAC,CAAC;YACpB,CAAC;SACF,CAAC,CAAC;QAEH,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAE3C,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;gBAC3B,IAAI,cAAc,GAAI,KAAa,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC;gBAC9D,IAAI,MAAM,GAAQ,SAAS,CAAC;gBAC5B,IAAI,KAAK,GAAG,IAAI,CAAC;gBAEjB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE;oBACvC,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,IAAI;oBAClB,GAAG,EAAE,CAAC,CAAM,EAAE,EAAE;wBACd,cAAc,GAAG,CAAC,CAAC;wBACnB,KAAK,GAAG,IAAI,CAAC;oBACf,CAAC;oBACD,GAAG,EAAE,GAAG,EAAE;wBACR,IAAI,cAAc,KAAK,SAAS;4BAAE,OAAO,SAAS,CAAC;wBACnD,IAAI,CAAC,KAAK;4BAAE,OAAO,MAAM,CAAC;wBAE1B,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,QAAS,CAAC,KAAK,EAAE,CAAC;wBACpD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,QAAS,CAAC,IAAI,CAAC;wBAEzC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;4BAChD,MAAM,GAAG,EAAE;iCACR,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;iCAC5B,MAAM,CAAC,OAAO,CAAC;iCACf,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CACjB,IAAI,YAAY,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAC7D,CAAC;wBACN,CAAC;6BAAM,CAAC;4BACN,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;gCAAC,MAAM,GAAG,IAAI,CAAC;gCAAC,KAAK,GAAG,KAAK,CAAC;gCAAC,OAAO,IAAI,CAAC;4BAAC,CAAC;4BAC3E,MAAM;gCACJ,cAAc,YAAY,YAAY;oCACpC,CAAC,CAAC,cAAc;oCAChB,CAAC,CAAC,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC;wBACzC,CAAC;wBAED,KAAK,GAAG,KAAK,CAAC;wBACd,OAAO,MAAM,CAAC;oBAChB,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,6BAA6B;gBAC7B,IAAI,KAAK,GAAI,KAAa,CAAC,WAAW,CAAC,CAAC;gBAExC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE;oBACvC,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,IAAI;oBAClB,GAAG,EAAE,GAAG,EAAE;wBACR,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;wBACtE,+DAA+D;wBAC/D,IAAI,KAAK,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;4BACtC,KAAK,GAAG,QAAQ,CAAC;wBACnB,CAAC;wBACD,OAAO,QAAQ,CAAC;oBAClB,CAAC;oBACD,GAAG,EAAE,CAAC,IAAS,EAAE,EAAE;wBACjB,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CACvB,CAAC,WAAgB,EAAE,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,EACrD,IAAI,CACL,CAAC;oBACJ,CAAC;iBACF,CAAC,CAAC;gBAEF,IAAY,CAAC,WAAW,CAAC,GAAI,KAAa,CAAC,WAAW,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAEM,MAAM;QACX,MAAM,MAAM,GAAI,IAAI,CAAC,WAAmB,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,GAA4B,EAAE,CAAC;QAE3C,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAI,IAAY,CAAC,WAAW,CAAC,CAAC;YAEzC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAEpD,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;gBAC3B,MAAM,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBACxC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC5D,CAAC,CAAC,KAAK,EAAE,MAAM;wBACb,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE;wBAChB,CAAC,CAAC,KAAK,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,YAAY;QAClB,MAAM,MAAM,GAAI,IAAI,CAAC,WAAmB,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,OAAO,GAAwB,EAAE,CAAC;QAExC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAEzC,iBAAiB;YACjB,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;gBAC3B,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAI,IAAY,CAAC,SAAS,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC;YAEzC,wDAAwD;YACxD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,MAAM,MAAM,GAAY,IAAI,CAAC,WAAmB,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,OAAO,GAAI,IAAY,CAAC,YAAY,EAAE,CAAC;QAE7C,IAAK,IAAY,CAAC,aAAa,EAAE,CAAC;YAChC,MAAM,aAAa,EAAE,CAAC,IAAI,CACxB,IAAI,cAAc,CAAC;gBACjB,SAAS,EAAE,MAAM,CAAC,IAAI;gBACtB,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC;aACzD,CAAC,CACH,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,MAAO,IAAI,CAAC,WAAmB,CAAC,MAAM,CACpD,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;aACxB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC;aAC/C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAG,IAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CACnC,CACF,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;gBACxC,IAAY,CAAC,GAAG,CAAC,GAAI,OAAe,CAAC,GAAG,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QACA,IAAY,CAAC,aAAa,GAAG,IAAI,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,IAAiC;QACnD,MAAM,MAAM,GAAI,IAAI,CAAC,WAAmB,CAAC,MAAM,CAAC,CAAC;QAEjD,yDAAyD;QACzD,MAAM,aAAa,GAAQ,EAAE,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACnC,4CAA4C;YAC5C,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;gBAC7B,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAO,IAAI,CAAC,WAAmB,CAAC,MAAM,CAAC,aAAa,EAAE;YACrE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAG,IAAY,CAAC,MAAM,CAAC,WAAW,CAAC;SACxD,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,yEAAyE;YACzE,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;gBAC/B,IAAY,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,GAAG,CAAC,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,MAAM,MAAM,GAAI,IAAI,CAAC,WAAmB,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,EAAE,GAAI,IAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE7C,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAE7D,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACzC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC;gBACjD,IAAY,CAAC,WAAW,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACtD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,YAAY;QACvB,MAAM,MAAM,GAAI,IAAI,CAAC,WAAmB,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,EAAE,GAAI,IAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE7C,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAE7D,MAAM,aAAa,EAAE,CAAC,IAAI,CACxB,IAAI,iBAAiB,CAAC;YACpB,SAAS,EAAE,MAAM,CAAC,IAAI;YACtB,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC;SAC5C,CAAC,CACH,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,YAAyB,EACzB,UAAkB,EAClB,UAAgC;QAEhC,MAAM,MAAM,GAAI,IAAI,CAAC,WAAmB,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC;QAE/C,qEAAqE;QACrE,MAAM,QAAQ,GAAI,IAAY,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAI,IAAY,CAAC,aAAa,CAAC;QAEjD,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;QACJ,CAAC;QAED,MAAM,kBAAkB,GAAI,YAAoB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;QAE/D,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,QAAQ,GAAQ,IAAI,CAAC;QACzB,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC;YACxD,IACE,GAAG,EAAE,IAAI,KAAK,YAAY;gBAC1B,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,kBAAkB,EAChD,CAAC;gBACD,QAAQ,GAAG,GAAG,CAAC;gBACf,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,4CAA4C,MAAM,CAAC,IAAI,MAAM,kBAAkB,EAAE,CAClF,CAAC;QACJ,CAAC;QAED,MAAM,iBAAiB,GAAI,IAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC,IAAI,CACvC,IAAI,WAAW,CAAC;YACd,SAAS,EAAE,QAAQ,CAAC,UAAU;YAC9B,gBAAgB,EAAE,uCAAuC;YACzD,wBAAwB,EAAE;gBACxB,KAAK,EAAE,QAAQ,CAAC,UAAU;gBAC1B,KAAK,EAAE,QAAQ,CAAC,UAAU;aAC3B;YACD,yBAAyB,EAAE,QAAQ,CAAC;gBAClC,WAAW,EAAE,iBAAiB;gBAC9B,aAAa,EAAE,UAAU;aAC1B,CAAC;SACH,CAAC,CACH,CAAC;QAEF,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO;QAEpD,MAAM,aAAa,EAAE,CAAC,IAAI,CACxB,IAAI,cAAc,CAAC;YACjB,SAAS,EAAE,QAAQ,CAAC,UAAU;YAC9B,IAAI,EAAE,QAAQ,CACZ;gBACE,EAAE,EAAE,GAAG,iBAAiB,IAAI,UAAU,EAAE;gBACxC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB;gBACxC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU;gBACjC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACpC,GAAG,UAAU;aACd,EACD,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAChC;SACF,CAAC,CACH,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,YAAyB,EACzB,UAAkB;QAElB,MAAM,MAAM,GAAI,IAAI,CAAC,WAAmB,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,kBAAkB,GAAI,YAAoB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;QAE/D,IAAI,CAAC,kBAAkB;YAAE,OAAO;QAEhC,IAAI,QAAQ,GAAQ,IAAI,CAAC;QACzB,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC;YACxD,IACE,GAAG,EAAE,IAAI,KAAK,YAAY;gBAC1B,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,kBAAkB,EAChD,CAAC;gBACD,QAAQ,GAAG,GAAG,CAAC;gBACf,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,MAAM,QAAQ,GAAI,IAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC,IAAI,CACvC,IAAI,WAAW,CAAC;YACd,SAAS,EAAE,QAAQ,CAAC,UAAU;YAC9B,gBAAgB,EAAE,uCAAuC;YACzD,wBAAwB,EAAE;gBACxB,KAAK,EAAE,QAAQ,CAAC,UAAU;gBAC1B,KAAK,EAAE,QAAQ,CAAC,UAAU;aAC3B;YACD,yBAAyB,EAAE,QAAQ,CAAC;gBAClC,WAAW,EAAE,QAAQ;gBACrB,aAAa,EAAE,UAAU;aAC1B,CAAC;SACH,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEvD,MAAM,aAAa,EAAE,CAAC,IAAI,CACxB,IAAI,iBAAiB,CAAC;YACpB,SAAS,EAAE,QAAQ,CAAC,UAAU;YAC9B,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SACtD,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,IAAI,CACf,YAAyB,EACzB,WAAqB;QAErB,MAAM,MAAM,GAAI,IAAI,CAAC,WAAmB,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,kBAAkB,GAAI,YAAoB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;QAE/D,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QAED,gCAAgC;QAChC,IAAI,QAAQ,GAAQ,IAAI,CAAC;QACzB,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC;YACxD,IACE,GAAG,EAAE,IAAI,KAAK,YAAY;gBAC1B,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,kBAAkB,EAChD,CAAC;gBACD,QAAQ,GAAG,GAAG,CAAC;gBACf,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,4CAA4C,MAAM,CAAC,IAAI,MAAM,kBAAkB,EAAE,CAClF,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAI,IAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,eAAe,QAAQ,CAAC,QAAQ,mBAAmB,CAAC,CAAC;QACvE,CAAC;QAED,6CAA6C;QAC7C,MAAM,WAAW,GAAG,MAAM,aAAa,EAAE,CAAC,IAAI,CAC5C,IAAI,WAAW,CAAC;YACd,SAAS,EAAE,QAAQ,CAAC,UAAU;YAC9B,gBAAgB,EAAE,iBAAiB;YACnC,wBAAwB,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE;YACxD,yBAAyB,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;SAC/D,CAAC,CACH,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAC3B,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAChD,CACF,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QAExC,yDAAyD;QACzD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAEjB,IAAiC,EACjC,EAAuB;QAEvB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,MAAM,GAAI,IAAY,CAAC,MAAM,CAAC,CAAC;QAErC,MAAM,OAAO,GAAI,QAAgB,CAAC,YAAY,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC;QAClF,MAAM,SAAS,GAAG;YAChB,UAAU,EAAE,2BAA2B;YACvC,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;SAC7B,CAAC;QAEF,IAAI,EAAE,EAAE,CAAC;YACP,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAC3C,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAI,QAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,aAAa,EAAE,CAAC,IAAI,CACxB,IAAI,cAAc,CAAC;oBACjB,SAAS,EAAE,MAAM,CAAC,IAAI;oBACtB,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC;oBACxD,mBAAmB,EAAE,SAAS,CAAC,UAAU;oBACzC,wBAAwB,EAAE,SAAS,CAAC,KAAK;iBAC1C,CAAC,CACH,CAAC;YACJ,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,CAAC,IAAI,KAAK,iCAAiC,EAAE,CAAC;oBACjD,MAAM,IAAI,KAAK,CAAC,eAAe,MAAM,CAAC,WAAW,KAAM,QAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,uBAAuB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnI,CAAC;gBACD,MAAM,CAAC,CAAC;YACV,CAAC;YACA,QAAgB,CAAC,aAAa,GAAG,IAAI,CAAC;QACzC,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,UAAU,CAAC,OAA4B;QACpD,MAAM,MAAM,GAAY,IAAY,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAErE,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAEnD,+BAA+B;QAC/B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAEjB,OAAoC,EACpC,OAAoC,EACpC,EAAuB;QAEvB,MAAM,MAAM,GAAY,IAAY,CAAC,MAAM,CAAC,CAAC;QAE7C,MAAM,cAAc,GAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;gBAC7B,cAAc,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,MAAM,QAAQ,GAAI,IAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,OAAY,CAAC;QAEjB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC;gBAClD,SAAS,EAAE,MAAM,CAAC,IAAI;gBACtB,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC;aAClD,CAAC,CAAC,CAAC;YAEJ,IAAI,CAAC,MAAM,CAAC,IAAI;gBAAE,OAAO,CAAC,CAAC;YAE3B,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,UAAU,GAA2B,EAAE,CAAC;YAC9C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO;gBAAE,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvE,MAAM,MAAM,GAAwB,EAAE,CAAC;YACvC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;gBAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI;oBAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YAEjF,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,QAAgB,CAAC,aAAa,GAAG,IAAI,CAAC;YACvC,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAO,IAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBACzD,MAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC/B,CAAC;YACD,iCAAiC;YACjC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,cAAc,CAAC,EAAE,CAAC;oBAC9E,MAAc,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;gBACxC,CAAC;YACH,CAAC;YAED,IAAI,EAAE,EAAE,CAAC;gBACP,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAG,MAAc,CAAC,YAAY,EAAE,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,MAAM,aAAa,EAAE,CAAC,IAAI,CACxB,IAAI,cAAc,CAAC;oBACjB,SAAS,EAAE,MAAM,CAAC,IAAI;oBACtB,IAAI,EAAE,QAAQ,CAAE,MAAc,CAAC,YAAY,EAAE,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC;iBAChF,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAEjB,OAAoC,EACpC,EAAuB;QAEvB,MAAM,MAAM,GAAY,IAAY,CAAC,MAAM,CAAC,CAAC;QAE7C,kFAAkF;QAClF,MAAM,QAAQ,GAAI,IAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEpF,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1C,IAAI,EAAE,EAAE,CAAC;gBACP,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,MAAM,aAAa,EAAE,CAAC,IAAI,CACxB,IAAI,iBAAiB,CAAC;oBACpB,SAAS,EAAE,MAAM,CAAC,IAAI;oBACtB,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC;iBAClD,CAAC,CACH,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,0CAA0C;QAC1C,MAAM,OAAO,GAAG,MAAO,IAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAEnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,EAAE,GAAI,MAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,CAAC,EAAE;gBAAE,SAAS;YAElB,IAAI,EAAE,EAAE,CAAC;gBACP,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,MAAM,aAAa,EAAE,CAAC,IAAI,CACxB,IAAI,iBAAiB,CAAC;oBACpB,SAAS,EAAE,MAAM,CAAC,IAAI;oBACtB,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC;iBAC5C,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,KAAK,CAAC,UAAU,CAC7B,WAAiC,EACjC,KAAa,EACb,MAAc,EACd,OAA4B,EAC5B,EAAuB;QAEvB,MAAM,MAAM,GAAY,WAAmB,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC;QAErC,MAAM,IAAI,GAAG,0CAA0C,CAAC;QACxD,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAE9C,MAAM,QAAQ,GAAI,WAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAE1D,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC/C,IAAI,EAAE,EAAE,CAAC;gBACP,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,MAAM,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC;oBAC/C,SAAS,EAAE,MAAM,CAAC,IAAI;oBACtB,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC;oBAClB,gBAAgB,EAAE,IAAI;oBACtB,wBAAwB,EAAE,KAAK;oBAC/B,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC;iBAC5C,CAAC,CAAC,CAAC;YACN,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,OAAO,GAAG,MAAO,WAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAEnC,IAAI,EAAE,EAAE,CAAC;YACP,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAG,MAAc,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAChH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;YAC/B,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC;gBAChC,SAAS,EAAE,MAAM,CAAC,IAAI;gBACtB,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnE,gBAAgB,EAAE,IAAI;gBACtB,wBAAwB,EAAE,KAAK;gBAC/B,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC;aAC5C,CAAC,CAAC,CACJ,CAAC,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,CAEpB,KAAmD,EACnD,MAAc,EACd,OAAwB,EACxB,EAAuB;QAEvB,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAe,EAAE,MAAM,EAAE,OAAc,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,CAEpB,KAAmD,EACnD,MAAc,EACd,OAAwB,EACxB,EAAuB;QAEvB,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAe,EAAE,CAAC,MAAM,EAAE,OAAc,EAAE,EAAE,CAAC,CAAC;IAC9E,CAAC;IAEM,KAAK,CAAC,SAAS,CACpB,KAAQ,EACR,SAAiB,CAAC;QAElB,MAAM,MAAM,GAAY,IAAI,CAAC,WAAmB,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,EAAE,GAAI,IAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACjE,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,WAAkB,EAAE,KAAe,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACtG,IAAY,CAAC,KAAe,CAAC,GAAG,CAAE,IAAY,CAAC,KAAe,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;IAClF,CAAC;IAEM,KAAK,CAAC,SAAS,CACpB,KAAQ,EACR,SAAiB,CAAC;QAElB,MAAM,MAAM,GAAY,IAAI,CAAC,WAAmB,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,EAAE,GAAI,IAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACjE,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,WAAkB,EAAE,KAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvG,IAAY,CAAC,KAAe,CAAC,GAAG,CAAE,IAAY,CAAC,KAAe,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;IAClF,CAAC;IAKD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAgD,gBAAqB,EAAE,iBAAuB,EAAE,KAAW,EAAE,OAAyB;QACtJ,MAAM,MAAM,GAAY,IAAY,CAAC,MAAM,CAAC,CAAC;QAE7C,0EAA0E;QAC1E,IAAI,WAAgC,CAAC;QACrC,IAAI,IAAqB,CAAC;QAE1B,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACzC,IAAI,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACrC,WAAW,GAAG,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;gBACrE,IAAI,GAAG,OAAO,IAAI,EAAE,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,CAAC;gBACjE,IAAI,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,gBAAgB,IAAI,EAAE,CAAC;YACrC,IAAI,GAAG,iBAAiB,IAAI,OAAO,iBAAiB,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBACpG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,OAAO,GAAwC,EAAE,CAAC;QACxD,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACvD,IAAI,GAAG,KAAK,SAAS;gBAAE,SAAS;YAChC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3F,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnH,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YAChC,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEhC,2EAA2E;QAC3E,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC;oBACzE,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;oBACzC,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,MAAM,UAAU,GAA2B,EAAE,CAAC;QAC9C,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACvC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;QACzD,CAAC;QAED,gDAAgD;QAChD,oDAAoD;QACpD,IAAI,WAAW,GAAkB,IAAI,CAAC;QACtC,IAAI,WAAW,GAAQ,IAAI,CAAC;QAC5B,IAAI,WAAW,GAAuB,SAAS,CAAC;QAEhD,oBAAoB;QACpB,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,IAAI,KAAK,KAAK,MAAM,CAAC,WAAW;gBAAE,SAAS;YAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;YACpE,IAAI,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;gBACnC,WAAW,GAAG,KAAK,CAAC;gBACpB,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC1B,WAAW,GAAG,SAAS,CAAC;gBACxB,MAAM;YACR,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBACpE,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI;oBAAE,SAAS;gBAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,KAAK,CAAC;gBACrD,IAAI,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC9B,WAAW,GAAG,KAAK,CAAC;oBACpB,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC1B,WAAW,GAAG,GAAG,OAAO,QAAQ,CAAC;oBACjC,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,0DAA0D;QAC1D,4FAA4F;QAC5F,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,MAAM,kBAAkB,GAAa,EAAE,CAAC;QACxC,MAAM,UAAU,GAA2B,EAAE,CAAC;QAC9C,MAAM,WAAW,GAAwB,EAAE,CAAC;QAC5C,IAAI,GAAG,GAAG,CAAC,CAAC;QAEZ,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,MAAM,EAAE,IAAI,IAAI,KAAK,CAAC;YAEtC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnD,IAAI,MAAM,KAAK,SAAS;oBAAE,SAAS;gBACnC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;gBACpC,MAAM,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC;gBACtB,MAAM,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC;gBACtB,UAAU,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;gBAEzB,yDAAyD;gBACzD,MAAM,YAAY,GAAG,WAAW,KAAK,KAAK,IAAI,EAAE,KAAK,GAAG,IAAI,MAAM,KAAK,WAAW,CAAC;gBAEnF,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,MAAM,KAAK,IAAI,CAAC,IAAI,EAAE,KAAK,sBAAsB,EAAE,CAAC;oBACrE,kBAAkB,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;gBACzD,CAAC;qBAAM,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,CAAC,IAAI,EAAE,KAAK,kBAAkB,EAAE,CAAC;oBACzE,kBAAkB,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;gBACrD,CAAC;qBAAM,IAAI,EAAE,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;wBAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBACtF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3G,kBAAkB,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrD,CAAC;qBAAM,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;oBAC5B,WAAW,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;oBACzB,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;gBACpD,CAAC;qBAAM,IAAI,YAAY,EAAE,CAAC;oBACxB,WAAW,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;oBACzB,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC5C,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;oBACzB,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC/C,CAAC;gBACD,GAAG,EAAE,CAAC;YACR,CAAC;QACH,CAAC;QAED,aAAa;QACb,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YAC5B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACnC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzC,MAAM,EAAE,GAAG,KAAK,GAAG,EAAE,EAAE,CAAC;gBACxB,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,IAAI,SAAS,GAAG,WAAW,KAAK,IAAI,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QACnE,IAAI,KAAK,GAAU,EAAE,CAAC;QAEtB,MAAM,WAAW,GAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QACpD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,WAAW,CAAC,wBAAwB,GAAG,UAAU,CAAC;QAC1F,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,WAAW,CAAC,yBAAyB,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;QACxI,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC;YAAE,WAAW,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnG,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YAC5B,WAAW,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxG,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,WAAW,CAAC,sBAAsB,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnE,IAAI,WAAW;gBAAE,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC;QACvD,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;QAC/B,MAAM,eAAe,GAAG,CAAC,SAAgB,EAAE,EAAE;YAC3C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC7B,MAAM,MAAM,GAAwB,EAAE,CAAC;gBACvC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;oBACpB,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI;wBAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC1D,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC;QAEF,4EAA4E;QAC5E,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,IAAI,QAAa,CAAC;gBAClB,GAAG,CAAC;oBACF,IAAI,QAAQ;wBAAE,WAAW,CAAC,iBAAiB,GAAG,QAAQ,CAAC;oBACvD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;oBAChE,IAAI,MAAM,CAAC,KAAK;wBAAE,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChD,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;gBACrC,CAAC,QAAQ,QAAQ,EAAE;YACrB,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,CAAC,IAAI,KAAK,2BAA2B,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3E,sFAAsF;oBACtF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAY,CAAC,CAAC;oBACjC,OAAO,WAAW,CAAC,sBAAsB,CAAC;oBAC1C,OAAO,WAAW,CAAC,SAAS,CAAC;oBAC7B,OAAO,WAAW,CAAC,iBAAiB,CAAC;oBACrC,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACpD,WAAW,CAAC,gBAAgB,GAAG,WAAW,CAAC,gBAAgB;wBACzD,CAAC,CAAC,GAAG,aAAa,QAAQ,WAAW,CAAC,gBAAgB,EAAE;wBACxD,CAAC,CAAC,aAAa,CAAC;oBAClB,SAAS,GAAG,KAAK,CAAC;oBAClB,KAAK,GAAG,EAAE,CAAC;gBACb,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;QACH,CAAC;QAED,8EAA8E;QAC9E,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,IAAI,QAAa,CAAC;YAClB,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;YACnD,GAAG,CAAC;gBACF,IAAI,QAAQ;oBAAE,WAAW,CAAC,iBAAiB,GAAG,QAAQ,CAAC;gBACvD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;gBACvD,IAAI,MAAM,CAAC,KAAK;oBAAE,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChD,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;YACrC,CAAC,QAAQ,QAAQ,EAAE;QACrB,CAAC;QAED,2BAA2B;QAC3B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;YACpC,IAAI,QAAQ,GAAmB,KAAK,CAAC;YAErC,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACnC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;gBACtB,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBAChC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;wBAAC,UAAU,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAAC,CAAC;gBACtE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpC,UAAU,GAAG,CAAC,CAAC;gBACf,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAClB,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;oBAAE,OAAO,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtE,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;oBAAE,OAAO,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtE,OAAO,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;QACL,CAAC;QAED,UAAU;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAC3C,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACzC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtF,CAAC;QAED,aAAa;QACb,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACnC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACnC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC;oBAC9C,IAAI,CAAC,MAAM;wBAAE,SAAS;oBACtB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAc,CAAC,IAAI,IAAI,CAAC;oBACzC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAc,EAAE;wBAC9C,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI;wBACpC,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;qBAC9D,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,QAAgB,CAAC,aAAa,GAAG,IAAI,CAAC;YACvC,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,OAAc,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAEhB,OAAwB,EACxB,OAAyB;QAEzB,MAAM,OAAO,GAAG,MAAO,IAAY,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7E,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAEf,OAAyB,EACzB,OAAyB;QAEzB,MAAM,OAAO,GAAG,MAAO,IAAY,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3G,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/core/table.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file hooks.ts
|
|
3
|
+
* @description Lifecycle hook decorators: @BeforeCreate, @AfterCreate, @BeforeUpdate, @AfterUpdate, @BeforeDestroy, @AfterDestroy
|
|
4
|
+
* @description Decoradores de hooks de ciclo de vida: @BeforeCreate, @AfterCreate, @BeforeUpdate, @AfterUpdate, @BeforeDestroy, @AfterDestroy
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @description Runs before the record is created (opt-in via { hook: true }). `this` is the instance and may be mutated.
|
|
8
|
+
* @description Se ejecuta antes de crear el registro (opt-in con { hook: true }). `this` es la instancia y puede mutarse.
|
|
9
|
+
*/
|
|
10
|
+
export declare const BeforeCreate: () => (target: any, property_key: string | symbol) => void;
|
|
11
|
+
/**
|
|
12
|
+
* @description Runs after the record is created (opt-in via { hook: true }). `this` is the persisted instance.
|
|
13
|
+
* @description Se ejecuta después de crear el registro (opt-in con { hook: true }). `this` es la instancia persistida.
|
|
14
|
+
*/
|
|
15
|
+
export declare const AfterCreate: () => (target: any, property_key: string | symbol) => void;
|
|
16
|
+
/**
|
|
17
|
+
* @description Runs before the record is updated (opt-in via { hook: true }). Receives the changes delta as argument.
|
|
18
|
+
* @description Se ejecuta antes de actualizar el registro (opt-in con { hook: true }). Recibe el delta de cambios como argumento.
|
|
19
|
+
*/
|
|
20
|
+
export declare const BeforeUpdate: () => (target: any, property_key: string | symbol) => void;
|
|
21
|
+
/**
|
|
22
|
+
* @description Runs after the record is updated (opt-in via { hook: true }). Receives the changes delta as argument.
|
|
23
|
+
* @description Se ejecuta después de actualizar el registro (opt-in con { hook: true }). Recibe el delta de cambios como argumento.
|
|
24
|
+
*/
|
|
25
|
+
export declare const AfterUpdate: () => (target: any, property_key: string | symbol) => void;
|
|
26
|
+
/**
|
|
27
|
+
* @description Runs before the record is destroyed (opt-in via { hook: true }). `this` is the instance to remove.
|
|
28
|
+
* @description Se ejecuta antes de eliminar el registro (opt-in con { hook: true }). `this` es la instancia a eliminar.
|
|
29
|
+
*/
|
|
30
|
+
export declare const BeforeDestroy: () => (target: any, property_key: string | symbol) => void;
|
|
31
|
+
/**
|
|
32
|
+
* @description Runs after the record is destroyed (opt-in via { hook: true }). `this` is the removed instance.
|
|
33
|
+
* @description Se ejecuta después de eliminar el registro (opt-in con { hook: true }). `this` es la instancia eliminada.
|
|
34
|
+
*/
|
|
35
|
+
export declare const AfterDestroy: () => (target: any, property_key: string | symbol) => void;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file hooks.ts
|
|
3
|
+
* @description Lifecycle hook decorators: @BeforeCreate, @AfterCreate, @BeforeUpdate, @AfterUpdate, @BeforeDestroy, @AfterDestroy
|
|
4
|
+
* @description Decoradores de hooks de ciclo de vida: @BeforeCreate, @AfterCreate, @BeforeUpdate, @AfterUpdate, @BeforeDestroy, @AfterDestroy
|
|
5
|
+
*/
|
|
6
|
+
import { getSchema } from "../core/decorator.js";
|
|
7
|
+
/**
|
|
8
|
+
* @description Builds a method decorator that registers the method as a lifecycle hook of the given type.
|
|
9
|
+
* @description Construye un decorador de método que registra el método como hook de ciclo de vida del tipo dado.
|
|
10
|
+
* @param type Lifecycle hook type / Tipo de hook de ciclo de vida
|
|
11
|
+
*/
|
|
12
|
+
function hook(type) {
|
|
13
|
+
return () => (target, property_key) => {
|
|
14
|
+
getSchema(target.constructor).hooks[type].push(String(property_key));
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @description Runs before the record is created (opt-in via { hook: true }). `this` is the instance and may be mutated.
|
|
19
|
+
* @description Se ejecuta antes de crear el registro (opt-in con { hook: true }). `this` es la instancia y puede mutarse.
|
|
20
|
+
*/
|
|
21
|
+
export const BeforeCreate = hook('beforeCreate');
|
|
22
|
+
/**
|
|
23
|
+
* @description Runs after the record is created (opt-in via { hook: true }). `this` is the persisted instance.
|
|
24
|
+
* @description Se ejecuta después de crear el registro (opt-in con { hook: true }). `this` es la instancia persistida.
|
|
25
|
+
*/
|
|
26
|
+
export const AfterCreate = hook('afterCreate');
|
|
27
|
+
/**
|
|
28
|
+
* @description Runs before the record is updated (opt-in via { hook: true }). Receives the changes delta as argument.
|
|
29
|
+
* @description Se ejecuta antes de actualizar el registro (opt-in con { hook: true }). Recibe el delta de cambios como argumento.
|
|
30
|
+
*/
|
|
31
|
+
export const BeforeUpdate = hook('beforeUpdate');
|
|
32
|
+
/**
|
|
33
|
+
* @description Runs after the record is updated (opt-in via { hook: true }). Receives the changes delta as argument.
|
|
34
|
+
* @description Se ejecuta después de actualizar el registro (opt-in con { hook: true }). Recibe el delta de cambios como argumento.
|
|
35
|
+
*/
|
|
36
|
+
export const AfterUpdate = hook('afterUpdate');
|
|
37
|
+
/**
|
|
38
|
+
* @description Runs before the record is destroyed (opt-in via { hook: true }). `this` is the instance to remove.
|
|
39
|
+
* @description Se ejecuta antes de eliminar el registro (opt-in con { hook: true }). `this` es la instancia a eliminar.
|
|
40
|
+
*/
|
|
41
|
+
export const BeforeDestroy = hook('beforeDestroy');
|
|
42
|
+
/**
|
|
43
|
+
* @description Runs after the record is destroyed (opt-in via { hook: true }). `this` is the removed instance.
|
|
44
|
+
* @description Se ejecuta después de eliminar el registro (opt-in con { hook: true }). `this` es la instancia eliminada.
|
|
45
|
+
*/
|
|
46
|
+
export const AfterDestroy = hook('afterDestroy');
|
|
47
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/decorators/hooks.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C;;;;GAIG;AACH,SAAS,IAAI,CAAC,IAAc;IAC1B,OAAO,GAAG,EAAE,CAAC,CAAC,MAAW,EAAE,YAA6B,EAAQ,EAAE;QAChE,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @description Primitive decorators: @Get, @Set, @Validate. Composed: @Default, @NotNull, @Name
|
|
4
4
|
* @description Decoradores primitivos: @Get, @Set, @Validate. Compuestos: @Default, @NotNull, @Name
|
|
5
5
|
*/
|
|
6
|
-
import { decorator,
|
|
6
|
+
import { decorator, getSchema } from "../core/decorator.js";
|
|
7
7
|
/**
|
|
8
8
|
* @description Output pipeline -- transforms value on read
|
|
9
9
|
* @description Pipeline de salida -- transforma el valor al leer
|
|
@@ -76,7 +76,7 @@ export function Name(label) {
|
|
|
76
76
|
}
|
|
77
77
|
return (target, prop) => {
|
|
78
78
|
const ctor = prop === undefined ? target : target.constructor;
|
|
79
|
-
const schema = ctor
|
|
79
|
+
const schema = getSchema(ctor);
|
|
80
80
|
if (prop === undefined) {
|
|
81
81
|
schema.name = label;
|
|
82
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../../src/decorators/transforms.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../../src/decorators/transforms.ts"],"names":[],"mappings":"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"}
|
package/build/esm/index.d.ts
CHANGED
|
@@ -12,6 +12,8 @@ export { Index, IndexSort, PrimaryKey } from "./decorators/indexes.js";
|
|
|
12
12
|
export { CreatedAt, UpdatedAt, DeleteAt } from "./decorators/timestamps.js";
|
|
13
13
|
export { Get, Set, Validate, Default, NotNull, Name } from "./decorators/transforms.js";
|
|
14
14
|
export { HasMany, BelongsTo, HasOne, ManyToMany } from "./decorators/relations.js";
|
|
15
|
+
export { BeforeCreate, AfterCreate, BeforeUpdate, AfterUpdate, BeforeDestroy, AfterDestroy, } from "./decorators/hooks.js";
|
|
16
|
+
export type { MutationOptions, HookFn } from "./core/table.js";
|
|
15
17
|
export type { NonAttribute, CreationOptional, InferAttributes, InferRelations, WhereOptions, QueryOperator, CreateInput, UpdateInput, PickRelations, PickByType, } from "./@types/index.js";
|
|
16
18
|
export { ulid } from "./utils/ulid.js";
|
|
17
19
|
export { TransactionContext } from "./core/client.js";
|
package/build/esm/index.js
CHANGED
|
@@ -17,6 +17,8 @@ export { CreatedAt, UpdatedAt, DeleteAt } from "./decorators/timestamps.js";
|
|
|
17
17
|
export { Get, Set, Validate, Default, NotNull, Name } from "./decorators/transforms.js";
|
|
18
18
|
// Decoradores - Relaciones
|
|
19
19
|
export { HasMany, BelongsTo, HasOne, ManyToMany } from "./decorators/relations.js";
|
|
20
|
+
// Decoradores - Hooks de ciclo de vida
|
|
21
|
+
export { BeforeCreate, AfterCreate, BeforeUpdate, AfterUpdate, BeforeDestroy, AfterDestroy, } from "./decorators/hooks.js";
|
|
20
22
|
// Utilidades
|
|
21
23
|
export { ulid } from "./utils/ulid.js";
|
|
22
24
|
// Re-exportar TransactionContext para compatibilidad
|
package/build/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gBAAgB;AAChB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,cAAc,CAAC;AAEhD,gDAAgD;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAKrD,wBAAwB;AACxB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEpE,2BAA2B;AAC3B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEzE,+BAA+B;AAC/B,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAErF,2BAA2B;AAC3B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gBAAgB;AAChB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,cAAc,CAAC;AAEhD,gDAAgD;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAKrD,wBAAwB;AACxB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEpE,2BAA2B;AAC3B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEzE,+BAA+B;AAC/B,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAErF,2BAA2B;AAC3B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEhF,uCAAuC;AACvC,OAAO,EACL,YAAY,EAAE,WAAW,EACzB,YAAY,EAAE,WAAW,EACzB,aAAa,EAAE,YAAY,GAC5B,MAAM,oBAAoB,CAAC;AA0B5B,aAAa;AACb,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,qDAAqD;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
|
package/build/esm/test/basic.js
CHANGED
|
@@ -211,7 +211,7 @@ export default async function basic() {
|
|
|
211
211
|
console.log('\n-- Transacciones --');
|
|
212
212
|
let tx_user;
|
|
213
213
|
await dynamite.tx(async (tx) => {
|
|
214
|
-
tx_user = await User.create({ name: 'TxUser', email: 'tx@test.com' }, tx);
|
|
214
|
+
tx_user = await User.create({ name: 'TxUser', email: 'tx@test.com' }, { tx });
|
|
215
215
|
assert('tx: instancia tiene id antes del commit', typeof tx_user.id === 'string');
|
|
216
216
|
assert('tx: __isPersisted es false antes del commit', tx_user.__isPersisted === false);
|
|
217
217
|
});
|
|
@@ -222,7 +222,7 @@ export default async function basic() {
|
|
|
222
222
|
let tx_failed_user;
|
|
223
223
|
try {
|
|
224
224
|
await dynamite.tx(async (tx) => {
|
|
225
|
-
tx_failed_user = await User.create({ name: 'TxFail' }, tx);
|
|
225
|
+
tx_failed_user = await User.create({ name: 'TxFail' }, { tx });
|
|
226
226
|
throw new Error('Rollback');
|
|
227
227
|
});
|
|
228
228
|
}
|