@decaf-ts/db-decorators 0.7.3 → 0.7.5
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 +1 -1
- package/dist/db-decorators.cjs +1 -1
- package/dist/db-decorators.cjs.map +1 -1
- package/dist/db-decorators.js +1 -1
- package/dist/db-decorators.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/interfaces/BulkCrudOperator.d.ts +5 -4
- package/lib/esm/interfaces/Contextual.d.ts +3 -3
- package/lib/esm/interfaces/CrudOperator.d.ts +5 -4
- package/lib/esm/interfaces/IRepository.d.ts +2 -4
- package/lib/esm/model/decorators.d.ts +4 -5
- package/lib/esm/model/decorators.js.map +1 -1
- package/lib/esm/operations/Operations.d.ts +3 -7
- package/lib/esm/operations/Operations.js +1 -3
- package/lib/esm/operations/Operations.js.map +1 -1
- package/lib/esm/operations/OperationsRegistry.d.ts +2 -6
- package/lib/esm/operations/OperationsRegistry.js +0 -2
- package/lib/esm/operations/OperationsRegistry.js.map +1 -1
- package/lib/esm/operations/decorators.d.ts +42 -28
- package/lib/esm/operations/decorators.js +34 -11
- package/lib/esm/operations/decorators.js.map +1 -1
- package/lib/esm/operations/types.d.ts +9 -10
- package/lib/esm/overrides/Model.d.ts +16 -4
- package/lib/esm/overrides/overrides.js +21 -0
- package/lib/esm/overrides/overrides.js.map +1 -1
- package/lib/esm/repository/BaseRepository.d.ts +16 -27
- package/lib/esm/repository/BaseRepository.js +2 -28
- package/lib/esm/repository/BaseRepository.js.map +1 -1
- package/lib/esm/repository/Context.d.ts +9 -8
- package/lib/esm/repository/Context.js +9 -1
- package/lib/esm/repository/Context.js.map +1 -1
- package/lib/esm/repository/Repository.d.ts +9 -6
- package/lib/esm/repository/Repository.js +52 -38
- package/lib/esm/repository/Repository.js.map +1 -1
- package/lib/esm/repository/constants.d.ts +1 -1
- package/lib/esm/repository/constants.js +2 -0
- package/lib/esm/repository/constants.js.map +1 -1
- package/lib/esm/repository/types.d.ts +16 -2
- package/lib/esm/repository/utils.d.ts +6 -32
- package/lib/esm/repository/utils.js +9 -106
- package/lib/esm/repository/utils.js.map +1 -1
- package/lib/esm/validation/decorators.d.ts +4 -5
- package/lib/esm/validation/decorators.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/interfaces/BulkCrudOperator.d.ts +5 -4
- package/lib/interfaces/Contextual.d.ts +3 -3
- package/lib/interfaces/CrudOperator.d.ts +5 -4
- package/lib/interfaces/IRepository.d.ts +2 -4
- package/lib/model/decorators.d.ts +4 -5
- package/lib/model/decorators.js.map +1 -1
- package/lib/operations/Operations.cjs +1 -3
- package/lib/operations/Operations.d.ts +3 -7
- package/lib/operations/Operations.js.map +1 -1
- package/lib/operations/OperationsRegistry.cjs +0 -2
- package/lib/operations/OperationsRegistry.d.ts +2 -6
- package/lib/operations/OperationsRegistry.js.map +1 -1
- package/lib/operations/decorators.cjs +36 -12
- package/lib/operations/decorators.d.ts +42 -28
- package/lib/operations/decorators.js.map +1 -1
- package/lib/operations/types.d.ts +9 -10
- package/lib/overrides/Model.d.ts +16 -4
- package/lib/overrides/overrides.cjs +21 -0
- package/lib/overrides/overrides.js.map +1 -1
- package/lib/repository/BaseRepository.cjs +2 -28
- package/lib/repository/BaseRepository.d.ts +16 -27
- package/lib/repository/BaseRepository.js.map +1 -1
- package/lib/repository/Context.cjs +9 -1
- package/lib/repository/Context.d.ts +9 -8
- package/lib/repository/Context.js.map +1 -1
- package/lib/repository/Repository.cjs +51 -37
- package/lib/repository/Repository.d.ts +9 -6
- package/lib/repository/Repository.js.map +1 -1
- package/lib/repository/constants.cjs +2 -0
- package/lib/repository/constants.d.ts +1 -1
- package/lib/repository/constants.js.map +1 -1
- package/lib/repository/types.d.ts +16 -2
- package/lib/repository/utils.cjs +10 -108
- package/lib/repository/utils.d.ts +6 -32
- package/lib/repository/utils.js.map +1 -1
- package/lib/validation/decorators.d.ts +4 -5
- package/lib/validation/decorators.js.map +1 -1
- package/package.json +11 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-decorators.js","sources":["../src/model/constants.ts","../src/validation/constants.ts","../src/validation/validators/ReadOnlyValidator.ts","../src/validation/validators/TimestampValidator.ts","../src/validation/validators/UpdateValidator.ts","../src/operations/constants.ts","../src/validation/validation.ts","../src/operations/OperationsRegistry.ts","../src/operations/Operations.ts","../src/repository/errors.ts","../src/repository/utils.ts","../src/operations/decorators.ts","../src/validation/decorators.ts","../src/identity/decorators.ts","../src/model/validation.ts","../src/model/decorators.ts","../src/overrides/overrides.ts","../src/repository/constants.ts","../src/repository/Context.ts","../src/repository/wrappers.ts","../src/repository/BaseRepository.ts","../src/repository/Repository.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["DBKeys","REFLECT","ModelKeys","MODEL","REPOSITORY","CLASS","ID","INDEX","UNIQUE","SERIALIZE","READONLY","TIMESTAMP","TRANSIENT","HASH","COMPOSED","VERSION","ORIGINAL","DefaultSeparator","DEFAULT_TIMESTAMP_FORMAT","DEFAULT_ERROR_MESSAGES","INVALID","REQUIRED","DATE","UpdateValidationKeys","ReadOnlyValidator","Validator","constructor","super","hasErrors","value","args","updateHasErrors","oldValue","message","undefined","isEqual","this","getMessage","__decorate","validator","TimestampValidator","Date","e","UpdateValidator","DecoratorMessages","DEFAULT","acceptedTypes","OperationKeys","ModelOperations","BulkCrudOperationKeys","Validation","updateKey","key","DBOperations","CREATE","READ","UPDATE","DELETE","CREATE_UPDATE","READ_CREATE","ALL","OperationsRegistry","cache","get","target","propKey","operation","accum","name","unshift","Object","values","prototype","getPrototypeOf","proto","register","handler","handlerName","Operations","getHandlerName","Hashing","hash","toString","str","targetName","registry","getOpRegistry","BaseError","Error","msg","code","stack","BadRequestError","ValidationError","InternalError","SerializationError","NotFoundError","ConflictError","getHandlerArgs","dec","prop","m","props","handlers","async","enforceDBDecorators","repo","context","model","prefix","oldModel","decorators","getDbDecorators","sortedDecorators","sortDecorators","groupDecorators","getHandlersDecorators","data","length","ON","push","apply","extraPrefix","replace","Metadata","OPERATIONS","keys","reduce","decorator","obj","filter","d","decs","defaultPriority","DefaultGroupSort","priority","handlerArgs","i","grouped","acc","group","set","Symbol","groupKey","has","existing","Map","groups","Array","from","forEach","combined","map","sort","a","b","groupPriority","c","onCreateUpdate","groupsort","on","onUpdate","onCreate","onRead","onDelete","onAny","op","afterCreateUpdate","after","afterUpdate","afterCreate","afterRead","afterDelete","afterAny","AFTER","baseOp","dataToAdd","propertyKey","compoundKey","readOperation","handlerKey","mergeData","handle","propMetadata","storeHandlerMetadata","params","metadata","BlockOperations","operations","BLOCK","includes","readonly","meta","description","Decoration","for","define","innerValidationDecorator","timestampHandler","timestamp","format","date","required","indexOf","serializeOnCreateUpdate","JSON","stringify","serializeAfterAll","parse","serialize","type","String","id","getValidatableUpdateProps","propsToIgnore","decoratedProperties","hasOwnProperty","call","validationFor","validateDecorator","newModel","toConditionalPromise","decoratorProps","maybeError","validateDecorators","result","decoratorKey","validationErrors","ValidationKeys","LIST","newPropValue","oldPropValue","newValues","Set","oldValues","allowedTypes","class","clazz","customTypes","flat","t","toLowerCase","errs","childValue","Model","pk","oldListModel","find","el","isModel","Promise","all","then","every","r","allEmpty","promises","resolvedValues","res","val","validateCompare","ValidatableUpdateProps","nestedErrors","propValue","designTypes","designType","getPropDesignTypes","some","TYPE","isArray","propErrors","isConstr","isPropertyModel","instance","Constr","entries","error","ModelErrorDefinition","merged","allSettled","results","parentProp","nestedErrPromise","nestedPropDecErrors","nestedProp","nestedPropDecError","join","status","reason","hashOnCreateUpdate","composedFromCreateUpdate","suffix","separator","composed","arg","composedFrom","hashResult","composedFromKeys","versionCreateUpdate","version","Number","transient","attribute","isTransient","previousVersion","exclusions","isAsync","validate","resolve","resolvedErrs","segregate","validatableProperties","transientProps","build","keyValue","constr","idProp","bind","saveOperation","DefaultRepositoryFlags","parentContext","childContexts","ignoredValidationProperties","callArgs","writeOperation","affectedTables","breakOnHandlerError","rebuildWithTransient","DefaultContextFactory","Context","accumulate","assign","ObjectAccumulator","defineProperty","writable","enumerable","configurable","factory","parent","childFrom","overrides","contextual","last","pop","getContext","prefixMethod","afterName","Proxy","thisArg","argArray","suffixMethod","before","beforeName","wrapMethodWithContext","method","methodName","transformedArgs","BaseRepository","_class","_pk","_pkProps","pkProps","self","create","read","update","delete","createAll","models","createPrefix","contextArgs","createSuffix","createAllPrefix","createAllSuffix","readAll","readSuffix","readPrefix","readAllPrefix","k","readAllSuffix","updateAll","updateSuffix","updatePrefix","updateAllPrefix","updateAllSuffix","deleteAll","deleteSuffix","deletePrefix","deleteAllPrefix","deleteAllSuffix","merge","extract","Repository","errors","ids","oldModels","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"db-decorators.js","sources":["../src/model/constants.ts","../src/validation/constants.ts","../src/validation/validators/ReadOnlyValidator.ts","../src/validation/validators/TimestampValidator.ts","../src/validation/validators/UpdateValidator.ts","../src/operations/constants.ts","../src/validation/validation.ts","../src/operations/OperationsRegistry.ts","../src/operations/Operations.ts","../src/repository/errors.ts","../src/operations/decorators.ts","../src/validation/decorators.ts","../src/identity/decorators.ts","../src/model/validation.ts","../src/model/decorators.ts","../src/repository/utils.ts","../src/overrides/overrides.ts","../src/repository/constants.ts","../src/repository/Context.ts","../src/repository/wrappers.ts","../src/repository/BaseRepository.ts","../src/repository/Repository.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["DBKeys","REFLECT","ModelKeys","MODEL","REPOSITORY","CLASS","ID","INDEX","UNIQUE","SERIALIZE","READONLY","TIMESTAMP","TRANSIENT","HASH","COMPOSED","VERSION","ORIGINAL","DefaultSeparator","DEFAULT_TIMESTAMP_FORMAT","DEFAULT_ERROR_MESSAGES","INVALID","REQUIRED","DATE","UpdateValidationKeys","ReadOnlyValidator","Validator","constructor","super","hasErrors","value","args","updateHasErrors","oldValue","message","undefined","isEqual","this","getMessage","__decorate","validator","TimestampValidator","Date","e","UpdateValidator","DecoratorMessages","DEFAULT","acceptedTypes","OperationKeys","ModelOperations","BulkCrudOperationKeys","Validation","updateKey","key","DBOperations","CREATE","READ","UPDATE","DELETE","CREATE_UPDATE","READ_CREATE","ALL","OperationsRegistry","cache","get","target","propKey","operation","accum","name","unshift","Object","values","prototype","getPrototypeOf","proto","register","handler","handlerName","Operations","getHandlerName","Hashing","hash","toString","str","targetName","registry","getOpRegistry","BaseError","Error","msg","code","stack","BadRequestError","ValidationError","InternalError","SerializationError","NotFoundError","ConflictError","DefaultGroupSort","priority","getHandlerArgs","dec","prop","m","props","handlers","getHandlersDecorators","model","decorators","prefix","decs","length","handlerArgs","i","data","push","groupDecorators","grouped","reduce","acc","group","set","Symbol","groupKey","has","existing","Map","groups","Array","from","forEach","combined","map","d","sort","a","b","groupPriority","c","sortDecorators","onCreateUpdate","groupsort","on","onUpdate","onCreate","onRead","onDelete","onAny","op","ON","afterCreateUpdate","after","afterUpdate","afterCreate","afterRead","afterDelete","afterAny","AFTER","baseOp","dataToAdd","propertyKey","compoundKey","Metadata","readOperation","handlerKey","mergeData","keys","filter","handle","propMetadata","OPERATIONS","apply","storeHandlerMetadata","params","metadata","BlockOperations","operations","BLOCK","includes","readonly","meta","description","async","Decoration","for","define","decorator","innerValidationDecorator","timestampHandler","context","timestamp","format","date","required","indexOf","serializeOnCreateUpdate","JSON","stringify","serializeAfterAll","parse","serialize","type","String","id","getValidatableUpdateProps","propsToIgnore","decoratedProperties","hasOwnProperty","call","validationFor","validateDecorator","newModel","oldModel","toConditionalPromise","decoratorProps","maybeError","validateDecorators","result","decoratorKey","validationErrors","ValidationKeys","LIST","newPropValue","oldPropValue","newValues","Set","oldValues","allowedTypes","class","clazz","customTypes","flat","t","toLowerCase","errs","childValue","Model","pk","oldListModel","find","el","isModel","Promise","all","then","every","r","allEmpty","promises","resolvedValues","res","val","validateCompare","ValidatableUpdateProps","nestedErrors","propValue","designTypes","designType","getPropDesignTypes","some","TYPE","isArray","propErrors","isConstr","isPropertyModel","instance","Constr","entries","error","ModelErrorDefinition","merged","allSettled","results","parentProp","nestedErrPromise","nestedPropDecErrors","nestedProp","nestedPropDecError","join","status","reason","hashOnCreateUpdate","composedFromCreateUpdate","suffix","separator","composed","arg","composedFrom","hashResult","composedFromKeys","versionCreateUpdate","version","Number","transient","attribute","reduceErrorsToPrint","errors","enforceDBDecorators","repo","getDbDecorators","sortedDecorators","extraPrefix","replace","obj","isTransient","previousVersion","exclusions","isAsync","validate","resolve","resolvedErrs","segregate","validatableProperties","transientProps","build","keyValue","constr","idProp","bind","pkProps","merge","extract","assign","saveOperation","DefaultRepositoryFlags","parentContext","childContexts","ignoredValidationProperties","callArgs","writeOperation","affectedTables","breakOnHandlerError","rebuildWithTransient","ignoreValidation","ignoreHandlers","DefaultContextFactory","Context","accumulate","logger","Logging","ObjectAccumulator","defineProperty","writable","enumerable","configurable","factory","parent","childFrom","overrides","contextual","last","pop","getContext","prefixMethod","afterName","Proxy","thisArg","argArray","suffixMethod","before","beforeName","wrapMethodWithContext","method","methodName","transformedArgs","BaseRepository","_class","self","create","read","update","delete","createAll","models","createPrefix","contextArgs","createSuffix","createAllPrefix","createAllSuffix","readAll","readSuffix","readPrefix","readAllPrefix","k","readAllSuffix","updateAll","updateSuffix","updatePrefix","updateAllPrefix","updateAllSuffix","deleteAll","deleteSuffix","deletePrefix","deleteAllPrefix","deleteAllSuffix","Repository","shouldRunHandlers","shouldValidate","ids","oldModels","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
package/lib/esm/index.d.ts
CHANGED
package/lib/esm/index.js
CHANGED
|
@@ -17,7 +17,7 @@ export * from "./validation/index.js";
|
|
|
17
17
|
* @const VERSION
|
|
18
18
|
* @memberOf module:db-decorators
|
|
19
19
|
*/
|
|
20
|
-
export const VERSION = "0.7.
|
|
20
|
+
export const VERSION = "0.7.4";
|
|
21
21
|
export const PACKAGE_NAME = "@decaf-ts/db-decorators";
|
|
22
22
|
Metadata.registerLibrary(PACKAGE_NAME, VERSION);
|
|
23
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CrudOperator } from "./CrudOperator";
|
|
2
|
+
import { PrimaryKeyType } from "../repository/index";
|
|
2
3
|
/**
|
|
3
4
|
* @description Interface for bulk CRUD operations
|
|
4
5
|
* @summary Extends the basic CRUD operations to support bulk operations on multiple models at once
|
|
@@ -20,11 +21,11 @@ export interface BulkCrudOperator<M> extends CrudOperator<M> {
|
|
|
20
21
|
* @description Retrieves multiple model instances from the database by their keys
|
|
21
22
|
* @summary Bulk operation to read multiple models at once
|
|
22
23
|
* @template M - The model type
|
|
23
|
-
* @param {(
|
|
24
|
+
* @param {(PrimaryKeyType[])} keys - Array of primary keys to retrieve
|
|
24
25
|
* @param {...any[]} args - Additional arguments
|
|
25
26
|
* @return {Promise<M[]>} Promise resolving to the retrieved model instances
|
|
26
27
|
*/
|
|
27
|
-
readAll(keys:
|
|
28
|
+
readAll(keys: PrimaryKeyType[], ...args: any[]): Promise<M[]>;
|
|
28
29
|
/**
|
|
29
30
|
* @description Updates multiple model instances in the database
|
|
30
31
|
* @summary Bulk operation to update multiple models at once
|
|
@@ -38,9 +39,9 @@ export interface BulkCrudOperator<M> extends CrudOperator<M> {
|
|
|
38
39
|
* @description Deletes multiple model instances from the database by their keys
|
|
39
40
|
* @summary Bulk operation to delete multiple models at once
|
|
40
41
|
* @template M - The model type
|
|
41
|
-
* @param {(
|
|
42
|
+
* @param {(PrimaryKeyType[])} keys - Array of primary keys to delete
|
|
42
43
|
* @param {...any[]} args - Additional arguments
|
|
43
44
|
* @return {Promise<M[]>} Promise resolving to the deleted model instances
|
|
44
45
|
*/
|
|
45
|
-
deleteAll(keys:
|
|
46
|
+
deleteAll(keys: PrimaryKeyType[], ...args: any[]): Promise<M[]>;
|
|
46
47
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OperationKeys } from "../operations";
|
|
2
2
|
import { Context } from "../repository";
|
|
3
|
-
|
|
3
|
+
export type FlagsOf<C extends Context<any>> = C extends Context<infer T> ? T : never;
|
|
4
4
|
/**
|
|
5
5
|
* @description Interface for context-aware operations
|
|
6
6
|
* @summary Provides context management for database operations
|
|
@@ -9,7 +9,7 @@ import { RepositoryFlags } from "../repository/types";
|
|
|
9
9
|
* @interface Contextual
|
|
10
10
|
* @memberOf module:db-decorators
|
|
11
11
|
*/
|
|
12
|
-
export interface Contextual<
|
|
12
|
+
export interface Contextual<C extends Context<any> = Context<any>> {
|
|
13
13
|
/**
|
|
14
14
|
* @description Creates a context for a specific operation
|
|
15
15
|
* @summary Generates an operation-specific context with custom flags
|
|
@@ -19,5 +19,5 @@ export interface Contextual<F extends RepositoryFlags = RepositoryFlags, C exten
|
|
|
19
19
|
* @param {...any[]} args - Additional arguments
|
|
20
20
|
* @return {Promise<C>} Promise resolving to the created context
|
|
21
21
|
*/
|
|
22
|
-
context(operation: OperationKeys.CREATE | OperationKeys.READ | OperationKeys.UPDATE | OperationKeys.DELETE, overrides: Partial<
|
|
22
|
+
context(operation: OperationKeys.CREATE | OperationKeys.READ | OperationKeys.UPDATE | OperationKeys.DELETE | string, overrides: Partial<FlagsOf<C>>, ...args: any[]): Promise<C>;
|
|
23
23
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PrimaryKeyType } from "../repository/index";
|
|
1
2
|
/**
|
|
2
3
|
* @description Basic CRUD operations interface
|
|
3
4
|
* @summary Exposes a standard Create, Read, Update, Delete API for database operations
|
|
@@ -19,11 +20,11 @@ export interface CrudOperator<M> {
|
|
|
19
20
|
* @description Retrieves a model instance from the database by its key
|
|
20
21
|
* @summary Read a model
|
|
21
22
|
* @template M - The model type
|
|
22
|
-
* @param {
|
|
23
|
+
* @param {PrimaryKeyType} key - The primary key of the model to retrieve
|
|
23
24
|
* @param {...any[]} args - Additional arguments
|
|
24
25
|
* @return {Promise<M>} Promise resolving to the retrieved model instance
|
|
25
26
|
*/
|
|
26
|
-
read(key:
|
|
27
|
+
read(key: PrimaryKeyType, ...args: any[]): Promise<M>;
|
|
27
28
|
/**
|
|
28
29
|
* @description Updates a model instance in the database
|
|
29
30
|
* @summary Update a model
|
|
@@ -37,9 +38,9 @@ export interface CrudOperator<M> {
|
|
|
37
38
|
* @description Deletes a model instance from the database by its key
|
|
38
39
|
* @summary Delete a model
|
|
39
40
|
* @template M - The model type
|
|
40
|
-
* @param {
|
|
41
|
+
* @param {PrimaryKeyType} key - The primary key of the model to delete
|
|
41
42
|
* @param {...any[]} args - Additional arguments
|
|
42
43
|
* @return {Promise<M>} Promise resolving to the deleted model instance
|
|
43
44
|
*/
|
|
44
|
-
delete(key:
|
|
45
|
+
delete(key: PrimaryKeyType, ...args: any[]): Promise<M>;
|
|
45
46
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Model, ModelConstructor } from "@decaf-ts/decorator-validation";
|
|
2
2
|
import { BulkCrudOperator } from "./BulkCrudOperator";
|
|
3
|
-
import { RepositoryFlags } from "../repository
|
|
4
|
-
import { Context } from "../repository";
|
|
3
|
+
import { Context, RepositoryFlags } from "../repository";
|
|
5
4
|
/**
|
|
6
5
|
* @description Repository interface for database operations
|
|
7
6
|
* @summary Interface holding basic CRUD APIs for database models, providing standard operations and metadata
|
|
@@ -11,11 +10,10 @@ import { Context } from "../repository";
|
|
|
11
10
|
* @interface IRepository
|
|
12
11
|
* @memberOf module:db-decorators
|
|
13
12
|
*/
|
|
14
|
-
export interface IRepository<M extends Model<
|
|
13
|
+
export interface IRepository<M extends Model<boolean>, C extends Context<any> = Context<RepositoryFlags>> extends BulkCrudOperator<M> {
|
|
15
14
|
/**
|
|
16
15
|
* @description The constructor of the model class
|
|
17
16
|
* @summary Reference to the model class constructor used to create new instances
|
|
18
17
|
*/
|
|
19
18
|
readonly class: ModelConstructor<M>;
|
|
20
|
-
readonly pk: keyof M;
|
|
21
19
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
2
2
|
import { IRepository } from "../interfaces/IRepository";
|
|
3
|
-
import { Context } from "../repository/Context";
|
|
4
3
|
import { CrudOperations, GroupSort } from "../operations";
|
|
5
|
-
import {
|
|
4
|
+
import { ContextOfRepository } from "../repository/index";
|
|
6
5
|
/**
|
|
7
6
|
* @description Hashes a property value during create or update operations
|
|
8
7
|
* @summary Callback function used by the hash decorator to apply hashing to a property value
|
|
@@ -20,7 +19,7 @@ import { RepositoryFlags } from "../repository/types";
|
|
|
20
19
|
* @function hashOnCreateUpdate
|
|
21
20
|
* @memberOf module:db-decorators
|
|
22
21
|
*/
|
|
23
|
-
export declare function hashOnCreateUpdate<M extends Model, R extends IRepository<M,
|
|
22
|
+
export declare function hashOnCreateUpdate<M extends Model, R extends IRepository<M, any>, V extends object>(this: R, context: ContextOfRepository<R>, data: V, key: keyof M, model: M, oldModel?: M): void;
|
|
24
23
|
/**
|
|
25
24
|
* @description Creates a decorator that hashes a property value
|
|
26
25
|
* @summary Decorator that automatically hashes a property value during create and update operations
|
|
@@ -65,7 +64,7 @@ export type ComposedFromMetadata = {
|
|
|
65
64
|
* @function composedFromCreateUpdate
|
|
66
65
|
* @memberOf module:db-decorators
|
|
67
66
|
*/
|
|
68
|
-
export declare function composedFromCreateUpdate<M extends Model, R extends IRepository<M,
|
|
67
|
+
export declare function composedFromCreateUpdate<M extends Model, R extends IRepository<M, any>, V extends ComposedFromMetadata>(this: R, context: ContextOfRepository<R>, data: V, key: keyof M, model: M): void;
|
|
69
68
|
/**
|
|
70
69
|
* @description Creates a decorator that composes a property value from property keys
|
|
71
70
|
* @summary Decorator that generates a property value by joining the names of other properties
|
|
@@ -124,7 +123,7 @@ export declare function composed(args: string[], separator?: string, hash?: bool
|
|
|
124
123
|
* end
|
|
125
124
|
* versionCreateUpdate-->>Caller: void
|
|
126
125
|
*/
|
|
127
|
-
export declare function versionCreateUpdate(operation: CrudOperations): <M extends Model, R extends IRepository<M
|
|
126
|
+
export declare function versionCreateUpdate(operation: CrudOperations): <M extends Model, R extends IRepository<M>, V extends object>(this: R, context: ContextOfRepository<R>, data: V, key: keyof M, model: M) => void;
|
|
128
127
|
/**
|
|
129
128
|
* @description Creates a decorator for versioning a property in a model
|
|
130
129
|
* @summary This decorator applies multiple sub-decorators to handle version management during create and update operations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/model/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,uBAAoB;AACvD,OAAO,EAAE,OAAO,EAAS,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,sCAAiC;AAE9E,OAAO,EAAE,aAAa,EAAE,kCAA6B;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/model/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,uBAAoB;AACvD,OAAO,EAAE,OAAO,EAAS,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,sCAAiC;AAE9E,OAAO,EAAE,aAAa,EAAE,kCAA6B;AACrD,OAAO,EAA6B,aAAa,EAAE,iCAAsB;AACzE,OAAO,EACL,UAAU,EACV,YAAY,EACZ,KAAK,EACL,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAG9B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,kBAAkB,CAMhC,OAA+B,EAC/B,IAAO,EACP,GAAY,EACZ,KAAQ,EACR,QAAY;IAEZ,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW;QAAE,OAAO;IAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAE,KAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,IAAI,QAAQ,IAAK,KAAa,CAAC,GAAG,CAAC,KAAK,IAAI;QAAE,OAAO;IACrD,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACpB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,IAAI;IAClB,OAAO,KAAK,CACV,cAAc,CAAC,kBAAkB,CAAC,EAClC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAC9B,CAAC;AACJ,CAAC;AAuBD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,wBAAwB,CAI7B,OAA+B,EAAE,IAAO,EAAE,GAAY,EAAE,KAAQ;IACzE,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE;YACxC,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;gBACjB,MAAM,IAAI,aAAa,CAAC,YAAY,GAAG,4BAA4B,CAAC,CAAC;YACvE,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,GAAG,CAAC;YAChC,IAAI,OAAQ,KAAa,CAAC,GAAG,CAAC,KAAK,WAAW;gBAC5C,MAAM,IAAI,aAAa,CACrB,YAAY,IAAI,2CAA2C,CAC5D,CAAC;YACJ,OAAS,KAAa,CAAC,GAAG,CAAS,CAAC,QAAQ,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM;YAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjC,KAAa,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,IAAI,aAAa,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,YAAY,CACnB,IAAc,EACd,aAAsB,KAAK,EAC3B,YAAoB,gBAAgB,EACpC,OAA0B,QAAQ,EAClC,MAAM,GAAG,EAAE,EACX,MAAM,GAAG,EAAE,EACX,YAAuB,EAAE,QAAQ,EAAE,EAAE,EAAE;IAEvC,MAAM,IAAI,GAAyB;QACjC,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;KACf,CAAC;IAEF,MAAM,UAAU,GAAG;QACjB,cAAc,CAAC,wBAAwB,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;KACpC,CAAC;IACF,IAAI,UAAU;QAAE,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAc,EACd,YAAoB,gBAAgB,EACpC,OAAgB,KAAK,EACrB,MAAM,GAAG,EAAE,EACX,MAAM,GAAG,EAAE,EACX,YAAuB,EAAE,QAAQ,EAAE,EAAE,EAAE;IAEvC,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,QAAQ,CACtB,IAAc,EACd,YAAoB,gBAAgB,EACpC,OAAgB,KAAK,EACrB,MAAM,GAAG,EAAE,EACX,MAAM,GAAG,EAAE,EACX,YAAuB,EAAE,QAAQ,EAAE,EAAE,EAAE;IAEvC,OAAO,YAAY,CACjB,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,MAAM,EACN,MAAM,EACN,SAAS,CACV,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAyB;IAC3D,OAAO,SAAS,mBAAmB,CAIxB,OAA+B,EAAE,IAAO,EAAE,GAAY,EAAE,KAAQ;QACzE,IAAI,CAAC;YACH,QAAQ,SAAS,EAAE,CAAC;gBAClB,KAAK,aAAa,CAAC,MAAM;oBACtB,KAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACxB,MAAM;gBACR,KAAK,aAAa,CAAC,MAAM;oBACtB,KAAa,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM;gBACR;oBACE,MAAM,IAAI,aAAa,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,IAAI,aAAa,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO;IACrB,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;IAC3B,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;SACvB,MAAM,CACL,IAAI,CAAC,MAAM,CAAC,EACZ,QAAQ,CAAC,mBAAmB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EACnD,QAAQ,CAAC,mBAAmB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EACnD,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CACxB;SACA,KAAK,EAAE,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;SACpC,MAAM,CAAC,SAAS,SAAS,CAAC,KAAU,EAAE,SAAc;QACnD,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACxD,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CACzD,KAAK,EACL,SAAS,CACV,CAAC;IACJ,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;AACb,CAAC"}
|
|
@@ -2,8 +2,6 @@ import { Model } from "@decaf-ts/decorator-validation";
|
|
|
2
2
|
import { OperationHandler } from "./types";
|
|
3
3
|
import { OperationKeys } from "./constants";
|
|
4
4
|
import { IRepository } from "../interfaces";
|
|
5
|
-
import { Context } from "../repository";
|
|
6
|
-
import { RepositoryFlags } from "../repository/types";
|
|
7
5
|
/**
|
|
8
6
|
* @description Static utility class for database operation management
|
|
9
7
|
* @summary Provides functionality for registering, retrieving, and managing database operation handlers
|
|
@@ -11,8 +9,6 @@ import { RepositoryFlags } from "../repository/types";
|
|
|
11
9
|
* @template M - Model type
|
|
12
10
|
* @template R - Repository type
|
|
13
11
|
* @template V - Metadata type
|
|
14
|
-
* @template F - Repository flags
|
|
15
|
-
* @template C - Context type
|
|
16
12
|
* @example
|
|
17
13
|
* // Register a handler for a create operation
|
|
18
14
|
* Operations.register(myHandler, OperationKeys.CREATE, targetModel, 'propertyName');
|
|
@@ -38,10 +34,10 @@ export declare class Operations {
|
|
|
38
34
|
/**
|
|
39
35
|
* @description Gets a unique name for an operation handler
|
|
40
36
|
* @summary Returns the name of the handler function or generates a hash if name is not available
|
|
41
|
-
* @param {OperationHandler<any, any, any
|
|
37
|
+
* @param {OperationHandler<any, any, any>} handler - The handler function to get the name for
|
|
42
38
|
* @return {string} The name of the handler or a generated hash
|
|
43
39
|
*/
|
|
44
|
-
static getHandlerName(handler: OperationHandler<any, any, any
|
|
40
|
+
static getHandlerName(handler: OperationHandler<any, any, any>): any;
|
|
45
41
|
/**
|
|
46
42
|
* @description Generates a reflection metadata key
|
|
47
43
|
* @summary Creates a fully qualified metadata key by prefixing with the reflection namespace
|
|
@@ -62,7 +58,7 @@ export declare class Operations {
|
|
|
62
58
|
* @param {string} operation - The operation key to get handlers for
|
|
63
59
|
* @return {any} The registered handlers for the specified target, property, and operation
|
|
64
60
|
*/
|
|
65
|
-
static get<M extends Model, R extends IRepository<M,
|
|
61
|
+
static get<M extends Model, R extends IRepository<M, any>, V = object>(targetName: string | Record<string, any>, propKey: string, operation: string): OperationHandler<M, R, V>[] | undefined;
|
|
66
62
|
/**
|
|
67
63
|
* @description Gets or initializes the operations registry
|
|
68
64
|
* @summary Returns the existing registry or creates a new one if it doesn't exist
|
|
@@ -8,8 +8,6 @@ import { OperationKeys } from "./constants.js";
|
|
|
8
8
|
* @template M - Model type
|
|
9
9
|
* @template R - Repository type
|
|
10
10
|
* @template V - Metadata type
|
|
11
|
-
* @template F - Repository flags
|
|
12
|
-
* @template C - Context type
|
|
13
11
|
* @example
|
|
14
12
|
* // Register a handler for a create operation
|
|
15
13
|
* Operations.register(myHandler, OperationKeys.CREATE, targetModel, 'propertyName');
|
|
@@ -34,7 +32,7 @@ export class Operations {
|
|
|
34
32
|
/**
|
|
35
33
|
* @description Gets a unique name for an operation handler
|
|
36
34
|
* @summary Returns the name of the handler function or generates a hash if name is not available
|
|
37
|
-
* @param {OperationHandler<any, any, any
|
|
35
|
+
* @param {OperationHandler<any, any, any>} handler - The handler function to get the name for
|
|
38
36
|
* @return {string} The name of the handler or a generated hash
|
|
39
37
|
*/
|
|
40
38
|
static getHandlerName(handler) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Operations.js","sourceRoot":"","sources":["../../../src/operations/Operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,gCAA6B;AAC1D,OAAO,EAAE,aAAa,EAAE,uBAAoB;
|
|
1
|
+
{"version":3,"file":"Operations.js","sourceRoot":"","sources":["../../../src/operations/Operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,gCAA6B;AAC1D,OAAO,EAAE,aAAa,EAAE,uBAAoB;AAG5C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,OAAO,UAAU;IAGrB,gBAAuB,CAAC;IAExB;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,OAAwC;QAC5D,IAAI,OAAO,CAAC,IAAI;YAAE,OAAO,OAAO,CAAC,IAAI,CAAC;QAEtC,OAAO,CAAC,IAAI,CACV,uHAAuH,CACxH,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,GAAW;QACpB,OAAO,aAAa,CAAC,OAAO,GAAG,GAAG,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,GAAG,CACR,UAAwC,EACxC,OAAe,EACf,SAAiB;QAEjB,OAAO,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAU,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,aAAa;QAC1B,IAAI,CAAC,UAAU,CAAC,QAAQ;YAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACzE,OAAO,UAAU,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,QAAQ,CACb,OAAsC,EACtC,SAAwB,EACxB,MAAS,EACT,OAAwB;QAExB,UAAU,CAAC,aAAa,EAAE,CAAC,QAAQ,CACjC,OAAc,EACd,SAAS,EACT,MAAM,EACN,OAAO,CACR,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -2,8 +2,6 @@ import { OperationHandler } from "./types";
|
|
|
2
2
|
import { OperationKeys } from "./constants";
|
|
3
3
|
import { IRepository } from "../interfaces/IRepository";
|
|
4
4
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
5
|
-
import { Context } from "../repository";
|
|
6
|
-
import { RepositoryFlags } from "../repository/types";
|
|
7
5
|
/**
|
|
8
6
|
* @description Registry for database operation handlers
|
|
9
7
|
* @summary Manages and stores operation handlers for different model properties and operations
|
|
@@ -37,15 +35,13 @@ export declare class OperationsRegistry {
|
|
|
37
35
|
* @template M - Model type extending Model
|
|
38
36
|
* @template R - Repository type extending IRepository
|
|
39
37
|
* @template V - Metadata type
|
|
40
|
-
* @template F - Repository flags extending RepositoryFlags
|
|
41
|
-
* @template C - Context type extending Context<F>
|
|
42
38
|
* @param {string | Record<string, any>} target - The target class name or object
|
|
43
39
|
* @param {string} propKey - The property key to get handlers for
|
|
44
40
|
* @param {string} operation - The operation key to get handlers for
|
|
45
41
|
* @param {OperationHandler[]} [accum] - Accumulator for recursive calls
|
|
46
42
|
* @return {OperationHandler[] | undefined} Array of handlers or undefined if none found
|
|
47
43
|
*/
|
|
48
|
-
get<M extends Model, R extends IRepository<M,
|
|
44
|
+
get<M extends Model, R extends IRepository<M, any>, V>(target: string | Record<string, any>, propKey: string, operation: string, accum?: OperationHandler<M, R, V>[]): OperationHandler<M, R, V>[] | undefined;
|
|
49
45
|
/**
|
|
50
46
|
* @description Registers an operation handler for a specific target and operation
|
|
51
47
|
* @summary Stores a handler in the registry for a given target, property, and operation
|
|
@@ -60,5 +56,5 @@ export declare class OperationsRegistry {
|
|
|
60
56
|
* @param {string | symbol} propKey - The property key to register the handler for
|
|
61
57
|
* @return {void}
|
|
62
58
|
*/
|
|
63
|
-
register<M extends Model, R extends IRepository<M,
|
|
59
|
+
register<M extends Model, R extends IRepository<M, any>, V>(handler: OperationHandler<M, R, V>, operation: OperationKeys, target: M, propKey: string | symbol): void;
|
|
64
60
|
}
|
|
@@ -34,8 +34,6 @@ export class OperationsRegistry {
|
|
|
34
34
|
* @template M - Model type extending Model
|
|
35
35
|
* @template R - Repository type extending IRepository
|
|
36
36
|
* @template V - Metadata type
|
|
37
|
-
* @template F - Repository flags extending RepositoryFlags
|
|
38
|
-
* @template C - Context type extending Context<F>
|
|
39
37
|
* @param {string | Record<string, any>} target - The target class name or object
|
|
40
38
|
* @param {string} propKey - The property key to get handlers for
|
|
41
39
|
* @param {string} operation - The operation key to get handlers for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationsRegistry.js","sourceRoot":"","sources":["../../../src/operations/OperationsRegistry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,wBAAqB;
|
|
1
|
+
{"version":3,"file":"OperationsRegistry.js","sourceRoot":"","sources":["../../../src/operations/OperationsRegistry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,wBAAqB;AAG1C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,kBAAkB;IAA/B;QACmB,UAAK,GAMlB,EAAE,CAAC;IAyET,CAAC;IAvEC;;;;;;;;;;;OAWG;IACH,GAAG,CACD,MAAoC,EACpC,OAAe,EACf,SAAiB,EACjB,KAAmC;QAEnC,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC;QACT,IAAI,CAAC;YACH,IAAI,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;YACrE,KAAK,CAAC,OAAO,CACX,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAC7D,CAAC;YACF,6DAA6D;QAC/D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,IACE,OAAO,MAAM,KAAK,QAAQ;gBAC1B,MAAM,KAAK,MAAM,CAAC,SAAS;gBAC3B,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,SAAS;gBAElD,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI;YAAE,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE1E,OAAO,IAAI,CAAC,GAAG,CAAU,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,QAAQ,CACN,OAAkC,EAClC,SAAwB,EACxB,MAAS,EACT,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;QACrC,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAEvD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC;YAAE,OAAO;QAC9D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC;IAC9D,CAAC;CACF"}
|