ts-deco 1.0.5 → 1.0.7

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 (62) hide show
  1. package/dist/decorators/utils/apply-decorators.js +8 -2
  2. package/dist/decorators/utils/apply-decorators.js.map +1 -1
  3. package/dist/decorators/validators/string.decorator.d.ts.map +1 -1
  4. package/dist/decorators/validators/string.decorator.js +1 -2
  5. package/dist/decorators/validators/string.decorator.js.map +1 -1
  6. package/dist/src/decorators/utils/apply-decorators.d.ts +21 -0
  7. package/dist/src/decorators/utils/apply-decorators.d.ts.map +1 -0
  8. package/dist/src/decorators/utils/apply-decorators.js +58 -0
  9. package/dist/src/decorators/utils/apply-decorators.js.map +1 -0
  10. package/dist/src/decorators/validators/boolean.decorator.d.ts +6 -0
  11. package/dist/src/decorators/validators/boolean.decorator.d.ts.map +1 -0
  12. package/dist/src/decorators/validators/boolean.decorator.js +40 -0
  13. package/dist/src/decorators/validators/boolean.decorator.js.map +1 -0
  14. package/dist/src/decorators/validators/date.decorator.d.ts +6 -0
  15. package/dist/src/decorators/validators/date.decorator.d.ts.map +1 -0
  16. package/dist/src/decorators/validators/date.decorator.js +24 -0
  17. package/dist/src/decorators/validators/date.decorator.js.map +1 -0
  18. package/dist/src/decorators/validators/enum.decorator.d.ts +6 -0
  19. package/dist/src/decorators/validators/enum.decorator.d.ts.map +1 -0
  20. package/dist/src/decorators/validators/enum.decorator.js +15 -0
  21. package/dist/src/decorators/validators/enum.decorator.js.map +1 -0
  22. package/dist/src/decorators/validators/number.decorator.d.ts +7 -0
  23. package/dist/src/decorators/validators/number.decorator.d.ts.map +1 -0
  24. package/dist/src/decorators/validators/number.decorator.js +45 -0
  25. package/dist/src/decorators/validators/number.decorator.js.map +1 -0
  26. package/dist/src/decorators/validators/property.decorator.d.ts +14 -0
  27. package/dist/src/decorators/validators/property.decorator.d.ts.map +1 -0
  28. package/dist/src/decorators/validators/property.decorator.js +58 -0
  29. package/dist/src/decorators/validators/property.decorator.js.map +1 -0
  30. package/dist/src/decorators/validators/string.decorator.d.ts +6 -0
  31. package/dist/src/decorators/validators/string.decorator.d.ts.map +1 -0
  32. package/dist/src/decorators/validators/string.decorator.js +14 -0
  33. package/dist/src/decorators/validators/string.decorator.js.map +1 -0
  34. package/dist/src/decorators/validators/utils/common-decorators.d.ts +46 -0
  35. package/dist/src/decorators/validators/utils/common-decorators.d.ts.map +1 -0
  36. package/dist/src/decorators/validators/utils/common-decorators.js +75 -0
  37. package/dist/src/decorators/validators/utils/common-decorators.js.map +1 -0
  38. package/dist/src/decorators/validators/utils/validator-options.d.ts +8 -0
  39. package/dist/src/decorators/validators/utils/validator-options.d.ts.map +1 -0
  40. package/dist/src/decorators/validators/utils/validator-options.js +11 -0
  41. package/dist/src/decorators/validators/utils/validator-options.js.map +1 -0
  42. package/dist/src/decorators/validators/validator.type.d.ts +20 -0
  43. package/dist/src/decorators/validators/validator.type.d.ts.map +1 -0
  44. package/dist/src/decorators/validators/validator.type.js +3 -0
  45. package/dist/src/decorators/validators/validator.type.js.map +1 -0
  46. package/dist/src/index.d.ts +11 -0
  47. package/dist/src/index.d.ts.map +1 -0
  48. package/dist/src/index.js +31 -0
  49. package/dist/src/index.js.map +1 -0
  50. package/dist/tests/apply-decorators.test.d.ts +2 -0
  51. package/dist/tests/apply-decorators.test.d.ts.map +1 -0
  52. package/dist/tests/apply-decorators.test.js +21 -0
  53. package/dist/tests/apply-decorators.test.js.map +1 -0
  54. package/dist/tests/property.decorator.test.d.ts +2 -0
  55. package/dist/tests/property.decorator.test.d.ts.map +1 -0
  56. package/dist/tests/property.decorator.test.js +326 -0
  57. package/dist/tests/property.decorator.test.js.map +1 -0
  58. package/dist/tests/setup.d.ts +2 -0
  59. package/dist/tests/setup.d.ts.map +1 -0
  60. package/dist/tests/setup.js +4 -0
  61. package/dist/tests/setup.js.map +1 -0
  62. package/package.json +10 -3
@@ -44,9 +44,15 @@ function applyDecorators(...decorators) {
44
44
  }
45
45
  }
46
46
  // MethodDecorator일 때는 PropertyDescriptor 반환
47
- // ClassDecorator일 때는 Function 반환
47
+ if (descriptorOrIndex !== undefined && typeof descriptorOrIndex !== 'number') {
48
+ return descriptorOrIndex;
49
+ }
50
+ // ClassDecorator일 때는 Function 반환 (또는 void)
51
+ if (propertyKey === undefined) {
52
+ return target;
53
+ }
48
54
  // PropertyDecorator/ParameterDecorator일 때는 반환값 없음 (undefined)
49
- return descriptorOrIndex ?? target;
55
+ return undefined;
50
56
  };
51
57
  }
52
58
  //# sourceMappingURL=apply-decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apply-decorators.js","sourceRoot":"","sources":["../../../src/decorators/utils/apply-decorators.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA4BH,0CAmCC;AAzCD;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,GAAG,UAAiB;IAChD,OAAO,UAAU,MAAW,EAAE,WAA6B,EAAE,iBAA+C;QACxG,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBAClC,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;oBACxC,oEAAoE;oBACpE,gBAAgB;oBAChB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACJ,kFAAkF;oBAClF,+BAA+B;oBAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;oBACjE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACvB,iBAAiB,GAAG,MAAM,CAAC;oBAC/B,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBACnC,mDAAmD;gBACnD,gBAAgB;gBAChB,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACJ,8CAA8C;gBAC9C,qBAAqB;gBACrB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,GAAG,MAAM,CAAC;gBACpB,CAAC;YACL,CAAC;QACL,CAAC;QAED,4CAA4C;QAC5C,iCAAiC;QACjC,8DAA8D;QAC9D,OAAO,iBAAiB,IAAI,MAAM,CAAC;IACvC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"apply-decorators.js","sourceRoot":"","sources":["../../../src/decorators/utils/apply-decorators.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA4BH,0CA2CC;AAjDD;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,GAAG,UAAiB;IAChD,OAAO,UAAU,MAAW,EAAE,WAA6B,EAAE,iBAA+C;QACxG,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBAClC,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;oBACxC,oEAAoE;oBACpE,gBAAgB;oBAChB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACJ,kFAAkF;oBAClF,+BAA+B;oBAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;oBACjE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACvB,iBAAiB,GAAG,MAAM,CAAC;oBAC/B,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBACnC,mDAAmD;gBACnD,gBAAgB;gBAChB,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACJ,8CAA8C;gBAC9C,qBAAqB;gBACrB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,GAAG,MAAM,CAAC;gBACpB,CAAC;YACL,CAAC;QACL,CAAC;QAED,4CAA4C;QAC5C,IAAI,iBAAiB,KAAK,SAAS,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YAC3E,OAAO,iBAAiB,CAAC;QAC7B,CAAC;QAED,2CAA2C;QAC3C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,8DAA8D;QAC9D,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"string.decorator.d.ts","sourceRoot":"","sources":["../../../src/decorators/validators/string.decorator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAKvD,KAAK,gBAAgB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AAEjE,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,qBAoB3D"}
1
+ {"version":3,"file":"string.decorator.d.ts","sourceRoot":"","sources":["../../../src/decorators/validators/string.decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAKvD,KAAK,gBAAgB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AAEjE,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,qBAmB3D"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = DtoString;
4
- const class_transformer_1 = require("class-transformer");
5
4
  const class_validator_1 = require("class-validator");
6
5
  const validator_options_1 = require("./utils/validator-options");
7
6
  const common_decorators_1 = require("./utils/common-decorators");
@@ -10,6 +9,6 @@ function DtoString(options) {
10
9
  const { isArray = false, optional = false, validatorMessage, notEmptyMessage, arrayMessage, ...swaggerOptions } = options || {};
11
10
  const validatorOption = (0, validator_options_1.getValidatorOptions)({ isArray, validatorMessage });
12
11
  const each = validatorOption.each ?? false;
13
- return (0, apply_decorators_1.applyDecorators)((0, common_decorators_1.getApiPropertyDecorator)(optional, String, isArray, swaggerOptions), (0, class_transformer_1.Type)(() => String), (0, common_decorators_1.getRequiredValidator)(optional, each, true, notEmptyMessage), ...(0, common_decorators_1.getIsArrayDecorator)(isArray, arrayMessage), (0, class_validator_1.IsString)(validatorOption));
12
+ return (0, apply_decorators_1.applyDecorators)((0, common_decorators_1.getApiPropertyDecorator)(optional, String, isArray, swaggerOptions), (0, common_decorators_1.getRequiredValidator)(optional, each, false), ...(0, common_decorators_1.getIsArrayDecorator)(isArray, arrayMessage), (0, class_validator_1.IsString)(validatorOption));
14
13
  }
15
14
  //# sourceMappingURL=string.decorator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.decorator.js","sourceRoot":"","sources":["../../../src/decorators/validators/string.decorator.ts"],"names":[],"mappings":";;AAUA,4BAoBC;AA9BD,yDAAyC;AACzC,qDAA2C;AAG3C,iEAAgE;AAChE,iEAA+G;AAC/G,gEAA4D;AAI5D,SAAwB,SAAS,CAAC,OAA0B;IACxD,MAAM,EACF,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,GAAG,cAAc,EACpB,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,MAAM,eAAe,GAAG,IAAA,uCAAmB,EAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,IAAI,KAAK,CAAC;IAE3C,OAAO,IAAA,kCAAe,EAClB,IAAA,2CAAuB,EAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,EAClE,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAClB,IAAA,wCAAoB,EAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,EAC3D,GAAG,IAAA,uCAAmB,EAAC,OAAO,EAAE,YAAY,CAAC,EAC7C,IAAA,0BAAQ,EAAC,eAAe,CAAC,CAC5B,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"string.decorator.js","sourceRoot":"","sources":["../../../src/decorators/validators/string.decorator.ts"],"names":[],"mappings":";;AASA,4BAmBC;AA5BD,qDAA2C;AAG3C,iEAAgE;AAChE,iEAA+G;AAC/G,gEAA4D;AAI5D,SAAwB,SAAS,CAAC,OAA0B;IACxD,MAAM,EACF,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,GAAG,cAAc,EACpB,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,MAAM,eAAe,GAAG,IAAA,uCAAmB,EAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,IAAI,KAAK,CAAC;IAE3C,OAAO,IAAA,kCAAe,EAClB,IAAA,2CAAuB,EAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,EAClE,IAAA,wCAAoB,EAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,EAC3C,GAAG,IAAA,uCAAmB,EAAC,OAAO,EAAE,YAAY,CAAC,EAC7C,IAAA,0BAAQ,EAAC,eAAe,CAAC,CAC5B,CAAC;AACN,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * 여러 데코레이터를 하나로 합치는 유틸리티 함수
3
+ * TypeScript의 모든 데코레이터 타입을 지원합니다.
4
+ */
5
+ /**
6
+ * Class 데코레이터를 합칩니다.
7
+ */
8
+ export declare function applyDecorators(...decorators: ClassDecorator[]): ClassDecorator;
9
+ /**
10
+ * Property 데코레이터를 합칩니다.
11
+ */
12
+ export declare function applyDecorators(...decorators: PropertyDecorator[]): PropertyDecorator;
13
+ /**
14
+ * Method 데코레이터를 합칩니다.
15
+ */
16
+ export declare function applyDecorators(...decorators: MethodDecorator[]): MethodDecorator;
17
+ /**
18
+ * Parameter 데코레이터를 합칩니다.
19
+ */
20
+ export declare function applyDecorators(...decorators: ParameterDecorator[]): ParameterDecorator;
21
+ //# sourceMappingURL=apply-decorators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-decorators.d.ts","sourceRoot":"","sources":["../../../../src/decorators/utils/apply-decorators.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,UAAU,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC;AAEjF;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,UAAU,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,CAAC;AAEvF;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,UAAU,EAAE,eAAe,EAAE,GAAG,eAAe,CAAC;AAEnF;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,UAAU,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,CAAC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ /**
3
+ * 여러 데코레이터를 하나로 합치는 유틸리티 함수
4
+ * TypeScript의 모든 데코레이터 타입을 지원합니다.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.applyDecorators = applyDecorators;
8
+ /**
9
+ * 여러 데코레이터를 하나로 합치는 구현 함수
10
+ *
11
+ * ⚠️ 주의: 모든 데코레이터는 동일한 타입이어야 합니다.
12
+ * (ClassDecorator, PropertyDecorator, MethodDecorator, ParameterDecorator 중 하나)
13
+ */
14
+ function applyDecorators(...decorators) {
15
+ return function (target, propertyKey, descriptorOrIndex) {
16
+ for (const decorator of decorators) {
17
+ if (descriptorOrIndex !== undefined) {
18
+ if (typeof descriptorOrIndex === 'number') {
19
+ // ParameterDecorator: (target, propertyKey, parameterIndex) => void
20
+ // 반환값 없음 (void)
21
+ decorator(target, propertyKey, descriptorOrIndex);
22
+ }
23
+ else {
24
+ // MethodDecorator: (target, propertyKey, descriptor) => PropertyDescriptor | void
25
+ // PropertyDescriptor를 반환할 수 있음
26
+ const result = decorator(target, propertyKey, descriptorOrIndex);
27
+ if (result !== undefined) {
28
+ descriptorOrIndex = result;
29
+ }
30
+ }
31
+ }
32
+ else if (propertyKey !== undefined) {
33
+ // PropertyDecorator: (target, propertyKey) => void
34
+ // 반환값 없음 (void)
35
+ decorator(target, propertyKey);
36
+ }
37
+ else {
38
+ // ClassDecorator: (target) => Function | void
39
+ // Function을 반환할 수 있음
40
+ const result = decorator(target);
41
+ if (result !== undefined) {
42
+ target = result;
43
+ }
44
+ }
45
+ }
46
+ // MethodDecorator일 때는 PropertyDescriptor 반환
47
+ if (descriptorOrIndex !== undefined && typeof descriptorOrIndex !== 'number') {
48
+ return descriptorOrIndex;
49
+ }
50
+ // ClassDecorator일 때는 Function 반환 (또는 void)
51
+ if (propertyKey === undefined) {
52
+ return target;
53
+ }
54
+ // PropertyDecorator/ParameterDecorator일 때는 반환값 없음 (undefined)
55
+ return undefined;
56
+ };
57
+ }
58
+ //# sourceMappingURL=apply-decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-decorators.js","sourceRoot":"","sources":["../../../../src/decorators/utils/apply-decorators.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA4BH,0CA2CC;AAjDD;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,GAAG,UAAiB;IAChD,OAAO,UAAU,MAAW,EAAE,WAA6B,EAAE,iBAA+C;QACxG,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBAClC,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;oBACxC,oEAAoE;oBACpE,gBAAgB;oBAChB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACJ,kFAAkF;oBAClF,+BAA+B;oBAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;oBACjE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACvB,iBAAiB,GAAG,MAAM,CAAC;oBAC/B,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBACnC,mDAAmD;gBACnD,gBAAgB;gBAChB,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACJ,8CAA8C;gBAC9C,qBAAqB;gBACrB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,GAAG,MAAM,CAAC;gBACpB,CAAC;YACL,CAAC;QACL,CAAC;QAED,4CAA4C;QAC5C,IAAI,iBAAiB,KAAK,SAAS,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YAC3E,OAAO,iBAAiB,CAAC;QAC7B,CAAC;QAED,2CAA2C;QAC3C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,8DAA8D;QAC9D,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ApiPropertyOptions } from '@nestjs/swagger';
2
+ import { DtoValidatorOptions } from './validator.type';
3
+ type DtoBooleanOptions = ApiPropertyOptions & DtoValidatorOptions;
4
+ export default function DtoBoolean(options?: DtoBooleanOptions): PropertyDecorator;
5
+ export {};
6
+ //# sourceMappingURL=boolean.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boolean.decorator.d.ts","sourceRoot":"","sources":["../../../../src/decorators/validators/boolean.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAKrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvD,KAAK,iBAAiB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AAElE,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,qBAgC7D"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = DtoBoolean;
4
+ const class_validator_1 = require("class-validator");
5
+ const apply_decorators_1 = require("../utils/apply-decorators");
6
+ const class_transformer_1 = require("class-transformer");
7
+ const validator_options_1 = require("./utils/validator-options");
8
+ const common_decorators_1 = require("./utils/common-decorators");
9
+ function DtoBoolean(options) {
10
+ const { isArray = false, optional = false, validatorMessage, arrayMessage, ...swaggerOptions } = options || {};
11
+ const validatorOption = (0, validator_options_1.getValidatorOptions)({ isArray, validatorMessage });
12
+ const each = validatorOption.each ?? false;
13
+ return (0, apply_decorators_1.applyDecorators)((0, common_decorators_1.getApiPropertyDecorator)(optional, Boolean, isArray, swaggerOptions), (0, class_transformer_1.Transform)(({ value }) => {
14
+ if (Array.isArray(value)) {
15
+ return value.map(v => {
16
+ if (typeof v === 'boolean')
17
+ return v;
18
+ if (typeof v === 'string') {
19
+ const lower = v.toLowerCase();
20
+ if (['true', '1'].includes(lower))
21
+ return true;
22
+ if (['false', '0'].includes(lower))
23
+ return false;
24
+ }
25
+ return v;
26
+ });
27
+ }
28
+ if (typeof value === 'boolean')
29
+ return value;
30
+ if (typeof value === 'string') {
31
+ const lower = value.toLowerCase();
32
+ if (['true', '1'].includes(lower))
33
+ return true;
34
+ if (['false', '0'].includes(lower))
35
+ return false;
36
+ }
37
+ return value;
38
+ }), (0, common_decorators_1.getRequiredValidator)(optional, each), ...(0, common_decorators_1.getIsArrayDecorator)(isArray, arrayMessage), (0, class_validator_1.IsBoolean)(validatorOption));
39
+ }
40
+ //# sourceMappingURL=boolean.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boolean.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/validators/boolean.decorator.ts"],"names":[],"mappings":";;AAUA,6BAgCC;AAzCD,qDAA4C;AAC5C,gEAA4D;AAC5D,yDAA8C;AAC9C,iEAAgE;AAEhE,iEAA+G;AAI/G,SAAwB,UAAU,CAAC,OAA2B;IAC1D,MAAM,EAAE,OAAO,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAE/G,MAAM,eAAe,GAAG,IAAA,uCAAmB,EAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,IAAI,KAAK,CAAC;IAE3C,OAAO,IAAA,kCAAe,EAClB,IAAA,2CAAuB,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,EACnE,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACpB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACjB,IAAI,OAAO,CAAC,KAAK,SAAS;oBAAE,OAAO,CAAC,CAAC;gBACrC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACxB,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC9B,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;wBAAE,OAAO,IAAI,CAAC;oBAC/C,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;wBAAE,OAAO,KAAK,CAAC;gBACrD,CAAC;gBACD,OAAO,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC/C,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;QACrD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,EACF,IAAA,wCAAoB,EAAC,QAAQ,EAAE,IAAI,CAAC,EACpC,GAAG,IAAA,uCAAmB,EAAC,OAAO,EAAE,YAAY,CAAC,EAC7C,IAAA,2BAAS,EAAC,eAAe,CAAC,CAC7B,CAAC;AACN,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ApiPropertyOptions } from '@nestjs/swagger';
2
+ import { DtoValidatorOptions } from './validator.type';
3
+ type DtoDateOptions = ApiPropertyOptions & DtoValidatorOptions;
4
+ export default function DtoDate(options?: DtoDateOptions): PropertyDecorator;
5
+ export {};
6
+ //# sourceMappingURL=date.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.decorator.d.ts","sourceRoot":"","sources":["../../../../src/decorators/validators/date.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAKrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvD,KAAK,cAAc,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AAE/D,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,qBAsBvD"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = DtoDate;
4
+ const class_validator_1 = require("class-validator");
5
+ const apply_decorators_1 = require("../utils/apply-decorators");
6
+ const class_transformer_1 = require("class-transformer");
7
+ const validator_options_1 = require("./utils/validator-options");
8
+ const common_decorators_1 = require("./utils/common-decorators");
9
+ function DtoDate(options) {
10
+ const { isArray = false, optional = false, validatorMessage, arrayMessage, ...swaggerOptions } = options || {};
11
+ const validatorOption = (0, validator_options_1.getValidatorOptions)({ isArray, validatorMessage });
12
+ const each = validatorOption.each ?? false;
13
+ return (0, apply_decorators_1.applyDecorators)((0, common_decorators_1.getApiPropertyDecorator)(optional, Date, isArray, swaggerOptions), (0, class_transformer_1.Transform)(({ value }) => {
14
+ if (Array.isArray(value)) {
15
+ return value.map(v => {
16
+ const d = new Date(v);
17
+ return isNaN(d.getTime()) ? v : d;
18
+ });
19
+ }
20
+ const d = new Date(value);
21
+ return isNaN(d.getTime()) ? value : d;
22
+ }), (0, common_decorators_1.getRequiredValidator)(optional, each), ...(0, common_decorators_1.getIsArrayDecorator)(isArray, arrayMessage), (0, class_validator_1.IsDate)(validatorOption));
23
+ }
24
+ //# sourceMappingURL=date.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/validators/date.decorator.ts"],"names":[],"mappings":";;AAUA,0BAsBC;AA/BD,qDAAyC;AACzC,gEAA4D;AAC5D,yDAA8C;AAC9C,iEAAgE;AAEhE,iEAA+G;AAI/G,SAAwB,OAAO,CAAC,OAAwB;IACpD,MAAM,EAAE,OAAO,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAE/G,MAAM,eAAe,GAAG,IAAA,uCAAmB,EAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,IAAI,KAAK,CAAC;IAE3C,OAAO,IAAA,kCAAe,EAClB,IAAA,2CAAuB,EAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,EAChE,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACpB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACjB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtB,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACP,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,EACF,IAAA,wCAAoB,EAAC,QAAQ,EAAE,IAAI,CAAC,EACpC,GAAG,IAAA,uCAAmB,EAAC,OAAO,EAAE,YAAY,CAAC,EAC7C,IAAA,wBAAM,EAAC,eAAe,CAAC,CAC1B,CAAC;AACN,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ApiPropertyOptions } from '@nestjs/swagger';
2
+ import { DtoEnumValidatorOptions } from './validator.type';
3
+ type DtoEnumOptions = ApiPropertyOptions & DtoEnumValidatorOptions;
4
+ export default function DtoEnum(enumType: object, options?: DtoEnumOptions): PropertyDecorator;
5
+ export {};
6
+ //# sourceMappingURL=enum.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum.decorator.d.ts","sourceRoot":"","sources":["../../../../src/decorators/validators/enum.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAIrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,KAAK,cAAc,GAAG,kBAAkB,GAAG,uBAAuB,CAAC;AAEnE,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,qBAmBzE"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = DtoEnum;
4
+ const class_validator_1 = require("class-validator");
5
+ const apply_decorators_1 = require("../utils/apply-decorators");
6
+ const validator_options_1 = require("./utils/validator-options");
7
+ const common_decorators_1 = require("./utils/common-decorators");
8
+ function DtoEnum(enumType, options) {
9
+ const { isArray = false, optional = false, exclude = [], validatorMessage, arrayMessage, ...swaggerOptions } = options || {};
10
+ const validatorOption = (0, validator_options_1.getValidatorOptions)({ isArray, validatorMessage });
11
+ const each = validatorOption.each ?? false;
12
+ const enumValues = Object.values(enumType).filter(v => !exclude.includes(v));
13
+ return (0, apply_decorators_1.applyDecorators)((0, common_decorators_1.getApiPropertyDecorator)(optional, undefined, isArray, { enum: enumValues, ...swaggerOptions }), (0, common_decorators_1.getRequiredValidator)(optional, each), ...(0, common_decorators_1.getIsArrayDecorator)(isArray, arrayMessage), (0, class_validator_1.IsEnum)(enumValues, validatorOption));
14
+ }
15
+ //# sourceMappingURL=enum.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/validators/enum.decorator.ts"],"names":[],"mappings":";;AASA,0BAmBC;AA3BD,qDAAyC;AACzC,gEAA4D;AAC5D,iEAAgE;AAEhE,iEAA+G;AAI/G,SAAwB,OAAO,CAAC,QAAgB,EAAE,OAAwB;IACtE,MAAM,EACF,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,EAAE,EACZ,gBAAgB,EAChB,YAAY,EACZ,GAAG,cAAc,EACpB,GAAG,OAAO,IAAI,EAAE,CAAC;IAClB,MAAM,eAAe,GAAG,IAAA,uCAAmB,EAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,IAAI,KAAK,CAAC;IAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7E,OAAO,IAAA,kCAAe,EAClB,IAAA,2CAAuB,EAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,cAAc,EAAE,CAAC,EAC9F,IAAA,wCAAoB,EAAC,QAAQ,EAAE,IAAI,CAAC,EACpC,GAAG,IAAA,uCAAmB,EAAC,OAAO,EAAE,YAAY,CAAC,EAC7C,IAAA,wBAAM,EAAC,UAAiB,EAAE,eAAe,CAAC,CAC7C,CAAC;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ApiPropertyOptions } from '@nestjs/swagger';
2
+ import { IsNumberOptions } from 'class-validator';
3
+ import { DtoNumberValidatorOptions } from './validator.type';
4
+ type DtoNumberOptions = ApiPropertyOptions & IsNumberOptions & DtoNumberValidatorOptions;
5
+ export default function DtoNumber(options?: DtoNumberOptions): PropertyDecorator;
6
+ export {};
7
+ //# sourceMappingURL=number.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.decorator.d.ts","sourceRoot":"","sources":["../../../../src/decorators/validators/number.decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAmB,eAAe,EAAY,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAI7D,KAAK,gBAAgB,GAAG,kBAAkB,GAAG,eAAe,GAAG,yBAAyB,CAAC;AAEzF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,qBAoE3D"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = DtoNumber;
4
+ const apply_decorators_1 = require("../utils/apply-decorators");
5
+ const class_transformer_1 = require("class-transformer");
6
+ const class_validator_1 = require("class-validator");
7
+ const validator_options_1 = require("./utils/validator-options");
8
+ const common_decorators_1 = require("./utils/common-decorators");
9
+ function DtoNumber(options) {
10
+ const { isArray = false, optional = false, isInt = false, validatorMessage, arrayMessage, min, max,
11
+ // IsNumberOptions
12
+ allowNaN = false, allowInfinity = false, maxDecimalPlaces = 0, minMessage, maxMessage,
13
+ // ApiPropertyOptions
14
+ ...swaggerOptions } = options || {};
15
+ const validatorOption = (0, validator_options_1.getValidatorOptions)({ isArray, validatorMessage });
16
+ const each = validatorOption.each ?? false;
17
+ // Min/Max 검증용 옵션 (message 제외, minMessage/maxMessage가 우선)
18
+ const { message: _, ...minMaxValidatorOption } = validatorOption;
19
+ const isNumberOption = allowNaN !== undefined || allowInfinity !== undefined || maxDecimalPlaces !== undefined
20
+ ? {
21
+ ...(allowNaN !== undefined && { allowNaN }),
22
+ ...(allowInfinity !== undefined && { allowInfinity }),
23
+ ...(maxDecimalPlaces !== undefined && { maxDecimalPlaces }),
24
+ }
25
+ : undefined;
26
+ // 숫자 검증 데코레이터
27
+ const numberValidator = isInt ? (0, class_validator_1.IsInt)(validatorOption) : (0, class_validator_1.IsNumber)(isNumberOption, validatorOption);
28
+ const minMaxValidators = [];
29
+ if (min !== undefined) {
30
+ minMaxValidators.push((0, class_validator_1.Min)(min, {
31
+ ...minMaxValidatorOption,
32
+ each,
33
+ message: minMessage,
34
+ }));
35
+ }
36
+ if (max !== undefined) {
37
+ minMaxValidators.push((0, class_validator_1.Max)(max, {
38
+ ...minMaxValidatorOption,
39
+ each,
40
+ message: maxMessage,
41
+ }));
42
+ }
43
+ return (0, apply_decorators_1.applyDecorators)((0, common_decorators_1.getApiPropertyDecorator)(optional, Number, isArray, swaggerOptions), (0, common_decorators_1.getRequiredValidator)(optional, each), (0, class_transformer_1.Transform)(({ value }) => (Array.isArray(value) ? value.map(Number) : Number(value))), numberValidator, ...(0, common_decorators_1.getIsArrayDecorator)(isArray, arrayMessage), ...minMaxValidators);
44
+ }
45
+ //# sourceMappingURL=number.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/validators/number.decorator.ts"],"names":[],"mappings":";;AAUA,4BAoEC;AA9ED,gEAA4D;AAE5D,yDAA8C;AAC9C,qDAA6E;AAE7E,iEAAgE;AAChE,iEAA+G;AAI/G,SAAwB,SAAS,CAAC,OAA0B;IACxD,MAAM,EACF,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,KAAK,GAAG,KAAK,EACb,gBAAgB,EAChB,YAAY,EACZ,GAAG,EACH,GAAG;IAEH,kBAAkB;IAClB,QAAQ,GAAG,KAAK,EAChB,aAAa,GAAG,KAAK,EACrB,gBAAgB,GAAG,CAAC,EACpB,UAAU,EACV,UAAU;IAEV,qBAAqB;IACrB,GAAG,cAAc,EACpB,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,MAAM,eAAe,GAAG,IAAA,uCAAmB,EAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,IAAI,KAAK,CAAC;IAE3C,yDAAyD;IACzD,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,qBAAqB,EAAE,GAAG,eAAe,CAAC;IAEjE,MAAM,cAAc,GAChB,QAAQ,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,IAAI,gBAAgB,KAAK,SAAS;QACnF,CAAC,CAAC;YACI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC3C,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,CAAC;YACrD,GAAG,CAAC,gBAAgB,KAAK,SAAS,IAAI,EAAE,gBAAgB,EAAE,CAAC;SAC9D;QACH,CAAC,CAAC,SAAS,CAAC;IAEpB,cAAc;IACd,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,IAAA,uBAAK,EAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAA,0BAAQ,EAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAEnG,MAAM,gBAAgB,GAAwB,EAAE,CAAC;IAEjD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACpB,gBAAgB,CAAC,IAAI,CACjB,IAAA,qBAAG,EAAC,GAAG,EAAE;YACL,GAAG,qBAAqB;YACxB,IAAI;YACJ,OAAO,EAAE,UAAU;SACtB,CAAC,CACL,CAAC;IACN,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACpB,gBAAgB,CAAC,IAAI,CACjB,IAAA,qBAAG,EAAC,GAAG,EAAE;YACL,GAAG,qBAAqB;YACxB,IAAI;YACJ,OAAO,EAAE,UAAU;SACtB,CAAC,CACL,CAAC;IACN,CAAC;IAED,OAAO,IAAA,kCAAe,EAClB,IAAA,2CAAuB,EAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,EAClE,IAAA,wCAAoB,EAAC,QAAQ,EAAE,IAAI,CAAC,EACpC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EACpF,eAAe,EACf,GAAG,IAAA,uCAAmB,EAAC,OAAO,EAAE,YAAY,CAAC,EAC7C,GAAG,gBAAgB,CACtB,CAAC;AACN,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { ApiPropertyOptions } from '@nestjs/swagger';
2
+ import { IsNumberOptions } from 'class-validator';
3
+ import { DtoEnumValidatorOptions, DtoNumberValidatorOptions, DtoValidatorOptions } from './validator.type';
4
+ type PropertyStringOptions = ApiPropertyOptions & DtoValidatorOptions;
5
+ type PropertyNumberOptions = ApiPropertyOptions & IsNumberOptions & DtoNumberValidatorOptions;
6
+ type PropertyDateOptions = ApiPropertyOptions & DtoValidatorOptions;
7
+ type PropertyBooleanOptions = ApiPropertyOptions & DtoValidatorOptions;
8
+ type PropertyEnumOptions = ApiPropertyOptions & DtoEnumValidatorOptions & {
9
+ enum: object;
10
+ };
11
+ type PropertyOptions = PropertyStringOptions | PropertyNumberOptions | PropertyDateOptions | PropertyBooleanOptions | PropertyEnumOptions;
12
+ export default function Property(options: PropertyOptions): PropertyDecorator;
13
+ export {};
14
+ //# sourceMappingURL=property.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property.decorator.d.ts","sourceRoot":"","sources":["../../../../src/decorators/validators/property.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMlD,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG3G,KAAK,qBAAqB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AACtE,KAAK,qBAAqB,GAAG,kBAAkB,GAAG,eAAe,GAAG,yBAAyB,CAAC;AAC9F,KAAK,mBAAmB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AACpE,KAAK,sBAAsB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AACvE,KAAK,mBAAmB,GAAG,kBAAkB,GAAG,uBAAuB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAG3F,KAAK,eAAe,GACd,qBAAqB,GACrB,qBAAqB,GACrB,mBAAmB,GACnB,sBAAsB,GACtB,mBAAmB,CAAC;AAE1B,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,iBAAiB,CAkD5E"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = Property;
7
+ const string_decorator_1 = __importDefault(require("./string.decorator"));
8
+ const number_decorator_1 = __importDefault(require("./number.decorator"));
9
+ const date_decorator_1 = __importDefault(require("./date.decorator"));
10
+ const boolean_decorator_1 = __importDefault(require("./boolean.decorator"));
11
+ const enum_decorator_1 = __importDefault(require("./enum.decorator"));
12
+ function Property(options) {
13
+ // enum이 있으면 enum 처리
14
+ if ('enum' in options && options.enum) {
15
+ const { enum: enumType, ...restOptions } = options;
16
+ return (0, enum_decorator_1.default)(enumType, restOptions);
17
+ }
18
+ // type이 없으면 에러
19
+ if (!options.type) {
20
+ throw new Error('type 또는 enum 속성이 필요합니다.');
21
+ }
22
+ const { type, ...restOptions } = options;
23
+ // type이 생성자 함수인 경우 name으로 분기 처리
24
+ if (typeof type === 'function') {
25
+ const typeName = type.name;
26
+ switch (typeName) {
27
+ case 'String':
28
+ return (0, string_decorator_1.default)(restOptions);
29
+ case 'Number':
30
+ return (0, number_decorator_1.default)(restOptions);
31
+ case 'Date':
32
+ return (0, date_decorator_1.default)(restOptions);
33
+ case 'Boolean':
34
+ return (0, boolean_decorator_1.default)(restOptions);
35
+ default:
36
+ throw new Error(`지원하지 않는 타입입니다.: ${typeName}`);
37
+ }
38
+ }
39
+ // type이 문자열인 경우도 처리 (하위 호환성)
40
+ if (typeof type === 'string') {
41
+ const typeStr = type;
42
+ if (typeStr === 'string' || typeStr === 'String') {
43
+ return (0, string_decorator_1.default)(restOptions);
44
+ }
45
+ if (typeStr === 'number' || typeStr === 'Number') {
46
+ return (0, number_decorator_1.default)(restOptions);
47
+ }
48
+ if (typeStr === 'date' || typeStr === 'Date') {
49
+ return (0, date_decorator_1.default)(restOptions);
50
+ }
51
+ if (typeStr === 'boolean' || typeStr === 'Boolean') {
52
+ return (0, boolean_decorator_1.default)(restOptions);
53
+ }
54
+ throw new Error(`지원하지 않는 타입입니다.: ${typeStr}`);
55
+ }
56
+ throw new Error('지원하지 않는 type 형식입니다.');
57
+ }
58
+ //# sourceMappingURL=property.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/validators/property.decorator.ts"],"names":[],"mappings":";;;;;AAwBA,2BAkDC;AAxED,0EAA2C;AAC3C,0EAA2C;AAC3C,sEAAuC;AACvC,4EAA6C;AAC7C,sEAAuC;AAkBvC,SAAwB,QAAQ,CAAC,OAAwB;IACrD,oBAAoB;IACpB,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC;QACnD,OAAO,IAAA,wBAAO,EAAC,QAAQ,EAAE,WAA4C,CAAC,CAAC;IAC3E,CAAC;IAED,eAAe;IACf,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC;IAEzC,gCAAgC;IAChC,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAI,IAAiB,CAAC,IAAI,CAAC;QACzC,QAAQ,QAAQ,EAAE,CAAC;YACf,KAAK,QAAQ;gBACT,OAAO,IAAA,0BAAS,EAAC,WAA8C,CAAC,CAAC;YACrE,KAAK,QAAQ;gBACT,OAAO,IAAA,0BAAS,EAAC,WAA8C,CAAC,CAAC;YACrE,KAAK,MAAM;gBACP,OAAO,IAAA,wBAAO,EAAC,WAA4C,CAAC,CAAC;YACjE,KAAK,SAAS;gBACV,OAAO,IAAA,2BAAU,EAAC,WAA+C,CAAC,CAAC;YACvE;gBACI,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAW,CAAC;QAC5B,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,IAAA,0BAAS,EAAC,WAA8C,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,IAAA,0BAAS,EAAC,WAA8C,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YAC3C,OAAO,IAAA,wBAAO,EAAC,WAA4C,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACjD,OAAO,IAAA,2BAAU,EAAC,WAA+C,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ApiPropertyOptions } from '@nestjs/swagger';
2
+ import { DtoValidatorOptions } from './validator.type';
3
+ type DtoStringOptions = ApiPropertyOptions & DtoValidatorOptions;
4
+ export default function DtoString(options?: DtoStringOptions): PropertyDecorator;
5
+ export {};
6
+ //# sourceMappingURL=string.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.decorator.d.ts","sourceRoot":"","sources":["../../../../src/decorators/validators/string.decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAKvD,KAAK,gBAAgB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AAEjE,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,qBAmB3D"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = DtoString;
4
+ const class_validator_1 = require("class-validator");
5
+ const validator_options_1 = require("./utils/validator-options");
6
+ const common_decorators_1 = require("./utils/common-decorators");
7
+ const apply_decorators_1 = require("../utils/apply-decorators");
8
+ function DtoString(options) {
9
+ const { isArray = false, optional = false, validatorMessage, notEmptyMessage, arrayMessage, ...swaggerOptions } = options || {};
10
+ const validatorOption = (0, validator_options_1.getValidatorOptions)({ isArray, validatorMessage });
11
+ const each = validatorOption.each ?? false;
12
+ return (0, apply_decorators_1.applyDecorators)((0, common_decorators_1.getApiPropertyDecorator)(optional, String, isArray, swaggerOptions), (0, common_decorators_1.getRequiredValidator)(optional, each, false), ...(0, common_decorators_1.getIsArrayDecorator)(isArray, arrayMessage), (0, class_validator_1.IsString)(validatorOption));
13
+ }
14
+ //# sourceMappingURL=string.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/validators/string.decorator.ts"],"names":[],"mappings":";;AASA,4BAmBC;AA5BD,qDAA2C;AAG3C,iEAAgE;AAChE,iEAA+G;AAC/G,gEAA4D;AAI5D,SAAwB,SAAS,CAAC,OAA0B;IACxD,MAAM,EACF,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,GAAG,cAAc,EACpB,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,MAAM,eAAe,GAAG,IAAA,uCAAmB,EAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,IAAI,KAAK,CAAC;IAE3C,OAAO,IAAA,kCAAe,EAClB,IAAA,2CAAuB,EAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,EAClE,IAAA,wCAAoB,EAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,EAC3C,GAAG,IAAA,uCAAmB,EAAC,OAAO,EAAE,YAAY,CAAC,EAC7C,IAAA,0BAAQ,EAAC,eAAe,CAAC,CAC5B,CAAC;AACN,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { ApiPropertyOptions } from '@nestjs/swagger';
2
+ import { DtoValidatorOptions } from '../validator.type';
3
+ /**
4
+ * PropertyDecorator 타입 정의
5
+ * TypeScript의 기본 PropertyDecorator와 호환되도록 정의
6
+ */
7
+ export type PropertyDecorator = (target: any, propertyKey: string | symbol) => void;
8
+ /**
9
+ * 공통 옵션 추출 타입
10
+ */
11
+ export type CommonOptions = DtoValidatorOptions & {
12
+ isArray?: boolean;
13
+ };
14
+ /**
15
+ * 공통 옵션에서 표준 옵션 추출
16
+ */
17
+ export declare const extractCommonOptions: <T extends CommonOptions>(options?: T) => {
18
+ isArray: boolean;
19
+ optional: boolean;
20
+ validatorMessage: string | undefined;
21
+ arrayMessage: string | undefined;
22
+ notEmptyMessage: string | undefined;
23
+ swaggerOptions: Omit<T, keyof CommonOptions>;
24
+ };
25
+ /**
26
+ * ApiProperty 또는 ApiPropertyOptional 데코레이터 반환
27
+ */
28
+ export declare const getApiPropertyDecorator: (optional: boolean, type: ApiPropertyOptions["type"], isArray: boolean, swaggerOptions?: Partial<ApiPropertyOptions>) => globalThis.PropertyDecorator;
29
+ /**
30
+ * IsOptional 또는 IsDefined/IsNotEmpty 데코레이터 반환
31
+ */
32
+ export declare const getRequiredValidator: (optional: boolean, each: boolean, useIsNotEmpty?: boolean, notEmptyMessage?: string) => globalThis.PropertyDecorator;
33
+ /**
34
+ * IsArray 데코레이터 조건부 반환
35
+ */
36
+ export declare const getIsArrayDecorator: (isArray: boolean, arrayMessage?: string) => globalThis.PropertyDecorator[];
37
+ /**
38
+ * 공통 데코레이터 배열 생성 (ApiProperty, Type 변환, 필수/선택 검증, 배열 검증)
39
+ */
40
+ export declare const createCommonDecorators: (options: CommonOptions & {
41
+ type: ApiPropertyOptions["type"];
42
+ typeTransformer?: PropertyDecorator;
43
+ customValidator?: PropertyDecorator | PropertyDecorator[];
44
+ useIsNotEmpty?: boolean;
45
+ }) => PropertyDecorator;
46
+ //# sourceMappingURL=common-decorators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common-decorators.d.ts","sourceRoot":"","sources":["../../../../../src/decorators/validators/utils/common-decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;AAEpF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,aAAa,EAAE,UAAU,CAAC;;;;;;oBAgB/B,IAAI,CAAC,CAAC,EAAE,MAAM,aAAa,CAAC;CAErE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAChC,UAAU,OAAO,EACjB,MAAM,kBAAkB,CAAC,MAAM,CAAC,EAChC,SAAS,OAAO,EAChB,iBAAiB,OAAO,CAAC,kBAAkB,CAAC,iCAS/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC7B,UAAU,OAAO,EACjB,MAAM,OAAO,EACb,gBAAe,OAAe,EAC9B,kBAAkB,MAAM,iCAS3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,SAAS,OAAO,EAAE,eAAe,MAAM,mCAE1E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAC/B,SAAS,aAAa,GAAG;IACrB,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACjC,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC,eAAe,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAC;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B,KACF,iBAkBF,CAAC"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCommonDecorators = exports.getIsArrayDecorator = exports.getRequiredValidator = exports.getApiPropertyDecorator = exports.extractCommonOptions = void 0;
4
+ const swagger_1 = require("@nestjs/swagger");
5
+ const class_validator_1 = require("class-validator");
6
+ const apply_decorators_1 = require("../../utils/apply-decorators");
7
+ const validator_options_1 = require("./validator-options");
8
+ /**
9
+ * 공통 옵션에서 표준 옵션 추출
10
+ */
11
+ const extractCommonOptions = (options) => {
12
+ const { isArray = false, optional = false, validatorMessage, arrayMessage, notEmptyMessage, ...swaggerOptions } = options || {};
13
+ return {
14
+ isArray,
15
+ optional,
16
+ validatorMessage,
17
+ arrayMessage,
18
+ notEmptyMessage,
19
+ swaggerOptions: swaggerOptions,
20
+ };
21
+ };
22
+ exports.extractCommonOptions = extractCommonOptions;
23
+ /**
24
+ * ApiProperty 또는 ApiPropertyOptional 데코레이터 반환
25
+ */
26
+ const getApiPropertyDecorator = (optional, type, isArray, swaggerOptions) => {
27
+ const apiOptions = {
28
+ type,
29
+ isArray,
30
+ ...swaggerOptions,
31
+ };
32
+ return optional ? (0, swagger_1.ApiPropertyOptional)(apiOptions) : (0, swagger_1.ApiProperty)(apiOptions);
33
+ };
34
+ exports.getApiPropertyDecorator = getApiPropertyDecorator;
35
+ /**
36
+ * IsOptional 또는 IsDefined/IsNotEmpty 데코레이터 반환
37
+ */
38
+ const getRequiredValidator = (optional, each, useIsNotEmpty = false, notEmptyMessage) => {
39
+ if (optional) {
40
+ return (0, class_validator_1.IsOptional)({ each });
41
+ }
42
+ if (useIsNotEmpty) {
43
+ return (0, class_validator_1.IsNotEmpty)({ message: notEmptyMessage ?? undefined, each });
44
+ }
45
+ return (0, class_validator_1.IsDefined)({ each });
46
+ };
47
+ exports.getRequiredValidator = getRequiredValidator;
48
+ /**
49
+ * IsArray 데코레이터 조건부 반환
50
+ */
51
+ const getIsArrayDecorator = (isArray, arrayMessage) => {
52
+ return isArray ? [(0, class_validator_1.IsArray)({ message: arrayMessage ?? undefined })] : [];
53
+ };
54
+ exports.getIsArrayDecorator = getIsArrayDecorator;
55
+ /**
56
+ * 공통 데코레이터 배열 생성 (ApiProperty, Type 변환, 필수/선택 검증, 배열 검증)
57
+ */
58
+ const createCommonDecorators = (options) => {
59
+ const extracted = (0, exports.extractCommonOptions)(options);
60
+ const { isArray, optional, validatorMessage, arrayMessage, notEmptyMessage, swaggerOptions } = extracted;
61
+ const { type, typeTransformer, customValidator, useIsNotEmpty } = options;
62
+ const validatorOption = (0, validator_options_1.getValidatorOptions)({ isArray, validatorMessage });
63
+ const each = validatorOption.each ?? false;
64
+ const useIsNotEmptyValue = useIsNotEmpty ?? false;
65
+ const decorators = [
66
+ (0, exports.getApiPropertyDecorator)(optional, type, isArray, swaggerOptions),
67
+ ...(typeTransformer ? [typeTransformer] : []),
68
+ (0, exports.getRequiredValidator)(optional, each, useIsNotEmptyValue, notEmptyMessage),
69
+ ...(0, exports.getIsArrayDecorator)(isArray, arrayMessage),
70
+ ...(customValidator ? (Array.isArray(customValidator) ? customValidator : [customValidator]) : []),
71
+ ];
72
+ return (0, apply_decorators_1.applyDecorators)(...decorators);
73
+ };
74
+ exports.createCommonDecorators = createCommonDecorators;
75
+ //# sourceMappingURL=common-decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common-decorators.js","sourceRoot":"","sources":["../../../../../src/decorators/validators/utils/common-decorators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare const getValidatorOptions: ({ isArray, validatorMessage, }: {
2
+ isArray?: boolean;
3
+ validatorMessage?: string;
4
+ }) => {
5
+ message?: string | undefined;
6
+ each?: boolean | undefined;
7
+ };
8
+ //# sourceMappingURL=validator-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator-options.d.ts","sourceRoot":"","sources":["../../../../../src/decorators/validators/utils/validator-options.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,GAAI,gCAGjC;IACC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;;;CAKA,CAAC"}