@solid-nestjs/common 0.2.6 → 0.2.9
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/dist/adapters/index.d.ts +7 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +23 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/validation.adapter.d.ts +20 -0
- package/dist/adapters/validation.adapter.d.ts.map +1 -0
- package/dist/adapters/validation.adapter.js +309 -0
- package/dist/adapters/validation.adapter.js.map +1 -0
- package/dist/decorator-registry/decorator-registry.d.ts +54 -0
- package/dist/decorator-registry/decorator-registry.d.ts.map +1 -0
- package/dist/decorator-registry/decorator-registry.js +161 -0
- package/dist/decorator-registry/decorator-registry.js.map +1 -0
- package/dist/decorator-registry/index.d.ts +2 -0
- package/dist/decorator-registry/index.d.ts.map +1 -0
- package/dist/decorator-registry/index.js +18 -0
- package/dist/decorator-registry/index.js.map +1 -0
- package/dist/decorators/index.d.ts +6 -0
- package/dist/decorators/index.d.ts.map +1 -1
- package/dist/decorators/index.js +6 -0
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/solid-entity.decorator.d.ts +6 -0
- package/dist/decorators/solid-entity.decorator.d.ts.map +1 -0
- package/dist/decorators/solid-entity.decorator.js +23 -0
- package/dist/decorators/solid-entity.decorator.js.map +1 -0
- package/dist/decorators/solid-field.decorator.d.ts +7 -0
- package/dist/decorators/solid-field.decorator.d.ts.map +1 -0
- package/dist/decorators/solid-field.decorator.js +51 -0
- package/dist/decorators/solid-field.decorator.js.map +1 -0
- package/dist/decorators/solid-id.decorator.d.ts +9 -0
- package/dist/decorators/solid-id.decorator.d.ts.map +1 -0
- package/dist/decorators/solid-id.decorator.js +27 -0
- package/dist/decorators/solid-id.decorator.js.map +1 -0
- package/dist/decorators/solid-input.decorator.d.ts +6 -0
- package/dist/decorators/solid-input.decorator.d.ts.map +1 -0
- package/dist/decorators/solid-input.decorator.js +35 -0
- package/dist/decorators/solid-input.decorator.js.map +1 -0
- package/dist/decorators/solid-relation.decorator.d.ts +19 -0
- package/dist/decorators/solid-relation.decorator.d.ts.map +1 -0
- package/dist/decorators/solid-relation.decorator.js +66 -0
- package/dist/decorators/solid-relation.decorator.js.map +1 -0
- package/dist/decorators/solid-timestamp.decorator.d.ts +13 -0
- package/dist/decorators/solid-timestamp.decorator.d.ts.map +1 -0
- package/dist/decorators/solid-timestamp.decorator.js +49 -0
- package/dist/decorators/solid-timestamp.decorator.js.map +1 -0
- package/dist/enums/aggregate-function.enum.d.ts +42 -0
- package/dist/enums/aggregate-function.enum.d.ts.map +1 -0
- package/dist/enums/aggregate-function.enum.js +46 -0
- package/dist/enums/aggregate-function.enum.js.map +1 -0
- package/dist/enums/index.d.ts +1 -0
- package/dist/enums/index.d.ts.map +1 -1
- package/dist/enums/index.js +1 -0
- package/dist/enums/index.js.map +1 -1
- package/dist/helpers/args-helpers/class-generator.helper.d.ts +143 -0
- package/dist/helpers/args-helpers/class-generator.helper.d.ts.map +1 -0
- package/dist/helpers/args-helpers/class-generator.helper.js +221 -0
- package/dist/helpers/args-helpers/class-generator.helper.js.map +1 -0
- package/dist/helpers/args-helpers/create-groupby-request.helper.d.ts +83 -0
- package/dist/helpers/args-helpers/create-groupby-request.helper.d.ts.map +1 -0
- package/dist/helpers/args-helpers/create-groupby-request.helper.js +119 -0
- package/dist/helpers/args-helpers/create-groupby-request.helper.js.map +1 -0
- package/dist/helpers/args-helpers/decorator-builder.helper.d.ts +160 -0
- package/dist/helpers/args-helpers/decorator-builder.helper.d.ts.map +1 -0
- package/dist/helpers/args-helpers/decorator-builder.helper.js +161 -0
- package/dist/helpers/args-helpers/decorator-builder.helper.js.map +1 -0
- package/dist/helpers/args-helpers/field-config.helper.d.ts +98 -0
- package/dist/helpers/args-helpers/field-config.helper.d.ts.map +1 -0
- package/dist/helpers/args-helpers/field-config.helper.js +143 -0
- package/dist/helpers/args-helpers/field-config.helper.js.map +1 -0
- package/dist/helpers/args-helpers/groupby-args-from.helper.d.ts +87 -0
- package/dist/helpers/args-helpers/groupby-args-from.helper.d.ts.map +1 -0
- package/dist/helpers/args-helpers/groupby-args-from.helper.js +185 -0
- package/dist/helpers/args-helpers/groupby-args-from.helper.js.map +1 -0
- package/dist/helpers/args-helpers/index.d.ts +15 -0
- package/dist/helpers/args-helpers/index.d.ts.map +1 -0
- package/dist/helpers/args-helpers/index.js +58 -0
- package/dist/helpers/args-helpers/index.js.map +1 -0
- package/dist/helpers/args-helpers/type-inference.helper.d.ts +191 -0
- package/dist/helpers/args-helpers/type-inference.helper.d.ts.map +1 -0
- package/dist/helpers/args-helpers/type-inference.helper.js +330 -0
- package/dist/helpers/args-helpers/type-inference.helper.js.map +1 -0
- package/dist/helpers/class-generation/dynamic-class.helper.d.ts +101 -0
- package/dist/helpers/class-generation/dynamic-class.helper.d.ts.map +1 -0
- package/dist/helpers/class-generation/dynamic-class.helper.js +180 -0
- package/dist/helpers/class-generation/dynamic-class.helper.js.map +1 -0
- package/dist/helpers/class-generation/index.d.ts +9 -0
- package/dist/helpers/class-generation/index.d.ts.map +1 -0
- package/dist/helpers/class-generation/index.js +18 -0
- package/dist/helpers/class-generation/index.js.map +1 -0
- package/dist/helpers/decorators/decorator-utils.helper.d.ts +75 -0
- package/dist/helpers/decorators/decorator-utils.helper.d.ts.map +1 -0
- package/dist/helpers/decorators/decorator-utils.helper.js +92 -0
- package/dist/helpers/decorators/decorator-utils.helper.js.map +1 -0
- package/dist/helpers/decorators/index.d.ts +9 -0
- package/dist/helpers/decorators/index.d.ts.map +1 -0
- package/dist/helpers/decorators/index.js +16 -0
- package/dist/helpers/decorators/index.js.map +1 -0
- package/dist/helpers/dto-generator-base.helper.d.ts +19 -0
- package/dist/helpers/dto-generator-base.helper.d.ts.map +1 -0
- package/dist/helpers/dto-generator-base.helper.js +72 -0
- package/dist/helpers/dto-generator-base.helper.js.map +1 -0
- package/dist/helpers/index.d.ts +9 -0
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/index.js +9 -0
- package/dist/helpers/index.js.map +1 -1
- package/dist/helpers/metadata-extractor.helper.d.ts +26 -0
- package/dist/helpers/metadata-extractor.helper.d.ts.map +1 -0
- package/dist/helpers/metadata-extractor.helper.js +67 -0
- package/dist/helpers/metadata-extractor.helper.js.map +1 -0
- package/dist/helpers/package-detector.helper.d.ts +33 -0
- package/dist/helpers/package-detector.helper.d.ts.map +1 -0
- package/dist/helpers/package-detector.helper.js +82 -0
- package/dist/helpers/package-detector.helper.js.map +1 -0
- package/dist/helpers/property-filter.helper.d.ts +15 -0
- package/dist/helpers/property-filter.helper.d.ts.map +1 -0
- package/dist/helpers/property-filter.helper.js +44 -0
- package/dist/helpers/property-filter.helper.js.map +1 -0
- package/dist/helpers/type-inference.helper.d.ts +76 -0
- package/dist/helpers/type-inference.helper.d.ts.map +1 -0
- package/dist/helpers/type-inference.helper.js +205 -0
- package/dist/helpers/type-inference.helper.js.map +1 -0
- package/dist/helpers/validation-inference.helper.d.ts +18 -0
- package/dist/helpers/validation-inference.helper.d.ts.map +1 -0
- package/dist/helpers/validation-inference.helper.js +100 -0
- package/dist/helpers/validation-inference.helper.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/adapters/decorator-adapter.interface.d.ts +8 -0
- package/dist/interfaces/adapters/decorator-adapter.interface.d.ts.map +1 -0
- package/dist/interfaces/adapters/decorator-adapter.interface.js +3 -0
- package/dist/interfaces/adapters/decorator-adapter.interface.js.map +1 -0
- package/dist/interfaces/decorators/solid-field-options.interface.d.ts +55 -0
- package/dist/interfaces/decorators/solid-field-options.interface.d.ts.map +1 -0
- package/dist/interfaces/decorators/solid-field-options.interface.js +3 -0
- package/dist/interfaces/decorators/solid-field-options.interface.js.map +1 -0
- package/dist/interfaces/index.d.ts +5 -0
- package/dist/interfaces/index.d.ts.map +1 -1
- package/dist/interfaces/index.js +5 -0
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/inputs/filters.interfaces.d.ts +36 -0
- package/dist/interfaces/inputs/filters.interfaces.d.ts.map +1 -0
- package/dist/interfaces/inputs/filters.interfaces.js +3 -0
- package/dist/interfaces/inputs/filters.interfaces.js.map +1 -0
- package/dist/interfaces/inputs/find-args.interface.d.ts +8 -0
- package/dist/interfaces/inputs/find-args.interface.d.ts.map +1 -0
- package/dist/interfaces/inputs/find-args.interface.js +3 -0
- package/dist/interfaces/inputs/find-args.interface.js.map +1 -0
- package/dist/interfaces/inputs/group-by-args.interface.d.ts +33 -0
- package/dist/interfaces/inputs/group-by-args.interface.d.ts.map +1 -0
- package/dist/interfaces/inputs/group-by-args.interface.js +3 -0
- package/dist/interfaces/inputs/group-by-args.interface.js.map +1 -0
- package/dist/interfaces/inputs/group-by-request.interface.d.ts +63 -0
- package/dist/interfaces/inputs/group-by-request.interface.d.ts.map +1 -0
- package/dist/interfaces/inputs/group-by-request.interface.js +3 -0
- package/dist/interfaces/inputs/group-by-request.interface.js.map +1 -0
- package/dist/interfaces/inputs/index.d.ts +6 -0
- package/dist/interfaces/inputs/index.d.ts.map +1 -0
- package/dist/interfaces/inputs/index.js +22 -0
- package/dist/interfaces/inputs/index.js.map +1 -0
- package/dist/interfaces/inputs/pagination-request.interface.d.ts +7 -0
- package/dist/interfaces/inputs/pagination-request.interface.d.ts.map +1 -0
- package/dist/interfaces/inputs/pagination-request.interface.js +3 -0
- package/dist/interfaces/inputs/pagination-request.interface.js.map +1 -0
- package/dist/interfaces/metadata/field-metadata.interface.d.ts +29 -0
- package/dist/interfaces/metadata/field-metadata.interface.d.ts.map +1 -0
- package/dist/interfaces/metadata/field-metadata.interface.js +3 -0
- package/dist/interfaces/metadata/field-metadata.interface.js.map +1 -0
- package/dist/interfaces/misc/group-by-args.interface.d.ts +33 -0
- package/dist/interfaces/misc/group-by-args.interface.d.ts.map +1 -0
- package/dist/interfaces/misc/group-by-args.interface.js +3 -0
- package/dist/interfaces/misc/group-by-args.interface.js.map +1 -0
- package/dist/interfaces/misc/group-by-request.interface.d.ts +63 -0
- package/dist/interfaces/misc/group-by-request.interface.d.ts.map +1 -0
- package/dist/interfaces/misc/group-by-request.interface.js +3 -0
- package/dist/interfaces/misc/group-by-request.interface.js.map +1 -0
- package/dist/interfaces/misc/group-by-response.interface.d.ts +59 -0
- package/dist/interfaces/misc/group-by-response.interface.d.ts.map +1 -0
- package/dist/interfaces/misc/group-by-response.interface.js +3 -0
- package/dist/interfaces/misc/group-by-response.interface.js.map +1 -0
- package/dist/interfaces/misc/group-by.interface.d.ts +145 -0
- package/dist/interfaces/misc/group-by.interface.d.ts.map +1 -0
- package/dist/interfaces/misc/group-by.interface.js +3 -0
- package/dist/interfaces/misc/group-by.interface.js.map +1 -0
- package/dist/interfaces/misc/index.d.ts +0 -4
- package/dist/interfaces/misc/index.d.ts.map +1 -1
- package/dist/interfaces/misc/index.js +0 -4
- package/dist/interfaces/misc/index.js.map +1 -1
- package/dist/interfaces/outputs/group-by-response.interface.d.ts +59 -0
- package/dist/interfaces/outputs/group-by-response.interface.d.ts.map +1 -0
- package/dist/interfaces/outputs/group-by-response.interface.js +3 -0
- package/dist/interfaces/outputs/group-by-response.interface.js.map +1 -0
- package/dist/interfaces/outputs/index.d.ts +3 -0
- package/dist/interfaces/outputs/index.d.ts.map +1 -0
- package/dist/interfaces/outputs/index.js +19 -0
- package/dist/interfaces/outputs/index.js.map +1 -0
- package/dist/interfaces/outputs/pagination-result.interface.d.ts +10 -0
- package/dist/interfaces/outputs/pagination-result.interface.d.ts.map +1 -0
- package/dist/interfaces/outputs/pagination-result.interface.js +3 -0
- package/dist/interfaces/outputs/pagination-result.interface.js.map +1 -0
- package/dist/interfaces/services/crud-service.interface.d.ts +2 -1
- package/dist/interfaces/services/crud-service.interface.d.ts.map +1 -1
- package/dist/interfaces/services/crud-service.interface.js.map +1 -1
- package/dist/interfaces/services/data-service.interface.d.ts +3 -1
- package/dist/interfaces/services/data-service.interface.d.ts.map +1 -1
- package/dist/interfaces/structures/common-services.index.d.ts +1 -0
- package/dist/interfaces/structures/common-services.index.d.ts.map +1 -0
- package/dist/interfaces/structures/common-services.index.js +2 -0
- package/dist/interfaces/structures/common-services.index.js.map +1 -0
- package/dist/interfaces/structures/crud-service-structure.interface.d.ts +2 -1
- package/dist/interfaces/structures/crud-service-structure.interface.d.ts.map +1 -1
- package/dist/interfaces/structures/data-service-structure.interface.d.ts +2 -1
- package/dist/interfaces/structures/data-service-structure.interface.d.ts.map +1 -1
- package/dist/interfaces/structures/entity-provider-structure.interface.d.ts +2 -1
- package/dist/interfaces/structures/entity-provider-structure.interface.d.ts.map +1 -1
- package/dist/interfaces/structures/entity-provider-structure.interface.js.map +1 -1
- package/dist/interfaces/structures/service-plugins.interface.d.ts +2 -1
- package/dist/interfaces/structures/service-plugins.interface.d.ts.map +1 -1
- package/dist/metadata/index.d.ts +2 -0
- package/dist/metadata/index.d.ts.map +1 -0
- package/dist/metadata/index.js +18 -0
- package/dist/metadata/index.js.map +1 -0
- package/dist/metadata/metadata-storage.d.ts +54 -0
- package/dist/metadata/metadata-storage.d.ts.map +1 -0
- package/dist/metadata/metadata-storage.js +106 -0
- package/dist/metadata/metadata-storage.js.map +1 -0
- package/dist/registry/index.d.ts +2 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +18 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/registry/relation-adapter-registry.d.ts +11 -0
- package/dist/registry/relation-adapter-registry.d.ts.map +1 -0
- package/dist/registry/relation-adapter-registry.js +30 -0
- package/dist/registry/relation-adapter-registry.js.map +1 -0
- package/dist/types/dto-generation.types.d.ts +46 -0
- package/dist/types/dto-generation.types.d.ts.map +1 -0
- package/dist/types/dto-generation.types.js +6 -0
- package/dist/types/dto-generation.types.js.map +1 -0
- package/dist/types/find-args.type.d.ts +9 -7
- package/dist/types/find-args.type.d.ts.map +1 -1
- package/dist/types/group-by.type.d.ts +41 -0
- package/dist/types/group-by.type.d.ts.map +1 -0
- package/dist/types/group-by.type.js +3 -0
- package/dist/types/group-by.type.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/utils/object.utils.d.ts +0 -8
- package/dist/utils/object.utils.d.ts.map +0 -1
- package/dist/utils/object.utils.js +0 -11
- package/dist/utils/object.utils.js.map +0 -1
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type utilities for DTO generation with better TypeScript inference
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Primitive types that are safe to include in DTOs
|
|
6
|
+
*/
|
|
7
|
+
export type PrimitiveTypes = string | number | boolean | Date;
|
|
8
|
+
/**
|
|
9
|
+
* Check if a type is primitive (flat type safe for DTOs)
|
|
10
|
+
*/
|
|
11
|
+
export type IsPrimitive<T> = T extends PrimitiveTypes ? true : false;
|
|
12
|
+
/**
|
|
13
|
+
* Extract only primitive properties from an entity type
|
|
14
|
+
*/
|
|
15
|
+
export type PrimitivePropertiesOf<T> = {
|
|
16
|
+
[K in keyof T]: IsPrimitive<T[K]> extends true ? T[K] : never;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Get only the keys of primitive properties
|
|
20
|
+
*/
|
|
21
|
+
export type PrimitiveKeysOf<T> = {
|
|
22
|
+
[K in keyof T]: IsPrimitive<T[K]> extends true ? K : never;
|
|
23
|
+
}[keyof T];
|
|
24
|
+
/**
|
|
25
|
+
* Pick only primitive properties from an entity
|
|
26
|
+
*/
|
|
27
|
+
export type PickPrimitive<T> = Pick<T, PrimitiveKeysOf<T>>;
|
|
28
|
+
/**
|
|
29
|
+
* For array format: Pick only the specified keys that are also primitive
|
|
30
|
+
*/
|
|
31
|
+
export type PickSelectedKeys<T, K extends keyof T> = Pick<T, K & PrimitiveKeysOf<T>>;
|
|
32
|
+
/**
|
|
33
|
+
* For object format: Pick keys based on boolean configuration, but only primitive ones
|
|
34
|
+
*/
|
|
35
|
+
export type PickByConfig<T, Config extends Partial<Record<keyof T, boolean>>> = Pick<T, {
|
|
36
|
+
[K in keyof Config]: Config[K] extends true ? K extends PrimitiveKeysOf<T> ? K : never : never;
|
|
37
|
+
}[keyof Config]>;
|
|
38
|
+
/**
|
|
39
|
+
* Property inclusion configuration type
|
|
40
|
+
*/
|
|
41
|
+
export type PropertyInclusionConfig<TEntity> = Partial<Record<keyof TEntity, boolean>>;
|
|
42
|
+
/**
|
|
43
|
+
* Infer the correct return type based on the properties/config parameter
|
|
44
|
+
*/
|
|
45
|
+
export type InferDtoType<TEntity, TPropertiesOrConfig extends (keyof TEntity)[] | PropertyInclusionConfig<TEntity> | undefined> = TPropertiesOrConfig extends (keyof TEntity)[] ? PickSelectedKeys<TEntity, TPropertiesOrConfig[number]> : TPropertiesOrConfig extends PropertyInclusionConfig<TEntity> ? PickByConfig<TEntity, TPropertiesOrConfig> : PickPrimitive<TEntity>;
|
|
46
|
+
//# sourceMappingURL=dto-generation.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dto-generation.types.d.ts","sourceRoot":"","sources":["../../src/types/dto-generation.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,cAAc,GAAG,IAAI,GAAG,KAAK,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI;KACpC,CAAC,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAC9D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;KAC9B,CAAC,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK;CAC3D,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAErF;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,MAAM,SAAS,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,IAAI,CAClF,CAAC,EACD;KACG,CAAC,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,GACvC,CAAC,SAAS,eAAe,CAAC,CAAC,CAAC,GAC1B,CAAC,GACD,KAAK,GACP,KAAK;CACV,CAAC,MAAM,MAAM,CAAC,CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAEvF;;GAEG;AACH,MAAM,MAAM,YAAY,CACtB,OAAO,EACP,mBAAmB,SAAS,CAAC,MAAM,OAAO,CAAC,EAAE,GAAG,uBAAuB,CAAC,OAAO,CAAC,GAAG,SAAS,IAC1F,mBAAmB,SAAS,CAAC,MAAM,OAAO,CAAC,EAAE,GAC7C,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,GACtD,mBAAmB,SAAS,uBAAuB,CAAC,OAAO,CAAC,GAC5D,YAAY,CAAC,OAAO,EAAE,mBAAmB,CAAC,GAC1C,aAAa,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dto-generation.types.js","sourceRoot":"","sources":["../../src/types/dto-generation.types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OrderByTypes } from '../enums';
|
|
2
|
-
import { StringFilter, NumberFilter, DateFilter } from './../interfaces/
|
|
2
|
+
import { StringFilter, NumberFilter, DateFilter } from './../interfaces/inputs/filters.interfaces';
|
|
3
3
|
/**
|
|
4
4
|
* Represents a flexible filter type for a given field type `T` in query operations.
|
|
5
5
|
*
|
|
@@ -7,13 +7,14 @@ import { StringFilter, NumberFilter, DateFilter } from './../interfaces/misc/fil
|
|
|
7
7
|
* - For `number` fields, allows a number, an array of numbers, or a `NumberFilter` object.
|
|
8
8
|
* - For `Date` fields, allows a `Date`, an array of `Date`s, or a `DateFilter` object.
|
|
9
9
|
* - For `boolean` fields, allows a boolean value.
|
|
10
|
+
* - For array fields (e.g., `InvoiceDetail[]`), extracts the element type and applies `Where<ElementType>`.
|
|
10
11
|
* - For all other types, recursively applies the `Where<T>` type.
|
|
11
12
|
*
|
|
12
13
|
* This utility type is typically used to define the shape of "where" filter arguments in query builders or ORM-like APIs.
|
|
13
14
|
*
|
|
14
15
|
* @template T - The type of the field to generate a filter for.
|
|
15
16
|
*/
|
|
16
|
-
type WhereField<T> = T extends string ? string | string[] | StringFilter : T extends number ? number | number[] | NumberFilter : T extends Date ? Date | Date[] | DateFilter : T extends boolean ? boolean : Where<T>;
|
|
17
|
+
type WhereField<T> = T extends string ? string | string[] | StringFilter : T extends number ? number | number[] | NumberFilter : T extends Date ? Date | Date[] | DateFilter : T extends boolean ? boolean : T extends (infer U)[] ? Where<U> : Where<T>;
|
|
17
18
|
/**
|
|
18
19
|
* Represents a flexible filter type for querying objects of type `T`.
|
|
19
20
|
*
|
|
@@ -34,15 +35,16 @@ export type Where<T> = {
|
|
|
34
35
|
/**
|
|
35
36
|
* Infers the appropriate ordering type for a given field type `T`.
|
|
36
37
|
*
|
|
37
|
-
* - If `T` is a `string`, the type is `
|
|
38
|
-
* - If `T` is a `number`, the type is `
|
|
39
|
-
* - If `T` is a `Date`, the type is `
|
|
40
|
-
* - If `T` is a `boolean`, the type is `
|
|
38
|
+
* - If `T` is a `string`, the type is `OrderByTypes`.
|
|
39
|
+
* - If `T` is a `number`, the type is `OrderByTypes`.
|
|
40
|
+
* - If `T` is a `Date`, the type is `OrderByTypes`.
|
|
41
|
+
* - If `T` is a `boolean`, the type is `OrderByTypes`.
|
|
42
|
+
* - For array fields (e.g., `InvoiceDetail[]`), extracts the element type and applies `OrderBy<ElementType>`.
|
|
41
43
|
* - Otherwise, falls back to `OrderBy<T>`, allowing for nested ordering.
|
|
42
44
|
*
|
|
43
45
|
* @template T - The type of the field to determine the order-by type for.
|
|
44
46
|
*/
|
|
45
|
-
type OrderByField<T> = T extends string ? OrderByTypes : T extends number ? OrderByTypes : T extends Date ? OrderByTypes : T extends boolean ? OrderByTypes : OrderBy<T>;
|
|
47
|
+
type OrderByField<T> = T extends string ? OrderByTypes : T extends number ? OrderByTypes : T extends Date ? OrderByTypes : T extends boolean ? OrderByTypes : T extends (infer U)[] ? OrderBy<U> : OrderBy<T>;
|
|
46
48
|
/**
|
|
47
49
|
* Represents an object for specifying sorting order for each property of type `T`.
|
|
48
50
|
* Each key of `T` can be optionally assigned an `OrderByField` value to indicate the sort direction.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-args.type.d.ts","sourceRoot":"","sources":["../../src/types/find-args.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,UAAU,EACX,MAAM,
|
|
1
|
+
{"version":3,"file":"find-args.type.d.ts","sourceRoot":"","sources":["../../src/types/find-args.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,UAAU,EACX,MAAM,2CAA2C,CAAC;AAEnD;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACjC,MAAM,GAAG,MAAM,EAAE,GAAG,YAAY,GAChC,CAAC,SAAS,MAAM,GACd,MAAM,GAAG,MAAM,EAAE,GAAG,YAAY,GAChC,CAAC,SAAS,IAAI,GACZ,IAAI,GAAG,IAAI,EAAE,GAAG,UAAU,GAC1B,CAAC,SAAS,OAAO,GACf,OAAO,GACP,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACnB,KAAK,CAAC,CAAC,CAAC,GACR,KAAK,CAAC,CAAC,CAAC,CAAC;AAErB;;;;;;;;;;GAUG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;KACpB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC,GAAG;IACF,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7B,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;CAC7B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACnC,YAAY,GACZ,CAAC,SAAS,MAAM,GACd,YAAY,GACZ,CAAC,SAAS,IAAI,GACZ,YAAY,GACZ,CAAC,SAAS,OAAO,GACf,YAAY,GACZ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACnB,OAAO,CAAC,CAAC,CAAC,GACV,OAAO,CAAC,CAAC,CAAC,CAAC;AAEvB;;;;;GAKG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;KACtB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACpC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Infers the appropriate grouping type for a given field type `T`.
|
|
3
|
+
*
|
|
4
|
+
* - If `T` is a `string`, the type is `boolean` (can be grouped).
|
|
5
|
+
* - If `T` is a `number`, the type is `boolean` (can be grouped).
|
|
6
|
+
* - If `T` is a `Date`, the type is `boolean` (can be grouped).
|
|
7
|
+
* - If `T` is a `boolean`, the type is `boolean` (can be grouped).
|
|
8
|
+
* - For array fields (e.g., `InvoiceDetail[]`), extracts the element type and applies `GroupBy<ElementType>`.
|
|
9
|
+
* - Otherwise, falls back to `GroupBy<T>`, allowing for nested grouping.
|
|
10
|
+
*
|
|
11
|
+
* @template T - The type of the field to determine the group-by type for.
|
|
12
|
+
*/
|
|
13
|
+
type GroupByField<T> = T extends string ? boolean : T extends number ? boolean : T extends Date ? boolean : T extends boolean ? boolean : T extends (infer U)[] ? GroupBy<U> : GroupBy<T>;
|
|
14
|
+
/**
|
|
15
|
+
* Represents an object for specifying grouping fields for each property of type `T`.
|
|
16
|
+
* Each key of `T` can be optionally assigned a `GroupByField` value to indicate if it should be grouped.
|
|
17
|
+
*
|
|
18
|
+
* @template T - The type whose properties can be used for grouping.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* interface Product {
|
|
23
|
+
* id: number;
|
|
24
|
+
* name: string;
|
|
25
|
+
* category: string;
|
|
26
|
+
* supplier: Supplier;
|
|
27
|
+
* }
|
|
28
|
+
*
|
|
29
|
+
* const groupBy: GroupBy<Product> = {
|
|
30
|
+
* category: true,
|
|
31
|
+
* supplier: {
|
|
32
|
+
* name: true
|
|
33
|
+
* }
|
|
34
|
+
* };
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export type GroupBy<T> = {
|
|
38
|
+
[K in keyof T]?: GroupByField<T[K]>;
|
|
39
|
+
};
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=group-by.type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-by.type.d.ts","sourceRoot":"","sources":["../../src/types/group-by.type.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACnC,OAAO,GACP,CAAC,SAAS,MAAM,GACd,OAAO,GACP,CAAC,SAAS,IAAI,GACZ,OAAO,GACP,CAAC,SAAS,OAAO,GACf,OAAO,GACP,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACnB,OAAO,CAAC,CAAC,CAAC,GACV,OAAO,CAAC,CAAC,CAAC,CAAC;AAEvB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;KACtB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACpC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-by.type.js","sourceRoot":"","sources":["../../src/types/group-by.type.ts"],"names":[],"mappings":""}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ 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 './group-by.type';
|
|
5
6
|
export * from './prettify.type';
|
|
6
7
|
export * from './union-to-intersection.type';
|
|
8
|
+
export * from './dto-generation.types';
|
|
7
9
|
//# 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;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,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,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC"}
|
package/dist/types/index.js
CHANGED
|
@@ -18,6 +18,8 @@ __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("./group-by.type"), exports);
|
|
21
22
|
__exportStar(require("./prettify.type"), exports);
|
|
22
23
|
__exportStar(require("./union-to-intersection.type"), exports);
|
|
24
|
+
__exportStar(require("./dto-generation.types"), exports);
|
|
23
25
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
CHANGED
|
@@ -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;AACjC,kDAAgC;AAChC,+DAA6C"}
|
|
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,kDAAgC;AAChC,+DAA6C;AAC7C,yDAAuC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solid-nestjs/common",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.9",
|
|
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": "
|
|
45
|
+
"gitHead": "3ebf7d4bd0a62c0964bbf3f3810c2ee3b2a3051b"
|
|
46
46
|
}
|
|
@@ -1,8 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|