@solid-nestjs/common 0.2.3 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/helpers/types.helper.d.ts +9 -0
  2. package/dist/helpers/types.helper.d.ts.map +1 -1
  3. package/dist/helpers/types.helper.js +19 -0
  4. package/dist/helpers/types.helper.js.map +1 -1
  5. package/dist/interfaces/services/crud-service.interface.d.ts +6 -6
  6. package/dist/interfaces/services/crud-service.interface.d.ts.map +1 -1
  7. package/dist/interfaces/services/crud-service.interface.js.map +1 -1
  8. package/dist/interfaces/services/data-service.interface.d.ts +3 -3
  9. package/dist/interfaces/services/data-service.interface.d.ts.map +1 -1
  10. package/dist/interfaces/structures/crud-service-structure.interface.d.ts +53 -0
  11. package/dist/interfaces/structures/crud-service-structure.interface.d.ts.map +1 -0
  12. package/dist/interfaces/structures/crud-service-structure.interface.js +3 -0
  13. package/dist/interfaces/structures/crud-service-structure.interface.js.map +1 -0
  14. package/dist/interfaces/structures/data-service-structure.interface.d.ts +44 -0
  15. package/dist/interfaces/structures/data-service-structure.interface.d.ts.map +1 -0
  16. package/dist/interfaces/structures/data-service-structure.interface.js +3 -0
  17. package/dist/interfaces/structures/data-service-structure.interface.js.map +1 -0
  18. package/dist/interfaces/structures/entity-provider-structure.interface.d.ts +12 -2
  19. package/dist/interfaces/structures/entity-provider-structure.interface.d.ts.map +1 -1
  20. package/dist/interfaces/structures/entity-provider-structure.interface.js +8 -0
  21. package/dist/interfaces/structures/entity-provider-structure.interface.js.map +1 -1
  22. package/dist/interfaces/structures/index.d.ts +3 -0
  23. package/dist/interfaces/structures/index.d.ts.map +1 -1
  24. package/dist/interfaces/structures/index.js +1 -0
  25. package/dist/interfaces/structures/index.js.map +1 -1
  26. package/dist/interfaces/structures/service-plugins.interface.d.ts +223 -0
  27. package/dist/interfaces/structures/service-plugins.interface.d.ts.map +1 -0
  28. package/dist/interfaces/structures/service-plugins.interface.js +3 -0
  29. package/dist/interfaces/structures/service-plugins.interface.js.map +1 -0
  30. package/dist/types/index.d.ts +2 -0
  31. package/dist/types/index.d.ts.map +1 -1
  32. package/dist/types/index.js +2 -0
  33. package/dist/types/index.js.map +1 -1
  34. package/dist/types/prettify.type.d.ts +4 -0
  35. package/dist/types/prettify.type.d.ts.map +1 -0
  36. package/dist/types/prettify.type.js +3 -0
  37. package/dist/types/prettify.type.js.map +1 -0
  38. package/dist/types/union-to-intersection.type.d.ts +2 -0
  39. package/dist/types/union-to-intersection.type.d.ts.map +1 -0
  40. package/dist/types/union-to-intersection.type.js +3 -0
  41. package/dist/types/union-to-intersection.type.js.map +1 -0
  42. package/dist/utils/index.d.ts +1 -0
  43. package/dist/utils/index.d.ts.map +1 -1
  44. package/dist/utils/index.js +1 -0
  45. package/dist/utils/index.js.map +1 -1
  46. package/dist/utils/object.utils.d.ts +8 -0
  47. package/dist/utils/object.utils.d.ts.map +1 -0
  48. package/dist/utils/object.utils.js +11 -0
  49. package/dist/utils/object.utils.js.map +1 -0
  50. package/dist/utils/objects.utils.d.ts +8 -0
  51. package/dist/utils/objects.utils.d.ts.map +1 -0
  52. package/dist/utils/objects.utils.js +13 -0
  53. package/dist/utils/objects.utils.js.map +1 -0
  54. package/package.json +2 -2
@@ -7,6 +7,15 @@ import { Constructor } from '../types';
7
7
  * @throws {Error} If the provided type is neither a string nor a constructor function.
8
8
  */
9
9
  export declare function getTypeName(type: string | Function): string;
10
+ /**
11
+ * Returns the constructor function if the provided type is a function (class or constructor),
12
+ * or `undefined` if the type is a string. Throws an error if the input is neither a string nor a function.
13
+ *
14
+ * @param type - The type to evaluate, which can be a string or a constructor function.
15
+ * @returns The constructor function if `type` is a function, otherwise `undefined`.
16
+ * @throws {Error} If `type` is neither a string nor a constructor function.
17
+ */
18
+ export declare function getTypeClass(type: string | Function): Constructor | undefined;
10
19
  /**
11
20
  * Retrieves the design type metadata of a specified property from a class constructor.
12
21
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/types.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAW3D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,OAEtE"}
1
+ {"version":3,"file":"types.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/types.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAW3D;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAW7E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,OAEtE"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getTypeName = getTypeName;
4
+ exports.getTypeClass = getTypeClass;
4
5
  exports.getPropertyType = getPropertyType;
5
6
  /**
6
7
  * Returns the name of a type, given either a string or a constructor function.
@@ -19,6 +20,24 @@ function getTypeName(type) {
19
20
  }
20
21
  throw new Error('Type must be a string or a constructor function');
21
22
  }
23
+ /**
24
+ * Returns the constructor function if the provided type is a function (class or constructor),
25
+ * or `undefined` if the type is a string. Throws an error if the input is neither a string nor a function.
26
+ *
27
+ * @param type - The type to evaluate, which can be a string or a constructor function.
28
+ * @returns The constructor function if `type` is a function, otherwise `undefined`.
29
+ * @throws {Error} If `type` is neither a string nor a constructor function.
30
+ */
31
+ function getTypeClass(type) {
32
+ if (typeof type === 'string') {
33
+ return undefined;
34
+ }
35
+ // Handle constructor functions/classes
36
+ if (typeof type === 'function') {
37
+ return type;
38
+ }
39
+ throw new Error('Type must be a string or a constructor function');
40
+ }
22
41
  /**
23
42
  * Retrieves the design type metadata of a specified property from a class constructor.
24
43
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.helper.js","sourceRoot":"","sources":["../../src/helpers/types.helper.ts"],"names":[],"mappings":";;AASA,kCAWC;AAaD,0CAEC;AAjCD;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,IAAuB;IACjD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uCAAuC;IACvC,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,eAAe,CAAC,WAAwB,EAAE,KAAa;IACrE,OAAO,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"types.helper.js","sourceRoot":"","sources":["../../src/helpers/types.helper.ts"],"names":[],"mappings":";;AASA,kCAWC;AAUD,oCAWC;AAaD,0CAEC;AAtDD;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,IAAuB;IACjD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uCAAuC;IACvC,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,YAAY,CAAC,IAAuB;IAClD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,uCAAuC;IACvC,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,IAAmB,CAAC;IAC7B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,eAAe,CAAC,WAAwB,EAAE,KAAa;IACrE,OAAO,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAC1E,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { DeepPartial } from '../../types';
2
- import { Context, IdTypeFrom, Entity } from '../misc';
2
+ import { Context, IdTypeFrom, Entity, FindArgs } from '../misc';
3
3
  import { DataService } from './data-service.interface';
4
4
  /**
5
5
  * Interface for Create, Update, and Delete operations without soft deletion support.
@@ -10,7 +10,7 @@ import { DataService } from './data-service.interface';
10
10
  * @typeParam UpdateInputType - The type used for updating entities, typically a partial of `EntityType`.
11
11
  * @typeParam ContextType - The context type for the service, defaults to `Context`.
12
12
  */
13
- export interface CudService<IdType extends IdTypeFrom<EntityType>, EntityType extends Entity<unknown>, CreateInputType extends DeepPartial<EntityType>, UpdateInputType extends DeepPartial<EntityType>, ContextType extends Context = Context> {
13
+ export interface CudService<IdType extends IdTypeFrom<EntityType>, EntityType extends Entity<unknown>, CreateInputType extends DeepPartial<EntityType>, UpdateInputType extends DeepPartial<EntityType>, FindArgsType extends FindArgs<EntityType> = FindArgs<EntityType>, ContextType extends Context = Context> {
14
14
  /**
15
15
  * Creates a new entity.
16
16
  *
@@ -48,7 +48,7 @@ export interface CudService<IdType extends IdTypeFrom<EntityType>, EntityType ex
48
48
  * @typeParam UpdateInputType - The type used for updating entities, typically a partial of `EntityType`.
49
49
  * @typeParam ContextType - The context type for the service, defaults to `Context`.
50
50
  */
51
- export interface SoftDeletableCudService<IdType extends IdTypeFrom<EntityType>, EntityType extends Entity<unknown>, CreateInputType extends DeepPartial<EntityType>, UpdateInputType extends DeepPartial<EntityType>, ContextType extends Context = Context> extends CudService<IdType, EntityType, CreateInputType, UpdateInputType, ContextType> {
51
+ export interface SoftDeletableCudService<IdType extends IdTypeFrom<EntityType>, EntityType extends Entity<unknown>, CreateInputType extends DeepPartial<EntityType>, UpdateInputType extends DeepPartial<EntityType>, FindArgsType extends FindArgs<EntityType> = FindArgs<EntityType>, ContextType extends Context = Context> extends CudService<IdType, EntityType, CreateInputType, UpdateInputType, FindArgsType, ContextType> {
52
52
  /**
53
53
  * Soft removes an entity by marking it as deleted without permanently removing it.
54
54
  * The entity can be recovered later using the recover method.
@@ -91,7 +91,7 @@ export interface SoftDeletableCudService<IdType extends IdTypeFrom<EntityType>,
91
91
  * for entities. It is intended to be implemented by services that provide basic CRUD functionality
92
92
  * without soft deletion support.
93
93
  */
94
- export interface CrudService<IdType extends IdTypeFrom<EntityType>, EntityType extends Entity<unknown>, CreateInputType extends DeepPartial<EntityType>, UpdateInputType extends DeepPartial<EntityType>, ContextType extends Context = Context> extends DataService<IdType, EntityType, ContextType>, CudService<IdType, EntityType, CreateInputType, UpdateInputType, ContextType> {
94
+ export interface CrudService<IdType extends IdTypeFrom<EntityType>, EntityType extends Entity<unknown>, CreateInputType extends DeepPartial<EntityType>, UpdateInputType extends DeepPartial<EntityType>, FindArgsType extends FindArgs<EntityType> = FindArgs<EntityType>, ContextType extends Context = Context> extends DataService<IdType, EntityType, FindArgsType, ContextType>, CudService<IdType, EntityType, CreateInputType, UpdateInputType, FindArgsType, ContextType> {
95
95
  }
96
96
  /**
97
97
  * Full CRUD service interface with soft deletion and recovery capabilities.
@@ -103,7 +103,7 @@ export interface CrudService<IdType extends IdTypeFrom<EntityType>, EntityType e
103
103
  * @typeParam UpdateInputType - The type used for updating entities, typically a partial of `EntityType`.
104
104
  * @typeParam ContextType - The context type for the service, defaults to `Context`.
105
105
  */
106
- export interface SoftDeletableCrudService<IdType extends IdTypeFrom<EntityType>, EntityType extends Entity<unknown>, CreateInputType extends DeepPartial<EntityType>, UpdateInputType extends DeepPartial<EntityType>, ContextType extends Context = Context> extends DataService<IdType, EntityType, ContextType>, SoftDeletableCudService<IdType, EntityType, CreateInputType, UpdateInputType, ContextType> {
106
+ export interface SoftDeletableCrudService<IdType extends IdTypeFrom<EntityType>, EntityType extends Entity<unknown>, CreateInputType extends DeepPartial<EntityType>, UpdateInputType extends DeepPartial<EntityType>, FindArgsType extends FindArgs<EntityType> = FindArgs<EntityType>, ContextType extends Context = Context> extends DataService<IdType, EntityType, FindArgsType, ContextType>, SoftDeletableCudService<IdType, EntityType, CreateInputType, UpdateInputType, FindArgsType, ContextType> {
107
107
  }
108
- export declare function isSoftDeletableCrudService<IdType extends IdTypeFrom<EntityType>, EntityType extends Entity<unknown>, CreateInputType extends DeepPartial<EntityType>, UpdateInputType extends DeepPartial<EntityType>, ContextType extends Context = Context>(service: CrudService<IdType, EntityType, CreateInputType, UpdateInputType, ContextType>): service is SoftDeletableCrudService<IdType, EntityType, CreateInputType, UpdateInputType, ContextType>;
108
+ export declare function isSoftDeletableCrudService<IdType extends IdTypeFrom<EntityType>, EntityType extends Entity<unknown>, CreateInputType extends DeepPartial<EntityType>, UpdateInputType extends DeepPartial<EntityType>, FindArgsType extends FindArgs<EntityType> = FindArgs<EntityType>, ContextType extends Context = Context>(service: CrudService<IdType, EntityType, CreateInputType, UpdateInputType, FindArgsType, ContextType>): service is SoftDeletableCrudService<IdType, EntityType, CreateInputType, UpdateInputType, FindArgsType, ContextType>;
109
109
  //# sourceMappingURL=crud-service.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crud-service.interface.d.ts","sourceRoot":"","sources":["../../../src/interfaces/services/crud-service.interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crud-service.interface.d.ts","sourceRoot":"","sources":["../../../src/interfaces/services/crud-service.interface.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"crud-service.interface.js","sourceRoot":"","sources":["../../../src/interfaces/services/crud-service.interface.ts"],"names":[],"mappings":";;AAsKA,gEAsBC;AAvBD,kEAAkE;AAClE,SAAgB,0BAA0B,CAOxC,OAMC;IAQD,OAAO,OAAO,IAAI,OAAQ,OAAe,CAAC,UAAU,KAAK,UAAU,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"crud-service.interface.js","sourceRoot":"","sources":["../../../src/interfaces/services/crud-service.interface.ts"],"names":[],"mappings":";;AA6KA,gEAyBC;AA1BD,kEAAkE;AAClE,SAAgB,0BAA0B,CAQxC,OAOC;IASD,OAAO,OAAO,IAAI,OAAQ,OAAe,CAAC,UAAU,KAAK,UAAU,CAAC;AACtE,CAAC"}
@@ -20,12 +20,12 @@ import { Where } from '../../types/find-args.type';
20
20
  * @method runInTransaction - Executes a function within a transactional context.
21
21
  * @method audit - Records an audit log entry for a specified action.
22
22
  */
23
- export interface DataService<IdType extends IdTypeFrom<EntityType>, EntityType extends Entity<unknown>, ContextType extends Context = Context> {
24
- findAll<TBool extends BooleanType = false>(context: ContextType, args?: FindArgs<EntityType>, withPagination?: TBool): Promise<If<TBool, {
23
+ export interface DataService<IdType extends IdTypeFrom<EntityType>, EntityType extends Entity<unknown>, FindArgsType extends FindArgs<EntityType> = FindArgs<EntityType>, ContextType extends Context = Context> {
24
+ findAll<TBool extends BooleanType = false>(context: ContextType, args?: FindArgsType, withPagination?: TBool): Promise<If<TBool, {
25
25
  data: EntityType[];
26
26
  pagination: PaginationResult;
27
27
  }, EntityType[]>>;
28
- pagination(context: ContextType, args?: FindArgs<EntityType>): Promise<PaginationResult>;
28
+ pagination(context: ContextType, args?: FindArgsType): Promise<PaginationResult>;
29
29
  findOne<TBool extends BooleanType = false>(context: ContextType, id: IdType, orFail?: TBool): Promise<NotNullableIf<TBool, EntityType>>;
30
30
  findOneBy<TBool extends BooleanType = false>(context: ContextType, where: Where<EntityType>, orFail?: TBool): Promise<NotNullableIf<TBool, EntityType>>;
31
31
  runInTransaction<ReturnType>(context: ContextType, fn: (context: ContextType) => Promise<ReturnType>): Promise<ReturnType>;
@@ -1 +1 @@
1
- {"version":3,"file":"data-service.interface.d.ts","sourceRoot":"","sources":["../../../src/interfaces/services/data-service.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,OAAO,EACP,UAAU,EACV,MAAM,EACN,QAAQ,EACR,gBAAgB,EACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAEnD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,WAAW,CAC1B,MAAM,SAAS,UAAU,CAAC,UAAU,CAAC,EACrC,UAAU,SAAS,MAAM,CAAC,OAAO,CAAC,EAClC,WAAW,SAAS,OAAO,GAAG,OAAO;IAErC,OAAO,CAAC,KAAK,SAAS,WAAW,GAAG,KAAK,EACvC,OAAO,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC3B,cAAc,CAAC,EAAE,KAAK,GACrB,OAAO,CACR,EAAE,CACA,KAAK,EACL;QAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAAC,UAAU,EAAE,gBAAgB,CAAA;KAAE,EACpD,UAAU,EAAE,CACb,CACF,CAAC;IAEF,UAAU,CACR,OAAO,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7B,OAAO,CAAC,KAAK,SAAS,WAAW,GAAG,KAAK,EACvC,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,KAAK,GACb,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAE7C,SAAS,CAAC,KAAK,SAAS,WAAW,GAAG,KAAK,EACzC,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,EACxB,MAAM,CAAC,EAAE,KAAK,GACb,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAE7C,gBAAgB,CAAC,UAAU,EACzB,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,UAAU,CAAC,GAChD,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB,KAAK,CACH,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB"}
1
+ {"version":3,"file":"data-service.interface.d.ts","sourceRoot":"","sources":["../../../src/interfaces/services/data-service.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,OAAO,EACP,UAAU,EACV,MAAM,EACN,QAAQ,EACR,gBAAgB,EACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAEnD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,WAAW,CAC1B,MAAM,SAAS,UAAU,CAAC,UAAU,CAAC,EACrC,UAAU,SAAS,MAAM,CAAC,OAAO,CAAC,EAClC,YAAY,SAAS,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,EAChE,WAAW,SAAS,OAAO,GAAG,OAAO;IAErC,OAAO,CAAC,KAAK,SAAS,WAAW,GAAG,KAAK,EACvC,OAAO,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,YAAY,EACnB,cAAc,CAAC,EAAE,KAAK,GACrB,OAAO,CACR,EAAE,CACA,KAAK,EACL;QAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAAC,UAAU,EAAE,gBAAgB,CAAA;KAAE,EACpD,UAAU,EAAE,CACb,CACF,CAAC;IAEF,UAAU,CACR,OAAO,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,YAAY,GAClB,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7B,OAAO,CAAC,KAAK,SAAS,WAAW,GAAG,KAAK,EACvC,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,KAAK,GACb,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAE7C,SAAS,CAAC,KAAK,SAAS,WAAW,GAAG,KAAK,EACzC,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,EACxB,MAAM,CAAC,EAAE,KAAK,GACb,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAE7C,gBAAgB,CAAC,UAAU,EACzB,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,UAAU,CAAC,GAChD,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB,KAAK,CACH,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB"}
@@ -0,0 +1,53 @@
1
+ import { Constructable, DeepPartial } from '../../types';
2
+ import { Context, Entity, FindArgs, IdTypeFrom } from '../misc';
3
+ import { DataServiceFunctions, DataServiceStructure } from './data-service-structure.interface';
4
+ /**
5
+ * Configuration structure for individual CRUD service functions.
6
+ * Provides method decorators.
7
+ *
8
+ * @template EntityType - The entity type this function operates on
9
+ */
10
+ export interface CrudServiceFunctionStructure<EntityType> {
11
+ /** Array of method decorators to apply to the function */
12
+ decorators?: (() => MethodDecorator)[];
13
+ }
14
+ /**
15
+ * Defines the available CRUD and bulk operation functions that can be configured for a service.
16
+ * Extends DataServiceFunctions with create, update, and delete operations.
17
+ *
18
+ * @template EntityType - The entity type this service operates on
19
+ */
20
+ export interface CrudServiceFunctions<EntityType> extends DataServiceFunctions<EntityType> {
21
+ /** Configuration for the create operation */
22
+ create?: CrudServiceFunctionStructure<EntityType>;
23
+ /** Configuration for the update operation */
24
+ update?: CrudServiceFunctionStructure<EntityType>;
25
+ /** Configuration for the remove operation (soft delete by default) */
26
+ remove?: CrudServiceFunctionStructure<EntityType>;
27
+ /** Configuration for the soft remove operation (explicit soft delete) */
28
+ softRemove?: CrudServiceFunctionStructure<EntityType>;
29
+ /** Configuration for the hard remove operation (permanent delete) */
30
+ hardRemove?: CrudServiceFunctionStructure<EntityType>;
31
+ /** Configuration for the recover operation (restore soft-deleted entities) */
32
+ recover?: CrudServiceFunctionStructure<EntityType>;
33
+ }
34
+ /**
35
+ * Structure definition for configuring a CRUD service.
36
+ * Extends DataServiceStructure with additional input types and CRUD-specific function configurations.
37
+ *
38
+ * @template IdType - The type of the entity's identifier
39
+ * @template EntityType - The entity type this service operates on
40
+ * @template CreateInputType - The input type for create operations
41
+ * @template UpdateInputType - The input type for update operations
42
+ * @template FindArgsType - The type for find operation arguments
43
+ * @template ContextType - The context type for operations
44
+ */
45
+ export interface CrudServiceStructure<IdType extends IdTypeFrom<EntityType>, EntityType extends Entity<unknown>, CreateInputType extends DeepPartial<EntityType>, UpdateInputType extends DeepPartial<EntityType>, FindArgsType extends FindArgs<EntityType> = FindArgs<EntityType>, ContextType extends Context = Context> extends DataServiceStructure<IdType, EntityType, FindArgsType, ContextType> {
46
+ /** Constructor for the create input type */
47
+ createInputType: Constructable<CreateInputType>;
48
+ /** Constructor for the update input type */
49
+ updateInputType: Constructable<UpdateInputType>;
50
+ /** Optional configuration for CRUD service functions */
51
+ functions?: CrudServiceFunctions<EntityType>;
52
+ }
53
+ //# sourceMappingURL=crud-service-structure.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crud-service-structure.interface.d.ts","sourceRoot":"","sources":["../../../src/interfaces/structures/crud-service-structure.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,oCAAoC,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,WAAW,4BAA4B,CAAC,UAAU;IACtD,0DAA0D;IAC1D,UAAU,CAAC,EAAE,CAAC,MAAM,eAAe,CAAC,EAAE,CAAC;CACxC;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB,CAAC,UAAU,CAC9C,SAAQ,oBAAoB,CAAC,UAAU,CAAC;IACxC,6CAA6C;IAC7C,MAAM,CAAC,EAAE,4BAA4B,CAAC,UAAU,CAAC,CAAC;IAClD,6CAA6C;IAC7C,MAAM,CAAC,EAAE,4BAA4B,CAAC,UAAU,CAAC,CAAC;IAClD,sEAAsE;IACtE,MAAM,CAAC,EAAE,4BAA4B,CAAC,UAAU,CAAC,CAAC;IAClD,yEAAyE;IACzE,UAAU,CAAC,EAAE,4BAA4B,CAAC,UAAU,CAAC,CAAC;IACtD,qEAAqE;IACrE,UAAU,CAAC,EAAE,4BAA4B,CAAC,UAAU,CAAC,CAAC;IACtD,8EAA8E;IAC9E,OAAO,CAAC,EAAE,4BAA4B,CAAC,UAAU,CAAC,CAAC;CACpD;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB,CACnC,MAAM,SAAS,UAAU,CAAC,UAAU,CAAC,EACrC,UAAU,SAAS,MAAM,CAAC,OAAO,CAAC,EAClC,eAAe,SAAS,WAAW,CAAC,UAAU,CAAC,EAC/C,eAAe,SAAS,WAAW,CAAC,UAAU,CAAC,EAC/C,YAAY,SAAS,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,EAChE,WAAW,SAAS,OAAO,GAAG,OAAO,CACrC,SAAQ,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC;IAC3E,4CAA4C;IAC5C,eAAe,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAChD,4CAA4C;IAC5C,eAAe,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAChD,wDAAwD;IACxD,SAAS,CAAC,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC;CAC9C"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=crud-service-structure.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crud-service-structure.interface.js","sourceRoot":"","sources":["../../../src/interfaces/structures/crud-service-structure.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ import { Constructable } from '../../types';
2
+ import { Context, Entity, FindArgs, IdTypeFrom } from '../misc';
3
+ import { EntityProviderStructure } from './entity-provider-structure.interface';
4
+ /**
5
+ * Configuration structure for individual data service functions.
6
+ *
7
+ * @template EntityType - The entity type this function operates on
8
+ */
9
+ export interface DataServiceFunctionStructure<EntityType> {
10
+ /** Array of method decorators to apply to the function */
11
+ decorators?: (() => MethodDecorator)[];
12
+ }
13
+ /**
14
+ * Defines the available data service functions that can be configured.
15
+ * Includes basic read operations like findAll, findOne, and pagination.
16
+ *
17
+ * @template EntityType - The entity type this service operates on
18
+ */
19
+ export interface DataServiceFunctions<EntityType> {
20
+ /** Configuration for the findAll operation */
21
+ findAll?: DataServiceFunctionStructure<EntityType>;
22
+ /** Configuration for the findOne operation */
23
+ findOne?: DataServiceFunctionStructure<EntityType>;
24
+ /** Configuration for the pagination operation */
25
+ pagination?: DataServiceFunctionStructure<EntityType>;
26
+ }
27
+ /**
28
+ * Structure definition for configuring a data service.
29
+ * Extends EntityProviderStructure and QueryBuilderConfig with additional service configuration.
30
+ *
31
+ * @template IdType - The type of the entity's identifier
32
+ * @template EntityType - The entity type this service operates on
33
+ * @template FindArgsType - The type for find operation arguments
34
+ * @template ContextType - The context type for operations
35
+ */
36
+ export interface DataServiceStructure<IdType extends IdTypeFrom<EntityType>, EntityType extends Entity<unknown>, FindArgsType extends FindArgs<EntityType> = FindArgs<EntityType>, ContextType extends Context = Context> extends EntityProviderStructure<IdType, EntityType> {
37
+ /** Optional constructor for the find arguments type */
38
+ findArgsType?: Constructable<FindArgsType>;
39
+ /** Optional constructor for the context type */
40
+ contextType?: Constructable<ContextType>;
41
+ /** Optional configuration for data service functions */
42
+ functions?: DataServiceFunctions<EntityType>;
43
+ }
44
+ //# sourceMappingURL=data-service-structure.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-service-structure.interface.d.ts","sourceRoot":"","sources":["../../../src/interfaces/structures/data-service-structure.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF;;;;GAIG;AACH,MAAM,WAAW,4BAA4B,CAAC,UAAU;IACtD,0DAA0D;IAC1D,UAAU,CAAC,EAAE,CAAC,MAAM,eAAe,CAAC,EAAE,CAAC;CACxC;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB,CAAC,UAAU;IAC9C,8CAA8C;IAC9C,OAAO,CAAC,EAAE,4BAA4B,CAAC,UAAU,CAAC,CAAC;IACnD,8CAA8C;IAC9C,OAAO,CAAC,EAAE,4BAA4B,CAAC,UAAU,CAAC,CAAC;IACnD,iDAAiD;IACjD,UAAU,CAAC,EAAE,4BAA4B,CAAC,UAAU,CAAC,CAAC;CACvD;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB,CACnC,MAAM,SAAS,UAAU,CAAC,UAAU,CAAC,EACrC,UAAU,SAAS,MAAM,CAAC,OAAO,CAAC,EAClC,YAAY,SAAS,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,EAChE,WAAW,SAAS,OAAO,GAAG,OAAO,CACrC,SAAQ,uBAAuB,CAAC,MAAM,EAAE,UAAU,CAAC;IACnD,uDAAuD;IACvD,YAAY,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3C,gDAAgD;IAChD,WAAW,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACzC,wDAAwD;IACxD,SAAS,CAAC,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC;CAC9C"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data-service-structure.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-service-structure.interface.js","sourceRoot":"","sources":["../../../src/interfaces/structures/data-service-structure.interface.ts"],"names":[],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  import { PipeTransform, Type } from '@nestjs/common';
2
- import { Constructable } from '../../types';
3
- import { Entity, IdTypeFrom } from '../misc';
2
+ import { Constructable, DeepPartial } from '../../types';
3
+ import { Context, Entity, FindArgs, IdTypeFrom } from '../misc';
4
4
  export interface IdStructure<IdType> {
5
5
  type: Constructable<IdType>;
6
6
  pipeTransforms?: Type<PipeTransform>[];
@@ -10,4 +10,14 @@ export interface EntityProviderStructure<IdType extends IdTypeFrom<EntityType>,
10
10
  entityId?: IdStructure<IdType>;
11
11
  }
12
12
  export declare function fillEntityId<IdType extends IdTypeFrom<EntityType>, EntityType extends Entity<unknown>>(entityProvider: EntityProviderStructure<IdType, EntityType>): void;
13
+ export interface DataProviderStructure<IdType extends IdTypeFrom<EntityType>, EntityType extends Entity<unknown>, FindArgsType extends FindArgs<EntityType> = FindArgs<EntityType>, ContextType extends Context = Context> extends EntityProviderStructure<IdType, EntityType> {
14
+ findArgsType?: Constructable<FindArgsType>;
15
+ contextType?: Constructable<ContextType>;
16
+ }
17
+ export interface CrudProviderStructure<IdType extends IdTypeFrom<EntityType>, EntityType extends Entity<unknown>, CreateInputType extends DeepPartial<EntityType>, UpdateInputType extends DeepPartial<EntityType>, FindArgsType extends FindArgs<EntityType> = FindArgs<EntityType>, ContextType extends Context = Context> extends DataProviderStructure<IdType, EntityType, FindArgsType, ContextType> {
18
+ createInputType: Constructable<CreateInputType>;
19
+ updateInputType: Constructable<UpdateInputType>;
20
+ }
21
+ export declare function DataProviderStructure<IdType extends IdTypeFrom<EntityType>, EntityType extends Entity<unknown>, FindArgsType extends FindArgs<EntityType> = FindArgs<EntityType>, ContextType extends Context = Context>(input: DataProviderStructure<IdType, EntityType, FindArgsType, ContextType>): DataProviderStructure<IdType, EntityType, FindArgsType, ContextType>;
22
+ export declare function CrudProviderStructure<IdType extends IdTypeFrom<EntityType>, EntityType extends Entity<unknown>, CreateInputType extends DeepPartial<EntityType>, UpdateInputType extends DeepPartial<EntityType>, FindArgsType extends FindArgs<EntityType> = FindArgs<EntityType>, ContextType extends Context = Context>(input: CrudProviderStructure<IdType, EntityType, CreateInputType, UpdateInputType, FindArgsType, ContextType>): CrudProviderStructure<IdType, EntityType, CreateInputType, UpdateInputType, FindArgsType, ContextType>;
13
23
  //# sourceMappingURL=entity-provider-structure.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-provider-structure.interface.d.ts","sourceRoot":"","sources":["../../../src/interfaces/structures/entity-provider-structure.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,WAAW,WAAW,CAAC,MAAM;IACjC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5B,cAAc,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,uBAAuB,CACtC,MAAM,SAAS,UAAU,CAAC,UAAU,CAAC,EACrC,UAAU,SAAS,MAAM,CAAC,OAAO,CAAC;IAElC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAChC;AAED,wBAAgB,YAAY,CAC1B,MAAM,SAAS,UAAU,CAAC,UAAU,CAAC,EACrC,UAAU,SAAS,MAAM,CAAC,OAAO,CAAC,EAClC,cAAc,EAAE,uBAAuB,CAAC,MAAM,EAAE,UAAU,CAAC,QAU5D"}
1
+ {"version":3,"file":"entity-provider-structure.interface.d.ts","sourceRoot":"","sources":["../../../src/interfaces/structures/entity-provider-structure.interface.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fillEntityId = fillEntityId;
4
+ exports.DataProviderStructure = DataProviderStructure;
5
+ exports.CrudProviderStructure = CrudProviderStructure;
4
6
  const helpers_1 = require("../../helpers");
5
7
  function fillEntityId(entityProvider) {
6
8
  if (entityProvider.entityId)
@@ -12,4 +14,10 @@ function fillEntityId(entityProvider) {
12
14
  pipeTransforms: idPipeTransform ? [idPipeTransform] : [],
13
15
  };
14
16
  }
17
+ function DataProviderStructure(input) {
18
+ return input;
19
+ }
20
+ function CrudProviderStructure(input) {
21
+ return input;
22
+ }
15
23
  //# sourceMappingURL=entity-provider-structure.interface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-provider-structure.interface.js","sourceRoot":"","sources":["../../../src/interfaces/structures/entity-provider-structure.interface.ts"],"names":[],"mappings":";;AAkBA,oCAaC;AA9BD,2CAAyE;AAiBzE,SAAgB,YAAY,CAG1B,cAA2D;IAC3D,IAAI,cAAc,CAAC,QAAQ;QAAE,OAAO;IAEpC,MAAM,MAAM,GAAG,IAAA,yBAAe,EAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAChE,MAAM,eAAe,GAAG,IAAA,iCAAuB,EAAC,MAAM,CAAC,CAAC;IAExD,cAAc,CAAC,QAAQ,GAAG;QACxB,IAAI,EAAE,MAAM;QACZ,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;KACzD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"entity-provider-structure.interface.js","sourceRoot":"","sources":["../../../src/interfaces/structures/entity-provider-structure.interface.ts"],"names":[],"mappings":";;AAkBA,oCAaC;AAwBD,sDASC;AAED,sDAyBC;AA1FD,2CAAyE;AAiBzE,SAAgB,YAAY,CAG1B,cAA2D;IAC3D,IAAI,cAAc,CAAC,QAAQ;QAAE,OAAO;IAEpC,MAAM,MAAM,GAAG,IAAA,yBAAe,EAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAChE,MAAM,eAAe,GAAG,IAAA,iCAAuB,EAAC,MAAM,CAAC,CAAC;IAExD,cAAc,CAAC,QAAQ,GAAG;QACxB,IAAI,EAAE,MAAM;QACZ,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;KACzD,CAAC;AACJ,CAAC;AAwBD,SAAgB,qBAAqB,CAMnC,KAA2E;IAE3E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,qBAAqB,CAQnC,KAOC;IASD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,2 +1,5 @@
1
+ export { DataServiceFunctionStructure as CommonDataServiceFunctionStructure, DataServiceFunctions as CommonDataServiceFunctions, DataServiceStructure as CommonDataServiceStructure, } from './data-service-structure.interface';
2
+ export { CrudServiceFunctionStructure as CommonCrudServiceFunctionStructure, CrudServiceFunctions as CommonCrudServiceFunctions, CrudServiceStructure as CommonCrudServiceStructure, } from './crud-service-structure.interface';
3
+ export * from './service-plugins.interface';
1
4
  export * from './entity-provider-structure.interface';
2
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interfaces/structures/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interfaces/structures/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,IAAI,kCAAkC,EAClE,oBAAoB,IAAI,0BAA0B,EAClD,oBAAoB,IAAI,0BAA0B,GACnD,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,4BAA4B,IAAI,kCAAkC,EAClE,oBAAoB,IAAI,0BAA0B,EAClD,oBAAoB,IAAI,0BAA0B,GACnD,MAAM,oCAAoC,CAAC;AAE5C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,uCAAuC,CAAC"}
@@ -14,5 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./service-plugins.interface"), exports);
17
18
  __exportStar(require("./entity-provider-structure.interface"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/structures/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wEAAsD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/structures/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAWA,8DAA4C;AAE5C,wEAAsD"}
@@ -0,0 +1,223 @@
1
+ import { Type } from '@nestjs/common';
2
+ import { Constructable, DeepPartial, UnionToIntersection } from '../../types';
3
+ import { Context, Entity, FindArgs, IdTypeFrom } from '../misc';
4
+ import { DataService, CrudService } from '../services';
5
+ import { CrudServiceStructure } from './crud-service-structure.interface';
6
+ import { DataServiceStructure } from './data-service-structure.interface';
7
+ /**
8
+ * Interface defining a plugin system for extending service functionality in the SOLID NestJS framework.
9
+ *
10
+ * Service plugins allow developers to enhance data and CRUD services with additional methods,
11
+ * configuration options, and custom behavior. Plugins can modify service structures during
12
+ * configuration and enhance service classes with new functionality.
13
+ *
14
+ * @template IdType - The type of the entity's identifier
15
+ * @template EntityType - The entity type this plugin operates on
16
+ * @template CreateInputType - The input type for create operations, defaults to DeepPartial<EntityType>
17
+ * @template UpdateInputType - The input type for update operations, defaults to DeepPartial<EntityType>
18
+ * @template FindArgsType - The type for find operation arguments, defaults to FindArgs<EntityType>
19
+ * @template ContextType - The context type for operations, defaults to Context
20
+ * @template TDataOptions - Record of additional options that can be added to data service structures
21
+ * @template TCrudOptions - Record of additional options that can be added to CRUD service structures
22
+ * @template TDataAddOns - Record of additional methods/properties added to data services
23
+ * @template TCrudAddOns - Record of additional methods/properties added to CRUD services
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * // Define a logging plugin
28
+ * const loggingPlugin: ServicePlugin<string, User> = {
29
+ * applyDataServiceStructure(structure) {
30
+ * // Modify structure configuration
31
+ * structure.enableLogging = true;
32
+ * },
33
+ *
34
+ * applyDataServiceClass(serviceClass, structure) {
35
+ * // Extend service class with logging methods
36
+ * class LoggingService extends serviceClass {
37
+ * log(message: string) {
38
+ * console.log(`[${structure.entityType.name}] ${message}`);
39
+ * }
40
+ * }
41
+ * return LoggingService;
42
+ * }
43
+ * };
44
+ * ```
45
+ */
46
+ export interface ServicePlugin<IdType extends IdTypeFrom<EntityType>, EntityType extends Entity<unknown>, CreateInputType extends DeepPartial<EntityType> = DeepPartial<EntityType>, UpdateInputType extends DeepPartial<EntityType> = DeepPartial<EntityType>, FindArgsType extends FindArgs<EntityType> = FindArgs<EntityType>, ContextType extends Context = Context, TDataOptions extends Record<string, any> = {}, TCrudOptions extends Record<string, any> = {}, TDataAddOns extends Record<string, any> = {}, TCrudAddOns extends Record<string, any> = {}> {
47
+ /**
48
+ * Hook that allows modifying the data service structure during configuration.
49
+ * This method is called before the service class is created, allowing plugins
50
+ * to add configuration options, modify function settings, or add decorators.
51
+ *
52
+ * @param structure - The data service structure being configured, enhanced with plugin options
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * applyDataServiceStructure(structure) {
57
+ * // Add caching configuration
58
+ * structure.enableCache = true;
59
+ * structure.cacheTimeout = 300;
60
+ * }
61
+ * ```
62
+ */
63
+ applyDataServiceStructure?(structure: DataServiceStructure<IdType, EntityType, FindArgsType, ContextType> & TDataOptions): void;
64
+ /**
65
+ * Hook that allows modifying the CRUD service structure during configuration.
66
+ * This method is called before the service class is created, allowing plugins
67
+ * to add configuration options, modify function settings, or add decorators.
68
+ *
69
+ * @param structure - The CRUD service structure being configured, enhanced with plugin options
70
+ *
71
+ * @example
72
+ * ```typescript
73
+ * applyCrudServiceStructure(structure) {
74
+ * // Add validation configuration
75
+ * structure.enableValidation = true;
76
+ * structure.validationRules = ['email', 'required'];
77
+ * }
78
+ * ```
79
+ */
80
+ applyCrudServiceStructure?(structure: CrudServiceStructure<IdType, EntityType, CreateInputType, UpdateInputType, FindArgsType, ContextType> & TDataOptions & TCrudOptions): void;
81
+ /**
82
+ * Hook that allows modifying or extending the data service class.
83
+ * This method receives the constructed service class and can return an enhanced
84
+ * version with additional methods, properties, or behavior.
85
+ *
86
+ * @param serviceClass - The original data service class constructor
87
+ * @param structure - The data service structure with plugin options
88
+ * @returns Enhanced service class constructor with additional functionality
89
+ *
90
+ * @example
91
+ * ```typescript
92
+ * applyDataServiceClass(serviceClass, structure) {
93
+ * class EnhancedService extends serviceClass {
94
+ * async findWithCache(id: string) {
95
+ * // Add caching logic
96
+ * return this.findOne(context, id);
97
+ * }
98
+ * }
99
+ * return EnhancedService;
100
+ * }
101
+ * ```
102
+ */
103
+ applyDataServiceClass?(serviceClass: Constructable<DataService<IdType, EntityType, FindArgsType, ContextType>>, structure: DataServiceStructure<IdType, EntityType, FindArgsType, ContextType> & TDataOptions): Type<DataService<IdType, EntityType, FindArgsType, ContextType> & TDataAddOns>;
104
+ /**
105
+ * Hook that allows modifying or extending the CRUD service class.
106
+ * This method receives the constructed service class and can return an enhanced
107
+ * version with additional methods, properties, or behavior.
108
+ *
109
+ * @param serviceClass - The original CRUD service class constructor
110
+ * @param structure - The CRUD service structure with plugin options
111
+ * @returns Enhanced service class constructor with additional functionality
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * applyCrudServiceClass(serviceClass, structure) {
116
+ * class AuditedService extends serviceClass {
117
+ * async create(context, input) {
118
+ * const result = await super.create(context, input);
119
+ * await this.auditLog('CREATE', result.id);
120
+ * return result;
121
+ * }
122
+ * }
123
+ * return AuditedService;
124
+ * }
125
+ * ```
126
+ */
127
+ applyCrudServiceClass?(serviceClass: Constructable<CrudService<IdType, EntityType, CreateInputType, UpdateInputType, FindArgsType, ContextType> & TDataAddOns>, structure: CrudServiceStructure<IdType, EntityType, CreateInputType, UpdateInputType, FindArgsType, ContextType> & TDataOptions & TCrudOptions): Type<CrudService<IdType, EntityType, CreateInputType, UpdateInputType, FindArgsType, ContextType> & TDataAddOns & TCrudAddOns>;
128
+ }
129
+ /**
130
+ * Utility type that extracts and merges all data add-ons from an array of service plugins.
131
+ * This type is used to determine what additional methods and properties will be available
132
+ * on data services when using a specific set of plugins.
133
+ *
134
+ * @template ServicePluginArrayType - An array of service plugins
135
+ * @returns Union-to-intersection type of all TDataAddOns from the plugins
136
+ *
137
+ * @example
138
+ * ```typescript
139
+ * type MyPlugins = [LoggingPlugin, CachingPlugin];
140
+ * type DataAddOns = ExtractDataAddOnsFromServicePluginArray<MyPlugins>;
141
+ * // DataAddOns will contain methods from both logging and caching plugins
142
+ * ```
143
+ */
144
+ export type ExtractDataAddOnsFromServicePluginArray<ServicePluginArrayType extends readonly ServicePlugin<any, any, any, any, any, any, any, any, any, any>[]> = UnionToIntersection<ServicePluginArrayType[number] extends ServicePlugin<any, any, any, any, any, any, any, any, infer TAddOns, any> ? TAddOns : never>;
145
+ /**
146
+ * Utility type that extracts and merges all CRUD add-ons from an array of service plugins.
147
+ * This type is used to determine what additional methods and properties will be available
148
+ * on CRUD services when using a specific set of plugins.
149
+ *
150
+ * @template ServicePluginArrayType - An array of service plugins
151
+ * @returns Union-to-intersection type of all TCrudAddOns from the plugins
152
+ *
153
+ * @example
154
+ * ```typescript
155
+ * type MyPlugins = [ValidationPlugin, AuditPlugin];
156
+ * type CrudAddOns = ExtractCrudAddOnsFromServicePluginArray<MyPlugins>;
157
+ * // CrudAddOns will contain methods from both validation and audit plugins
158
+ * ```
159
+ */
160
+ export type ExtractCrudAddOnsFromServicePluginArray<ServicePluginArrayType extends readonly ServicePlugin<any, any, any, any, any, any, any, any, any, any>[]> = UnionToIntersection<ServicePluginArrayType[number] extends ServicePlugin<any, any, any, any, any, any, any, any, any, infer TAddOns> ? TAddOns : never>;
161
+ /**
162
+ * Utility type that extracts and merges both data and CRUD add-ons from an array of service plugins.
163
+ * This provides a complete view of all additional functionality that will be available
164
+ * on services when using a specific set of plugins.
165
+ *
166
+ * @template ServicePluginArrayType - An array of service plugins
167
+ * @returns Combined type of all data and CRUD add-ons from the plugins
168
+ *
169
+ * @example
170
+ * ```typescript
171
+ * type MyPlugins = [LoggingPlugin, ValidationPlugin, CachingPlugin];
172
+ * type AllAddOns = ExtractAddOnsFromServicePluginArray<MyPlugins>;
173
+ * // AllAddOns will contain methods from all plugins combined
174
+ * ```
175
+ */
176
+ export type ExtractAddOnsFromServicePluginArray<ServicePluginArrayType extends readonly ServicePlugin<any, any, any, any, any, any, any, any, any, any>[]> = ExtractDataAddOnsFromServicePluginArray<ServicePluginArrayType> & ExtractCrudAddOnsFromServicePluginArray<ServicePluginArrayType>;
177
+ /**
178
+ * Utility type that extracts and merges all data options from an array of service plugins.
179
+ * These options become available in the data service structure configuration when using the plugins.
180
+ *
181
+ * @template ServicePluginArrayType - An array of service plugins
182
+ * @returns Union-to-intersection type of all TDataOptions from the plugins
183
+ *
184
+ * @example
185
+ * ```typescript
186
+ * type MyPlugins = [CachingPlugin, LoggingPlugin];
187
+ * type DataOptions = ExtractDataOptionsFromServicePluginArray<MyPlugins>;
188
+ * // DataOptions might include { cacheTimeout?: number; logLevel?: string; }
189
+ * ```
190
+ */
191
+ export type ExtractDataOptionsFromServicePluginArray<ServicePluginArrayType extends readonly ServicePlugin<any, any, any, any, any, any, any, any, any, any>[]> = UnionToIntersection<ServicePluginArrayType[number] extends ServicePlugin<any, any, any, any, any, any, infer TOptions, any, any, any> ? TOptions : never>;
192
+ /**
193
+ * Utility type that extracts and merges all CRUD options from an array of service plugins.
194
+ * These options become available in the CRUD service structure configuration when using the plugins.
195
+ *
196
+ * @template ServicePluginArrayType - An array of service plugins
197
+ * @returns Union-to-intersection type of all TCrudOptions from the plugins
198
+ *
199
+ * @example
200
+ * ```typescript
201
+ * type MyPlugins = [ValidationPlugin, AuditPlugin];
202
+ * type CrudOptions = ExtractCrudOptionsFromServicePluginArray<MyPlugins>;
203
+ * // CrudOptions might include { enableValidation?: boolean; auditLevel?: string; }
204
+ * ```
205
+ */
206
+ export type ExtractCrudOptionsFromServicePluginArray<ServicePluginArrayType extends readonly ServicePlugin<any, any, any, any, any, any, any, any, any, any>[]> = UnionToIntersection<ServicePluginArrayType[number] extends ServicePlugin<any, any, any, any, any, any, any, infer TOptions, any, any> ? TOptions : never>;
207
+ /**
208
+ * Utility type that extracts and merges both data and CRUD options from an array of service plugins.
209
+ * This provides a complete view of all configuration options that will be available
210
+ * when using a specific set of plugins.
211
+ *
212
+ * @template ServicePluginArrayType - An array of service plugins
213
+ * @returns Combined type of all data and CRUD options from the plugins
214
+ *
215
+ * @example
216
+ * ```typescript
217
+ * type MyPlugins = [CachingPlugin, ValidationPlugin, AuditPlugin];
218
+ * type AllOptions = ExtractOptionsFromServicePluginArray<MyPlugins>;
219
+ * // AllOptions will include all configuration options from all plugins
220
+ * ```
221
+ */
222
+ export type ExtractOptionsFromServicePluginArray<ServicePluginArrayType extends readonly ServicePlugin<any, any, any, any, any, any, any, any, any, any>[]> = ExtractDataOptionsFromServicePluginArray<ServicePluginArrayType> & ExtractCrudOptionsFromServicePluginArray<ServicePluginArrayType>;
223
+ //# sourceMappingURL=service-plugins.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-plugins.interface.d.ts","sourceRoot":"","sources":["../../../src/interfaces/structures/service-plugins.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,WAAW,aAAa,CAC5B,MAAM,SAAS,UAAU,CAAC,UAAU,CAAC,EACrC,UAAU,SAAS,MAAM,CAAC,OAAO,CAAC,EAClC,eAAe,SAAS,WAAW,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,EACzE,eAAe,SAAS,WAAW,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,EACzE,YAAY,SAAS,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,EAChE,WAAW,SAAS,OAAO,GAAG,OAAO,EACrC,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAC7C,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAC7C,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAC5C,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE;IAE5C;;;;;;;;;;;;;;;OAeG;IACH,yBAAyB,CAAC,CACxB,SAAS,EAAE,oBAAoB,CAC7B,MAAM,EACN,UAAU,EACV,YAAY,EACZ,WAAW,CACZ,GACC,YAAY,GACb,IAAI,CAAC;IAER;;;;;;;;;;;;;;;OAeG;IACH,yBAAyB,CAAC,CACxB,SAAS,EAAE,oBAAoB,CAC7B,MAAM,EACN,UAAU,EACV,eAAe,EACf,eAAe,EACf,YAAY,EACZ,WAAW,CACZ,GACC,YAAY,GACZ,YAAY,GACb,IAAI,CAAC;IAER;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,qBAAqB,CAAC,CACpB,YAAY,EAAE,aAAa,CACzB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,CAC3D,EACD,SAAS,EAAE,oBAAoB,CAC7B,MAAM,EACN,UAAU,EACV,YAAY,EACZ,WAAW,CACZ,GACC,YAAY,GACb,IAAI,CACL,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,GAAG,WAAW,CACzE,CAAC;IAEF;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,qBAAqB,CAAC,CACpB,YAAY,EAAE,aAAa,CACzB,WAAW,CACT,MAAM,EACN,UAAU,EACV,eAAe,EACf,eAAe,EACf,YAAY,EACZ,WAAW,CACZ,GACC,WAAW,CACd,EACD,SAAS,EAAE,oBAAoB,CAC7B,MAAM,EACN,UAAU,EACV,eAAe,EACf,eAAe,EACf,YAAY,EACZ,WAAW,CACZ,GACC,YAAY,GACZ,YAAY,GACb,IAAI,CACL,WAAW,CACT,MAAM,EACN,UAAU,EACV,eAAe,EACf,eAAe,EACf,YAAY,EACZ,WAAW,CACZ,GACC,WAAW,GACX,WAAW,CACd,CAAC;CACH;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,uCAAuC,CACjD,sBAAsB,SAAS,SAAS,aAAa,CACnD,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ,EAAE,IACD,mBAAmB,CACrB,sBAAsB,CAAC,MAAM,CAAC,SAAS,aAAa,CAClD,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,OAAO,EACb,GAAG,CACJ,GACG,OAAO,GACP,KAAK,CACV,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,uCAAuC,CACjD,sBAAsB,SAAS,SAAS,aAAa,CACnD,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ,EAAE,IACD,mBAAmB,CACrB,sBAAsB,CAAC,MAAM,CAAC,SAAS,aAAa,CAClD,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,OAAO,CACd,GACG,OAAO,GACP,KAAK,CACV,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,mCAAmC,CAC7C,sBAAsB,SAAS,SAAS,aAAa,CACnD,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ,EAAE,IACD,uCAAuC,CAAC,sBAAsB,CAAC,GACjE,uCAAuC,CAAC,sBAAsB,CAAC,CAAC;AAElE;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,wCAAwC,CAClD,sBAAsB,SAAS,SAAS,aAAa,CACnD,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ,EAAE,IACD,mBAAmB,CACrB,sBAAsB,CAAC,MAAM,CAAC,SAAS,aAAa,CAClD,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,QAAQ,EACd,GAAG,EACH,GAAG,EACH,GAAG,CACJ,GACG,QAAQ,GACR,KAAK,CACV,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,wCAAwC,CAClD,sBAAsB,SAAS,SAAS,aAAa,CACnD,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ,EAAE,IACD,mBAAmB,CACrB,sBAAsB,CAAC,MAAM,CAAC,SAAS,aAAa,CAClD,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,QAAQ,EACd,GAAG,EACH,GAAG,CACJ,GACG,QAAQ,GACR,KAAK,CACV,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,oCAAoC,CAC9C,sBAAsB,SAAS,SAAS,aAAa,CACnD,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ,EAAE,IACD,wCAAwC,CAAC,sBAAsB,CAAC,GAClE,wCAAwC,CAAC,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=service-plugins.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-plugins.interface.js","sourceRoot":"","sources":["../../../src/interfaces/structures/service-plugins.interface.ts"],"names":[],"mappings":""}
@@ -2,4 +2,6 @@ export * from './constructor.type';
2
2
  export * from './boolean.type';
3
3
  export * from './deep-partial.type';
4
4
  export * from './find-args.type';
5
+ export * from './prettify.type';
6
+ export * from './union-to-intersection.type';
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC"}
@@ -18,4 +18,6 @@ __exportStar(require("./constructor.type"), exports);
18
18
  __exportStar(require("./boolean.type"), exports);
19
19
  __exportStar(require("./deep-partial.type"), exports);
20
20
  __exportStar(require("./find-args.type"), exports);
21
+ __exportStar(require("./prettify.type"), exports);
22
+ __exportStar(require("./union-to-intersection.type"), exports);
21
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,iDAA+B;AAC/B,sDAAoC;AACpC,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,iDAA+B;AAC/B,sDAAoC;AACpC,mDAAiC;AACjC,kDAAgC;AAChC,+DAA6C"}
@@ -0,0 +1,4 @@
1
+ export type Prettify<T> = {
2
+ [K in keyof T]: T[K];
3
+ } & {};
4
+ //# sourceMappingURL=prettify.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prettify.type.d.ts","sourceRoot":"","sources":["../../src/types/prettify.type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=prettify.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prettify.type.js","sourceRoot":"","sources":["../../src/types/prettify.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
2
+ //# sourceMappingURL=union-to-intersection.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"union-to-intersection.type.d.ts","sourceRoot":"","sources":["../../src/types/union-to-intersection.type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CACnC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CACvC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GAC1B,CAAC,GACD,KAAK,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=union-to-intersection.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"union-to-intersection.type.js","sourceRoot":"","sources":["../../src/types/union-to-intersection.type.ts"],"names":[],"mappings":""}
@@ -1,3 +1,4 @@
1
1
  export * from './decorators.utils';
2
2
  export * from './http-status.utils';
3
+ export * from './objects.utils';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./decorators.utils"), exports);
18
18
  __exportStar(require("./http-status.utils"), exports);
19
+ __exportStar(require("./objects.utils"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,sDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,sDAAoC;AACpC,kDAAgC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Removes properties with `null` or `undefined` values from each object in the provided array.
3
+ *
4
+ * @param array - An array of objects to process.
5
+ * @returns A new array of objects with all `null` or `undefined` properties removed.
6
+ */
7
+ declare function removeNullish(array: any): any;
8
+ //# sourceMappingURL=object.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.utils.d.ts","sourceRoot":"","sources":["../../src/utils/object.utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,iBAAS,aAAa,CAAC,KAAK,KAAA,OAM3B"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * Removes properties with `null` or `undefined` values from each object in the provided array.
4
+ *
5
+ * @param array - An array of objects to process.
6
+ * @returns A new array of objects with all `null` or `undefined` properties removed.
7
+ */
8
+ function removeNullish(array) {
9
+ return array.map(obj => Object.fromEntries(Object.entries(obj).filter(([key, value]) => value != null)));
10
+ }
11
+ //# sourceMappingURL=object.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.utils.js","sourceRoot":"","sources":["../../src/utils/object.utils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;AACH,SAAS,aAAa,CAAC,KAAK;IAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CACrB,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAC5D,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Removes properties with `null` or `undefined` values from each object in the provided array.
3
+ *
4
+ * @param array - An array of objects to process.
5
+ * @returns A new array of objects with all `null` or `undefined` properties removed.
6
+ */
7
+ export declare function removeNullish(array: any): any;
8
+ //# sourceMappingURL=objects.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objects.utils.d.ts","sourceRoot":"","sources":["../../src/utils/objects.utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,KAAA,OAMlC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeNullish = removeNullish;
4
+ /**
5
+ * Removes properties with `null` or `undefined` values from each object in the provided array.
6
+ *
7
+ * @param array - An array of objects to process.
8
+ * @returns A new array of objects with all `null` or `undefined` properties removed.
9
+ */
10
+ function removeNullish(array) {
11
+ return array.map(obj => Object.fromEntries(Object.entries(obj).filter(([key, value]) => value != null)));
12
+ }
13
+ //# sourceMappingURL=objects.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objects.utils.js","sourceRoot":"","sources":["../../src/utils/objects.utils.ts"],"names":[],"mappings":";;AAMA,sCAMC;AAZD;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,KAAK;IACjC,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CACrB,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAC5D,CACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solid-nestjs/common",
3
- "version": "0.2.3",
3
+ "version": "0.2.6",
4
4
  "description": "solid-nestjs common utilities",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -42,5 +42,5 @@
42
42
  "tsconfig.json": "^1.0.11",
43
43
  "typescript": "^5.8.3"
44
44
  },
45
- "gitHead": "20ad3e6d42ff78d0562b4da0971cd8c1e08d2e7d"
45
+ "gitHead": "529b07675273503db46ac19a0ffeb32eb6fb2c85"
46
46
  }