@solid-nestjs/common 0.2.8 → 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/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 +3 -0
- package/dist/interfaces/index.d.ts.map +1 -1
- package/dist/interfaces/index.js +3 -0
- package/dist/interfaces/index.js.map +1 -1
- 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/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/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ValidationDecoratorAdapter } from './validation.adapter';
|
|
2
|
+
/**
|
|
3
|
+
* Registers the validation adapter (singleton pattern)
|
|
4
|
+
*/
|
|
5
|
+
export declare function registerValidationAdapter(): void;
|
|
6
|
+
export { ValidationDecoratorAdapter };
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAKlE;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAOhD;AAKD,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ValidationDecoratorAdapter = void 0;
|
|
4
|
+
exports.registerValidationAdapter = registerValidationAdapter;
|
|
5
|
+
const decorator_registry_1 = require("../decorator-registry");
|
|
6
|
+
const validation_adapter_1 = require("./validation.adapter");
|
|
7
|
+
Object.defineProperty(exports, "ValidationDecoratorAdapter", { enumerable: true, get: function () { return validation_adapter_1.ValidationDecoratorAdapter; } });
|
|
8
|
+
// Singleton instance to prevent multiple registrations
|
|
9
|
+
let validationAdapterInstance = null;
|
|
10
|
+
/**
|
|
11
|
+
* Registers the validation adapter (singleton pattern)
|
|
12
|
+
*/
|
|
13
|
+
function registerValidationAdapter() {
|
|
14
|
+
if (!validationAdapterInstance) {
|
|
15
|
+
validationAdapterInstance = new validation_adapter_1.ValidationDecoratorAdapter();
|
|
16
|
+
if (validationAdapterInstance.isAvailable()) {
|
|
17
|
+
decorator_registry_1.DecoratorRegistry.registerAdapter('validation', validationAdapterInstance);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
// Auto-register on import
|
|
22
|
+
registerValidationAdapter();
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":";;;AASA,8DAOC;AAhBD,8DAA0D;AAC1D,6DAAkE;AAoBzD,2GApBA,+CAA0B,OAoBA;AAlBnC,uDAAuD;AACvD,IAAI,yBAAyB,GAAsC,IAAI,CAAC;AAExE;;GAEG;AACH,SAAgB,yBAAyB;IACvC,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC/B,yBAAyB,GAAG,IAAI,+CAA0B,EAAE,CAAC;QAC7D,IAAI,yBAAyB,CAAC,WAAW,EAAE,EAAE,CAAC;YAC5C,sCAAiB,CAAC,eAAe,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;AACH,CAAC;AAED,0BAA0B;AAC1B,yBAAyB,EAAE,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { DecoratorAdapter, FieldMetadata } from '../interfaces';
|
|
2
|
+
export declare class ValidationDecoratorAdapter implements DecoratorAdapter {
|
|
3
|
+
name: string;
|
|
4
|
+
private static applied;
|
|
5
|
+
private validatorsLoaded;
|
|
6
|
+
isAvailable(): boolean;
|
|
7
|
+
private loadValidatorsSync;
|
|
8
|
+
apply(target: any, propertyKey: string | symbol, metadata: FieldMetadata): void;
|
|
9
|
+
private applyTransformation;
|
|
10
|
+
private applyOptionalValidators;
|
|
11
|
+
private applyTypeValidators;
|
|
12
|
+
private applyConstraintValidators;
|
|
13
|
+
private applyCustomValidators;
|
|
14
|
+
private applyArrayValidators;
|
|
15
|
+
private isPrimitiveType;
|
|
16
|
+
private isAlreadyApplied;
|
|
17
|
+
private markAsApplied;
|
|
18
|
+
applyClassDecorator?(target: Function, type: 'entity' | 'input', options: any): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=validation.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/validation.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAoChE,qBAAa,0BAA2B,YAAW,gBAAgB;IACjE,IAAI,SAAgB;IAGpB,OAAO,CAAC,MAAM,CAAC,OAAO,CAA4C;IAClE,OAAO,CAAC,gBAAgB,CAAS;IAEjC,WAAW,IAAI,OAAO;IAItB,OAAO,CAAC,kBAAkB;IA4C1B,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IA4C/E,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,mBAAmB;IAwF3B,OAAO,CAAC,yBAAyB;IAyCjC,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,oBAAoB;IAgC5B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,aAAa;IAUrB,mBAAmB,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI;CAGrF"}
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ValidationDecoratorAdapter = void 0;
|
|
4
|
+
const package_detector_helper_1 = require("../helpers/package-detector.helper");
|
|
5
|
+
const type_inference_helper_1 = require("../helpers/type-inference.helper");
|
|
6
|
+
// Dynamic imports to avoid dependency issues
|
|
7
|
+
let IsString;
|
|
8
|
+
let IsNumber;
|
|
9
|
+
let IsBoolean;
|
|
10
|
+
let IsDate;
|
|
11
|
+
let IsEmail;
|
|
12
|
+
let IsUrl;
|
|
13
|
+
let IsUUID;
|
|
14
|
+
let IsJSON;
|
|
15
|
+
let IsOptional;
|
|
16
|
+
let IsNotEmpty;
|
|
17
|
+
let IsEnum;
|
|
18
|
+
let IsIn;
|
|
19
|
+
let IsArray;
|
|
20
|
+
let IsObject;
|
|
21
|
+
let IsInt;
|
|
22
|
+
let IsPositive;
|
|
23
|
+
let IsNegative;
|
|
24
|
+
let Min;
|
|
25
|
+
let Max;
|
|
26
|
+
let MinLength;
|
|
27
|
+
let MaxLength;
|
|
28
|
+
let Matches;
|
|
29
|
+
let ValidateNested;
|
|
30
|
+
let ArrayMinSize;
|
|
31
|
+
let ArrayMaxSize;
|
|
32
|
+
let Type;
|
|
33
|
+
let Transform;
|
|
34
|
+
class ValidationDecoratorAdapter {
|
|
35
|
+
constructor() {
|
|
36
|
+
this.name = 'validation';
|
|
37
|
+
this.validatorsLoaded = false;
|
|
38
|
+
}
|
|
39
|
+
isAvailable() {
|
|
40
|
+
return (0, package_detector_helper_1.isClassValidatorAvailable)() && (0, package_detector_helper_1.isClassTransformerAvailable)();
|
|
41
|
+
}
|
|
42
|
+
loadValidatorsSync() {
|
|
43
|
+
if (this.validatorsLoaded)
|
|
44
|
+
return;
|
|
45
|
+
try {
|
|
46
|
+
const classValidator = require('class-validator');
|
|
47
|
+
const classTransformer = require('class-transformer');
|
|
48
|
+
// Assign validators
|
|
49
|
+
IsString = classValidator.IsString;
|
|
50
|
+
IsNumber = classValidator.IsNumber;
|
|
51
|
+
IsBoolean = classValidator.IsBoolean;
|
|
52
|
+
IsDate = classValidator.IsDate;
|
|
53
|
+
IsEmail = classValidator.IsEmail;
|
|
54
|
+
IsUrl = classValidator.IsUrl;
|
|
55
|
+
IsUUID = classValidator.IsUUID;
|
|
56
|
+
IsJSON = classValidator.IsJSON;
|
|
57
|
+
IsOptional = classValidator.IsOptional;
|
|
58
|
+
IsNotEmpty = classValidator.IsNotEmpty;
|
|
59
|
+
IsEnum = classValidator.IsEnum;
|
|
60
|
+
IsIn = classValidator.IsIn;
|
|
61
|
+
IsArray = classValidator.IsArray;
|
|
62
|
+
IsObject = classValidator.IsObject;
|
|
63
|
+
IsInt = classValidator.IsInt;
|
|
64
|
+
IsPositive = classValidator.IsPositive;
|
|
65
|
+
IsNegative = classValidator.IsNegative;
|
|
66
|
+
Min = classValidator.Min;
|
|
67
|
+
Max = classValidator.Max;
|
|
68
|
+
MinLength = classValidator.MinLength;
|
|
69
|
+
MaxLength = classValidator.MaxLength;
|
|
70
|
+
Matches = classValidator.Matches;
|
|
71
|
+
ValidateNested = classValidator.ValidateNested;
|
|
72
|
+
ArrayMinSize = classValidator.ArrayMinSize;
|
|
73
|
+
ArrayMaxSize = classValidator.ArrayMaxSize;
|
|
74
|
+
// Assign transformers
|
|
75
|
+
Type = classTransformer.Type;
|
|
76
|
+
Transform = classTransformer.Transform;
|
|
77
|
+
this.validatorsLoaded = true;
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
console.warn('[SolidNestJS] Failed to load validation decorators:', error);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
apply(target, propertyKey, metadata) {
|
|
84
|
+
// Load validators if not already loaded
|
|
85
|
+
if (!this.validatorsLoaded) {
|
|
86
|
+
this.loadValidatorsSync();
|
|
87
|
+
if (!this.validatorsLoaded)
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
// Prevent duplicate application
|
|
91
|
+
if (this.isAlreadyApplied(target, propertyKey)) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
this.markAsApplied(target, propertyKey);
|
|
95
|
+
const { type, options, isOptional, adapterOptions } = metadata;
|
|
96
|
+
// Debug logging (disabled)
|
|
97
|
+
// if (process.env.NODE_ENV !== 'production') {
|
|
98
|
+
// console.log(`[ValidationAdapter] Applying to ${target.constructor.name}.${String(propertyKey)}: type=${type?.name}, optional=${isOptional}, nullable=${options.nullable}`);
|
|
99
|
+
// }
|
|
100
|
+
// Skip if validation explicitly disabled
|
|
101
|
+
if (options.skipValidation || adapterOptions?.skip) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
// Apply transformation
|
|
105
|
+
this.applyTransformation(target, propertyKey, type, options, adapterOptions);
|
|
106
|
+
// Apply optional/required validators
|
|
107
|
+
this.applyOptionalValidators(target, propertyKey, options, isOptional, adapterOptions);
|
|
108
|
+
// Apply type-specific validators
|
|
109
|
+
this.applyTypeValidators(target, propertyKey, type, options, adapterOptions);
|
|
110
|
+
// Apply array-specific validators if detected
|
|
111
|
+
this.applyArrayValidators(target, propertyKey, type, options, adapterOptions);
|
|
112
|
+
// Apply constraint validators
|
|
113
|
+
this.applyConstraintValidators(target, propertyKey, type, options, adapterOptions);
|
|
114
|
+
// Apply custom validators
|
|
115
|
+
this.applyCustomValidators(target, propertyKey, adapterOptions);
|
|
116
|
+
}
|
|
117
|
+
applyTransformation(target, propertyKey, type, options, adapterOptions) {
|
|
118
|
+
if (!Type || !Transform)
|
|
119
|
+
return;
|
|
120
|
+
// Skip transformation if explicitly disabled
|
|
121
|
+
if (options.transform === false || adapterOptions?.skipTransform) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
// Apply Type decorator for nested objects only when safe
|
|
125
|
+
if (type && typeof type === 'function' && !this.isPrimitiveType(type)) {
|
|
126
|
+
try {
|
|
127
|
+
Type(() => type)(target, propertyKey);
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
console.warn(`[SolidNestJS] Failed to apply Type decorator for ${String(propertyKey)}:`, error);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// Apply custom transformers
|
|
134
|
+
if (adapterOptions?.transform) {
|
|
135
|
+
Transform(adapterOptions.transform)(target, propertyKey);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
applyOptionalValidators(target, propertyKey, options, isOptional, adapterOptions) {
|
|
139
|
+
if (!IsOptional || !IsNotEmpty)
|
|
140
|
+
return;
|
|
141
|
+
const isNullable = options.nullable ?? isOptional;
|
|
142
|
+
if (isNullable) {
|
|
143
|
+
IsOptional()(target, propertyKey);
|
|
144
|
+
}
|
|
145
|
+
else if (!adapterOptions?.skipRequired) {
|
|
146
|
+
IsNotEmpty()(target, propertyKey);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
applyTypeValidators(target, propertyKey, type, options, adapterOptions) {
|
|
150
|
+
// String validators
|
|
151
|
+
if (type === String && IsString) {
|
|
152
|
+
IsString()(target, propertyKey);
|
|
153
|
+
if ((options.email || adapterOptions?.email) && IsEmail) {
|
|
154
|
+
IsEmail(adapterOptions?.emailOptions || {})(target, propertyKey);
|
|
155
|
+
}
|
|
156
|
+
if ((options.url || adapterOptions?.url) && IsUrl) {
|
|
157
|
+
IsUrl(adapterOptions?.urlOptions || {})(target, propertyKey);
|
|
158
|
+
}
|
|
159
|
+
if ((options.uuid || adapterOptions?.uuid) && IsUUID) {
|
|
160
|
+
IsUUID(adapterOptions?.uuidVersion || '4')(target, propertyKey);
|
|
161
|
+
}
|
|
162
|
+
if ((options.json || adapterOptions?.json) && IsJSON) {
|
|
163
|
+
IsJSON()(target, propertyKey);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
// Number validators
|
|
167
|
+
else if (type === Number) {
|
|
168
|
+
if ((options.integer || adapterOptions?.integer) && IsInt) {
|
|
169
|
+
IsInt()(target, propertyKey);
|
|
170
|
+
}
|
|
171
|
+
else if (IsNumber) {
|
|
172
|
+
IsNumber(adapterOptions?.numberOptions || {})(target, propertyKey);
|
|
173
|
+
}
|
|
174
|
+
if ((options.positive || adapterOptions?.positive) && IsPositive) {
|
|
175
|
+
IsPositive()(target, propertyKey);
|
|
176
|
+
}
|
|
177
|
+
if ((options.negative || adapterOptions?.negative) && IsNegative) {
|
|
178
|
+
IsNegative()(target, propertyKey);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
// Boolean validators
|
|
182
|
+
else if (type === Boolean && IsBoolean) {
|
|
183
|
+
IsBoolean()(target, propertyKey);
|
|
184
|
+
}
|
|
185
|
+
// Date validators
|
|
186
|
+
else if (type === Date && IsDate) {
|
|
187
|
+
IsDate()(target, propertyKey);
|
|
188
|
+
}
|
|
189
|
+
// Array validators - check explicit array option first
|
|
190
|
+
else if ((options.array || Array.isArray(type) || adapterOptions?.isArray) && IsArray) {
|
|
191
|
+
IsArray()(target, propertyKey);
|
|
192
|
+
// Get array type from options first, then adapter
|
|
193
|
+
const arrayType = options.arrayType || adapterOptions?.arrayType;
|
|
194
|
+
if (arrayType && ValidateNested && Type) {
|
|
195
|
+
ValidateNested({ each: true })(target, propertyKey);
|
|
196
|
+
Type(arrayType)(target, propertyKey);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
// Enum validators - use IsIn for arrays, IsEnum for actual enum types
|
|
200
|
+
else if (options.enum || adapterOptions?.enum) {
|
|
201
|
+
const enumType = options.enum || adapterOptions.enum;
|
|
202
|
+
if (Array.isArray(enumType) && IsIn) {
|
|
203
|
+
// For array of values like ['pending', 'paid', 'cancelled']
|
|
204
|
+
IsIn(enumType)(target, propertyKey);
|
|
205
|
+
}
|
|
206
|
+
else if (IsEnum && typeof enumType === 'object') {
|
|
207
|
+
// For actual TypeScript enums
|
|
208
|
+
IsEnum(enumType)(target, propertyKey);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
// Object validators
|
|
212
|
+
else if (type && typeof type === 'function' && !this.isPrimitiveType(type)) {
|
|
213
|
+
if (IsObject) {
|
|
214
|
+
IsObject()(target, propertyKey);
|
|
215
|
+
}
|
|
216
|
+
if (ValidateNested) {
|
|
217
|
+
ValidateNested()(target, propertyKey);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
applyConstraintValidators(target, propertyKey, type, options, adapterOptions) {
|
|
222
|
+
// String constraints
|
|
223
|
+
if (type === String) {
|
|
224
|
+
if (options.minLength !== undefined && MinLength) {
|
|
225
|
+
MinLength(options.minLength)(target, propertyKey);
|
|
226
|
+
}
|
|
227
|
+
if (options.maxLength !== undefined && MaxLength) {
|
|
228
|
+
MaxLength(options.maxLength)(target, propertyKey);
|
|
229
|
+
}
|
|
230
|
+
if (options.pattern && Matches) {
|
|
231
|
+
Matches(options.pattern)(target, propertyKey);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
// Number constraints
|
|
235
|
+
if (type === Number) {
|
|
236
|
+
if (options.min !== undefined && Min) {
|
|
237
|
+
Min(options.min)(target, propertyKey);
|
|
238
|
+
}
|
|
239
|
+
if (options.max !== undefined && Max) {
|
|
240
|
+
Max(options.max)(target, propertyKey);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
// Array constraints
|
|
244
|
+
if ((Array.isArray(type) || adapterOptions?.isArray)) {
|
|
245
|
+
if ((options.minSize !== undefined || adapterOptions?.minSize !== undefined) && ArrayMinSize) {
|
|
246
|
+
ArrayMinSize(options.minSize || adapterOptions.minSize)(target, propertyKey);
|
|
247
|
+
}
|
|
248
|
+
if ((options.maxSize !== undefined || adapterOptions?.maxSize !== undefined) && ArrayMaxSize) {
|
|
249
|
+
ArrayMaxSize(options.maxSize || adapterOptions.maxSize)(target, propertyKey);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
applyCustomValidators(target, propertyKey, adapterOptions) {
|
|
254
|
+
if (adapterOptions?.validators && Array.isArray(adapterOptions.validators)) {
|
|
255
|
+
adapterOptions.validators.forEach((validator) => {
|
|
256
|
+
if (typeof validator === 'function') {
|
|
257
|
+
// Apply validator directly as a decorator function
|
|
258
|
+
validator(target, propertyKey);
|
|
259
|
+
}
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
applyArrayValidators(target, propertyKey, type, options, adapterOptions) {
|
|
264
|
+
// Check if this is an array type
|
|
265
|
+
const arrayInfo = (0, type_inference_helper_1.detectArrayInfo)(target, propertyKey);
|
|
266
|
+
if (arrayInfo.isArray && IsArray) {
|
|
267
|
+
IsArray()(target, propertyKey);
|
|
268
|
+
// Apply ValidateNested for object arrays
|
|
269
|
+
if (ValidateNested) {
|
|
270
|
+
ValidateNested({ each: true })(target, propertyKey);
|
|
271
|
+
}
|
|
272
|
+
// Apply Type decorator for array element transformation
|
|
273
|
+
if (Type && adapterOptions?.isArray) {
|
|
274
|
+
// Try to get the array element type from GraphQL configuration
|
|
275
|
+
if (adapterOptions.arrayType && typeof adapterOptions.arrayType === 'function') {
|
|
276
|
+
try {
|
|
277
|
+
Type(adapterOptions.arrayType)(target, propertyKey);
|
|
278
|
+
}
|
|
279
|
+
catch (error) {
|
|
280
|
+
console.warn(`[SolidNestJS] Failed to apply array Type decorator for ${String(propertyKey)}:`, error);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
isPrimitiveType(type) {
|
|
287
|
+
return [String, Number, Boolean, Date, Symbol, BigInt].includes(type);
|
|
288
|
+
}
|
|
289
|
+
isAlreadyApplied(target, propertyKey) {
|
|
290
|
+
const applied = ValidationDecoratorAdapter.applied.get(target);
|
|
291
|
+
return applied ? applied.has(propertyKey) : false;
|
|
292
|
+
}
|
|
293
|
+
markAsApplied(target, propertyKey) {
|
|
294
|
+
let applied = ValidationDecoratorAdapter.applied.get(target);
|
|
295
|
+
if (!applied) {
|
|
296
|
+
applied = new Set();
|
|
297
|
+
ValidationDecoratorAdapter.applied.set(target, applied);
|
|
298
|
+
}
|
|
299
|
+
applied.add(propertyKey);
|
|
300
|
+
}
|
|
301
|
+
// Class-level decorator support (no specific class decorators for validation)
|
|
302
|
+
applyClassDecorator(target, type, options) {
|
|
303
|
+
// No class-level validation decorators needed
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
exports.ValidationDecoratorAdapter = ValidationDecoratorAdapter;
|
|
307
|
+
// Track applied decorators to prevent duplicates
|
|
308
|
+
ValidationDecoratorAdapter.applied = new WeakMap();
|
|
309
|
+
//# sourceMappingURL=validation.adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.adapter.js","sourceRoot":"","sources":["../../src/adapters/validation.adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { DecoratorAdapter, FieldMetadata } from '../interfaces';
|
|
2
|
+
export declare class DecoratorRegistry {
|
|
3
|
+
private static adapters;
|
|
4
|
+
private static isDebugMode;
|
|
5
|
+
/**
|
|
6
|
+
* Registers a decorator adapter
|
|
7
|
+
*/
|
|
8
|
+
static registerAdapter(name: string, adapter: DecoratorAdapter): void;
|
|
9
|
+
/**
|
|
10
|
+
* Applies decorators from all registered adapters to a property
|
|
11
|
+
*/
|
|
12
|
+
static applyDecorators(target: any, propertyKey: string | symbol, metadata: FieldMetadata): void;
|
|
13
|
+
/**
|
|
14
|
+
* Applies class-level decorators from all registered adapters
|
|
15
|
+
*/
|
|
16
|
+
static applyClassDecorators(target: Function, type: 'entity' | 'input', options: any): void;
|
|
17
|
+
/**
|
|
18
|
+
* Gets a specific adapter by name
|
|
19
|
+
*/
|
|
20
|
+
static getAdapter(name: string): DecoratorAdapter | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Gets all registered adapter names
|
|
23
|
+
*/
|
|
24
|
+
static getRegisteredAdapters(): string[];
|
|
25
|
+
/**
|
|
26
|
+
* Gets all registered adapters
|
|
27
|
+
*/
|
|
28
|
+
static getAllAdapters(): Map<string, DecoratorAdapter>;
|
|
29
|
+
/**
|
|
30
|
+
* Checks if an adapter is registered
|
|
31
|
+
*/
|
|
32
|
+
static hasAdapter(name: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Unregisters an adapter
|
|
35
|
+
*/
|
|
36
|
+
static unregisterAdapter(name: string): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Clears all registered adapters (useful for testing)
|
|
39
|
+
*/
|
|
40
|
+
static clearAdapters(): void;
|
|
41
|
+
/**
|
|
42
|
+
* Gets statistics about registered adapters
|
|
43
|
+
*/
|
|
44
|
+
static getStats(): {
|
|
45
|
+
totalAdapters: number;
|
|
46
|
+
availableAdapters: string[];
|
|
47
|
+
unavailableAdapters: string[];
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Enables or disables debug mode
|
|
51
|
+
*/
|
|
52
|
+
static setDebugMode(enabled: boolean): void;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=decorator-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorator-registry.d.ts","sourceRoot":"","sources":["../../src/decorator-registry/decorator-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEhE,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAuC;IAC9D,OAAO,CAAC,MAAM,CAAC,WAAW,CAAgF;IAE1G;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAsBrE;;OAEG;IACH,MAAM,CAAC,eAAe,CACpB,MAAM,EAAE,GAAG,EACX,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,QAAQ,EAAE,aAAa,GACtB,IAAI;IAgCP;;OAEG;IACH,MAAM,CAAC,oBAAoB,CACzB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,QAAQ,GAAG,OAAO,EACxB,OAAO,EAAE,GAAG,GACX,IAAI;IA4BP;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI7D;;OAEG;IACH,MAAM,CAAC,qBAAqB,IAAI,MAAM,EAAE;IAIxC;;OAEG;IACH,MAAM,CAAC,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAItD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIxC;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQ/C;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAO5B;;OAEG;IACH,MAAM,CAAC,QAAQ,IAAI;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,mBAAmB,EAAE,MAAM,EAAE,CAAC;KAC/B;IAmBD;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAG5C"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DecoratorRegistry = void 0;
|
|
4
|
+
class DecoratorRegistry {
|
|
5
|
+
/**
|
|
6
|
+
* Registers a decorator adapter
|
|
7
|
+
*/
|
|
8
|
+
static registerAdapter(name, adapter) {
|
|
9
|
+
// Prevent duplicate registration
|
|
10
|
+
if (this.adapters.has(name)) {
|
|
11
|
+
if (this.isDebugMode) {
|
|
12
|
+
console.debug(`[SolidNestJS] Adapter '${name}' already registered, skipping`);
|
|
13
|
+
}
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
// Only register if adapter is available
|
|
17
|
+
if (adapter.isAvailable()) {
|
|
18
|
+
this.adapters.set(name, adapter);
|
|
19
|
+
if (this.isDebugMode) {
|
|
20
|
+
console.debug(`[SolidNestJS] Registered adapter: ${name}`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
if (this.isDebugMode) {
|
|
25
|
+
console.debug(`[SolidNestJS] Adapter '${name}' not available, skipping registration`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Applies decorators from all registered adapters to a property
|
|
31
|
+
*/
|
|
32
|
+
static applyDecorators(target, propertyKey, metadata) {
|
|
33
|
+
const skipAdapters = metadata.options?.skip || [];
|
|
34
|
+
this.adapters.forEach((adapter, name) => {
|
|
35
|
+
// Skip if adapter is in skip list
|
|
36
|
+
if (skipAdapters.includes(name)) {
|
|
37
|
+
if (this.isDebugMode) {
|
|
38
|
+
console.debug(`[SolidNestJS] Skipping adapter '${name}' for ${target.constructor.name}.${String(propertyKey)}`);
|
|
39
|
+
}
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
// Apply decorator with adapter-specific options if provided
|
|
44
|
+
const adapterOptions = metadata.options?.adapters?.[name];
|
|
45
|
+
const enhancedMetadata = {
|
|
46
|
+
...metadata,
|
|
47
|
+
adapterOptions
|
|
48
|
+
};
|
|
49
|
+
adapter.apply(target, propertyKey, enhancedMetadata);
|
|
50
|
+
if (this.isDebugMode) {
|
|
51
|
+
console.debug(`[SolidNestJS] Applied adapter '${name}' to ${target.constructor.name}.${String(propertyKey)}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
console.error(`[SolidNestJS] Error applying adapter '${name}' to ${target.constructor.name}.${String(propertyKey)}:`, error);
|
|
56
|
+
// Continue with other adapters even if one fails
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Applies class-level decorators from all registered adapters
|
|
62
|
+
*/
|
|
63
|
+
static applyClassDecorators(target, type, options) {
|
|
64
|
+
const skipAdapters = options?.skip || [];
|
|
65
|
+
this.adapters.forEach((adapter, name) => {
|
|
66
|
+
// Skip if adapter is in skip list
|
|
67
|
+
if (skipAdapters.includes(name)) {
|
|
68
|
+
if (this.isDebugMode) {
|
|
69
|
+
console.debug(`[SolidNestJS] Skipping class adapter '${name}' for ${target.name}`);
|
|
70
|
+
}
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
// Apply class decorator if adapter supports it
|
|
75
|
+
if (adapter.applyClassDecorator) {
|
|
76
|
+
adapter.applyClassDecorator(target, type, options);
|
|
77
|
+
if (this.isDebugMode) {
|
|
78
|
+
console.debug(`[SolidNestJS] Applied class adapter '${name}' to ${target.name}`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
console.error(`[SolidNestJS] Error applying class adapter '${name}' to ${target.name}:`, error);
|
|
84
|
+
// Continue with other adapters even if one fails
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Gets a specific adapter by name
|
|
90
|
+
*/
|
|
91
|
+
static getAdapter(name) {
|
|
92
|
+
return this.adapters.get(name);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Gets all registered adapter names
|
|
96
|
+
*/
|
|
97
|
+
static getRegisteredAdapters() {
|
|
98
|
+
return Array.from(this.adapters.keys());
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Gets all registered adapters
|
|
102
|
+
*/
|
|
103
|
+
static getAllAdapters() {
|
|
104
|
+
return new Map(this.adapters);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Checks if an adapter is registered
|
|
108
|
+
*/
|
|
109
|
+
static hasAdapter(name) {
|
|
110
|
+
return this.adapters.has(name);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Unregisters an adapter
|
|
114
|
+
*/
|
|
115
|
+
static unregisterAdapter(name) {
|
|
116
|
+
const removed = this.adapters.delete(name);
|
|
117
|
+
if (removed && this.isDebugMode) {
|
|
118
|
+
console.debug(`[SolidNestJS] Unregistered adapter: ${name}`);
|
|
119
|
+
}
|
|
120
|
+
return removed;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Clears all registered adapters (useful for testing)
|
|
124
|
+
*/
|
|
125
|
+
static clearAdapters() {
|
|
126
|
+
this.adapters.clear();
|
|
127
|
+
if (this.isDebugMode) {
|
|
128
|
+
console.debug('[SolidNestJS] Cleared all adapters');
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Gets statistics about registered adapters
|
|
133
|
+
*/
|
|
134
|
+
static getStats() {
|
|
135
|
+
const availableAdapters = [];
|
|
136
|
+
const unavailableAdapters = [];
|
|
137
|
+
this.adapters.forEach((adapter, name) => {
|
|
138
|
+
if (adapter.isAvailable()) {
|
|
139
|
+
availableAdapters.push(name);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
unavailableAdapters.push(name);
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
return {
|
|
146
|
+
totalAdapters: this.adapters.size,
|
|
147
|
+
availableAdapters,
|
|
148
|
+
unavailableAdapters,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Enables or disables debug mode
|
|
153
|
+
*/
|
|
154
|
+
static setDebugMode(enabled) {
|
|
155
|
+
this.isDebugMode = enabled;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
exports.DecoratorRegistry = DecoratorRegistry;
|
|
159
|
+
DecoratorRegistry.adapters = new Map();
|
|
160
|
+
DecoratorRegistry.isDebugMode = process.env.NODE_ENV === 'development' || process.env.SOLID_DEBUG === 'true';
|
|
161
|
+
//# sourceMappingURL=decorator-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorator-registry.js","sourceRoot":"","sources":["../../src/decorator-registry/decorator-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorator-registry/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./decorator-registry"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorator-registry/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC"}
|