@elsikora/nestjs-crud-automator 2.0.3-dev.1 → 2.0.4-dev.1

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 (129) hide show
  1. package/dist/cjs/class/api/authorization/policy/discovery-service.class.d.ts +0 -1
  2. package/dist/cjs/class/api/authorization/policy/discovery-service.class.js +1 -4
  3. package/dist/cjs/class/api/authorization/policy/discovery-service.class.js.map +1 -1
  4. package/dist/cjs/class/api/authorization/runtime.class.js +27 -9
  5. package/dist/cjs/class/api/authorization/runtime.class.js.map +1 -1
  6. package/dist/cjs/constant/class/authorization/token-registry.constant.js +1 -2
  7. package/dist/cjs/constant/class/authorization/token-registry.constant.js.map +1 -1
  8. package/dist/cjs/constant/decorator/api/function.constant.js +1 -2
  9. package/dist/cjs/constant/decorator/api/function.constant.js.map +1 -1
  10. package/dist/cjs/constant/dto/auto-context.constant.d.ts +0 -1
  11. package/dist/cjs/constant/dto/auto-context.constant.js +1 -3
  12. package/dist/cjs/constant/dto/auto-context.constant.js.map +1 -1
  13. package/dist/cjs/constant/utility/dto/generate.constant.js +4 -4
  14. package/dist/cjs/constant/utility/dto/generate.constant.js.map +1 -1
  15. package/dist/cjs/decorator/api/function/delete.decorator.js +1 -11
  16. package/dist/cjs/decorator/api/function/delete.decorator.js.map +1 -1
  17. package/dist/cjs/decorator/api/function/update.decorator.js +1 -11
  18. package/dist/cjs/decorator/api/function/update.decorator.js.map +1 -1
  19. package/dist/cjs/decorator/api/method.decorator.js +30 -9
  20. package/dist/cjs/decorator/api/method.decorator.js.map +1 -1
  21. package/dist/cjs/decorator/api/property/number.decorator.js +1 -18
  22. package/dist/cjs/decorator/api/property/number.decorator.js.map +1 -1
  23. package/dist/cjs/decorator/api/property/string.decorator.js +3 -3
  24. package/dist/cjs/decorator/api/property/string.decorator.js.map +1 -1
  25. package/dist/cjs/decorator/api/route-custom.decorator.js +4 -2
  26. package/dist/cjs/decorator/api/route-custom.decorator.js.map +1 -1
  27. package/dist/cjs/factory/api-controller.factory.js +2 -1
  28. package/dist/cjs/factory/api-controller.factory.js.map +1 -1
  29. package/dist/cjs/index.js +0 -2
  30. package/dist/cjs/index.js.map +1 -1
  31. package/dist/cjs/interceptor/correlation-id-response-body.interceptor.js +1 -2
  32. package/dist/cjs/interceptor/correlation-id-response-body.interceptor.js.map +1 -1
  33. package/dist/cjs/module/api/authorization.module.js +2 -4
  34. package/dist/cjs/module/api/authorization.module.js.map +1 -1
  35. package/dist/cjs/utility/api/route/apply-dto-metadata.utility.d.ts +13 -0
  36. package/dist/cjs/utility/api/route/apply-dto-metadata.utility.js +118 -0
  37. package/dist/cjs/utility/api/route/apply-dto-metadata.utility.js.map +1 -0
  38. package/dist/cjs/utility/authorization/scope-merge-where.utility.js +1 -11
  39. package/dist/cjs/utility/authorization/scope-merge-where.utility.js.map +1 -1
  40. package/dist/cjs/utility/database/typeorm/get/foreign-key-violation-details.utility.js +18 -27
  41. package/dist/cjs/utility/database/typeorm/get/foreign-key-violation-details.utility.js.map +1 -1
  42. package/dist/cjs/utility/database/typeorm/get/unique-violation-details.utility.js +10 -16
  43. package/dist/cjs/utility/database/typeorm/get/unique-violation-details.utility.js.map +1 -1
  44. package/dist/cjs/utility/dto/auto/context/pop.utility.js +3 -3
  45. package/dist/cjs/utility/dto/auto/context/pop.utility.js.map +1 -1
  46. package/dist/cjs/utility/dto/auto/context/push.utility.js +2 -2
  47. package/dist/cjs/utility/dto/auto/context/push.utility.js.map +1 -1
  48. package/dist/cjs/utility/dto/build-decorator.utility.js +1 -1
  49. package/dist/cjs/utility/dto/build-decorator.utility.js.map +1 -1
  50. package/dist/cjs/utility/dto/generate/manual-child.utility.js +7 -25
  51. package/dist/cjs/utility/dto/generate/manual-child.utility.js.map +1 -1
  52. package/dist/cjs/utility/dto/get/decorator-config.utility.d.ts +1 -2
  53. package/dist/cjs/utility/dto/get/decorator-config.utility.js +1 -2
  54. package/dist/cjs/utility/dto/get/decorator-config.utility.js.map +1 -1
  55. package/dist/cjs/utility/dto/index.d.ts +0 -1
  56. package/dist/cjs/utility/get/auto-dto-context.utility.js +1 -1
  57. package/dist/cjs/utility/get/auto-dto-context.utility.js.map +1 -1
  58. package/dist/cjs/utility/queue-auto-context-retry.utility.js +1 -3
  59. package/dist/cjs/utility/queue-auto-context-retry.utility.js.map +1 -1
  60. package/dist/cjs/utility/register-auto-dto-child.utility.js +3 -3
  61. package/dist/cjs/utility/register-auto-dto-child.utility.js.map +1 -1
  62. package/dist/esm/class/api/authorization/policy/discovery-service.class.d.ts +0 -1
  63. package/dist/esm/class/api/authorization/policy/discovery-service.class.js +1 -4
  64. package/dist/esm/class/api/authorization/policy/discovery-service.class.js.map +1 -1
  65. package/dist/esm/class/api/authorization/runtime.class.js +27 -9
  66. package/dist/esm/class/api/authorization/runtime.class.js.map +1 -1
  67. package/dist/esm/constant/class/authorization/token-registry.constant.js +1 -2
  68. package/dist/esm/constant/class/authorization/token-registry.constant.js.map +1 -1
  69. package/dist/esm/constant/decorator/api/function.constant.js +1 -2
  70. package/dist/esm/constant/decorator/api/function.constant.js.map +1 -1
  71. package/dist/esm/constant/dto/auto-context.constant.d.ts +0 -1
  72. package/dist/esm/constant/dto/auto-context.constant.js +2 -3
  73. package/dist/esm/constant/dto/auto-context.constant.js.map +1 -1
  74. package/dist/esm/constant/utility/dto/generate.constant.js +4 -4
  75. package/dist/esm/constant/utility/dto/generate.constant.js.map +1 -1
  76. package/dist/esm/decorator/api/function/delete.decorator.js +1 -11
  77. package/dist/esm/decorator/api/function/delete.decorator.js.map +1 -1
  78. package/dist/esm/decorator/api/function/update.decorator.js +1 -11
  79. package/dist/esm/decorator/api/function/update.decorator.js.map +1 -1
  80. package/dist/esm/decorator/api/method.decorator.js +30 -9
  81. package/dist/esm/decorator/api/method.decorator.js.map +1 -1
  82. package/dist/esm/decorator/api/property/number.decorator.js +1 -18
  83. package/dist/esm/decorator/api/property/number.decorator.js.map +1 -1
  84. package/dist/esm/decorator/api/property/string.decorator.js +3 -3
  85. package/dist/esm/decorator/api/property/string.decorator.js.map +1 -1
  86. package/dist/esm/decorator/api/route-custom.decorator.js +4 -2
  87. package/dist/esm/decorator/api/route-custom.decorator.js.map +1 -1
  88. package/dist/esm/factory/api-controller.factory.js +2 -1
  89. package/dist/esm/factory/api-controller.factory.js.map +1 -1
  90. package/dist/esm/index.js +0 -1
  91. package/dist/esm/index.js.map +1 -1
  92. package/dist/esm/interceptor/correlation-id-response-body.interceptor.js +1 -2
  93. package/dist/esm/interceptor/correlation-id-response-body.interceptor.js.map +1 -1
  94. package/dist/esm/module/api/authorization.module.js +2 -4
  95. package/dist/esm/module/api/authorization.module.js.map +1 -1
  96. package/dist/esm/utility/api/route/apply-dto-metadata.utility.d.ts +13 -0
  97. package/dist/esm/utility/api/route/apply-dto-metadata.utility.js +116 -0
  98. package/dist/esm/utility/api/route/apply-dto-metadata.utility.js.map +1 -0
  99. package/dist/esm/utility/authorization/scope-merge-where.utility.js +1 -11
  100. package/dist/esm/utility/authorization/scope-merge-where.utility.js.map +1 -1
  101. package/dist/esm/utility/database/typeorm/get/foreign-key-violation-details.utility.js +18 -27
  102. package/dist/esm/utility/database/typeorm/get/foreign-key-violation-details.utility.js.map +1 -1
  103. package/dist/esm/utility/database/typeorm/get/unique-violation-details.utility.js +10 -16
  104. package/dist/esm/utility/database/typeorm/get/unique-violation-details.utility.js.map +1 -1
  105. package/dist/esm/utility/dto/auto/context/pop.utility.js +4 -4
  106. package/dist/esm/utility/dto/auto/context/pop.utility.js.map +1 -1
  107. package/dist/esm/utility/dto/auto/context/push.utility.js +3 -3
  108. package/dist/esm/utility/dto/auto/context/push.utility.js.map +1 -1
  109. package/dist/esm/utility/dto/build-decorator.utility.js +1 -1
  110. package/dist/esm/utility/dto/build-decorator.utility.js.map +1 -1
  111. package/dist/esm/utility/dto/generate/manual-child.utility.js +7 -25
  112. package/dist/esm/utility/dto/generate/manual-child.utility.js.map +1 -1
  113. package/dist/esm/utility/dto/get/decorator-config.utility.d.ts +1 -2
  114. package/dist/esm/utility/dto/get/decorator-config.utility.js +1 -2
  115. package/dist/esm/utility/dto/get/decorator-config.utility.js.map +1 -1
  116. package/dist/esm/utility/dto/index.d.ts +0 -1
  117. package/dist/esm/utility/get/auto-dto-context.utility.js +2 -2
  118. package/dist/esm/utility/get/auto-dto-context.utility.js.map +1 -1
  119. package/dist/esm/utility/queue-auto-context-retry.utility.js +1 -3
  120. package/dist/esm/utility/queue-auto-context-retry.utility.js.map +1 -1
  121. package/dist/esm/utility/register-auto-dto-child.utility.js +4 -4
  122. package/dist/esm/utility/register-auto-dto-child.utility.js.map +1 -1
  123. package/package.json +1 -1
  124. package/dist/cjs/utility/dto/validate-property-config.utility.d.ts +0 -2
  125. package/dist/cjs/utility/dto/validate-property-config.utility.js +0 -7
  126. package/dist/cjs/utility/dto/validate-property-config.utility.js.map +0 -1
  127. package/dist/esm/utility/dto/validate-property-config.utility.d.ts +0 -2
  128. package/dist/esm/utility/dto/validate-property-config.utility.js +0 -5
  129. package/dist/esm/utility/dto/validate-property-config.utility.js.map +0 -1
@@ -1,14 +1,5 @@
1
1
  import { QueryFailedError } from 'typeorm';
2
2
 
3
- const REGEX_GROUP_1_INDEX = 1;
4
- const REGEX_GROUP_2_INDEX = 2;
5
- const REGEX_GROUP_3_INDEX = 3;
6
- const MYSQL_CONSTRAINT_REGEX = /CONSTRAINT `([^`]+)`/;
7
- const MYSQL_FOREIGN_KEY_REGEX = /FOREIGN KEY \(`([^`]+)`\) REFERENCES `([^`]+)` \(`([^`]+)`\)/;
8
- const POSTGRES_FOREIGN_KEY_CONSTRAINT_REGEX = /foreign key constraint "([^"]+)"/;
9
- const POSTGRES_ON_TABLE_REGEX = /on table "([^"]+)"/;
10
- const POSTGRES_REFERENCED_REGEX = /Key \(([^)]+)\)=\(([^)]+)\) is still referenced from table "([^"]+)"/;
11
- const POSTGRES_REFERENCED_ROW_MISSING_REGEX = /Key \(([^)]+)\)=\(([^)]+)\) is not present in table "([^"]+)"/;
12
3
  /**
13
4
  * Extracts best-effort details from a TypeORM FOREIGN KEY violation (QueryFailedError).
14
5
  * Works best with PostgreSQL (driverError.detail / driverError.constraint).
@@ -50,42 +41,42 @@ function DatabaseTypeOrmGetForeignKeyViolationDetails(error) {
50
41
  let referencedTable;
51
42
  let value;
52
43
  const detailOrMessage = detail ?? message;
53
- const postgresMissingMatch = POSTGRES_REFERENCED_ROW_MISSING_REGEX.exec(detailOrMessage);
44
+ const postgresMissingMatch = /Key \((?<field>[^)]+)\)=\((?<value>[^)]+)\) is not present in table "(?<referencedTable>[^"]+)"/.exec(detailOrMessage);
54
45
  if (postgresMissingMatch) {
55
- field = postgresMissingMatch[REGEX_GROUP_1_INDEX];
56
- value = postgresMissingMatch[REGEX_GROUP_2_INDEX];
57
- referencedTable = postgresMissingMatch[REGEX_GROUP_3_INDEX];
46
+ field = postgresMissingMatch.groups?.field;
47
+ value = postgresMissingMatch.groups?.value;
48
+ referencedTable = postgresMissingMatch.groups?.referencedTable;
58
49
  }
59
- const postgresReferencedMatch = POSTGRES_REFERENCED_REGEX.exec(detailOrMessage);
50
+ const postgresReferencedMatch = /Key \((?<field>[^)]+)\)=\((?<value>[^)]+)\) is still referenced from table "(?<referencedTable>[^"]+)"/.exec(detailOrMessage);
60
51
  if (postgresReferencedMatch) {
61
- field ??= postgresReferencedMatch[REGEX_GROUP_1_INDEX];
62
- value ??= postgresReferencedMatch[REGEX_GROUP_2_INDEX];
63
- referencedTable ??= postgresReferencedMatch[REGEX_GROUP_3_INDEX];
52
+ field ??= postgresReferencedMatch.groups?.field;
53
+ value ??= postgresReferencedMatch.groups?.value;
54
+ referencedTable ??= postgresReferencedMatch.groups?.referencedTable;
64
55
  }
65
- const mysqlForeignKeyMatch = MYSQL_FOREIGN_KEY_REGEX.exec(detailOrMessage);
56
+ const mysqlForeignKeyMatch = /FOREIGN KEY \(`(?<field>[^`]+)`\) REFERENCES `(?<referencedTable>[^`]+)` \(`(?<referencedField>[^`]+)`\)/.exec(detailOrMessage);
66
57
  if (mysqlForeignKeyMatch) {
67
- field ??= mysqlForeignKeyMatch[REGEX_GROUP_1_INDEX];
68
- referencedTable ??= mysqlForeignKeyMatch[REGEX_GROUP_2_INDEX];
69
- referencedField ??= mysqlForeignKeyMatch[REGEX_GROUP_3_INDEX];
58
+ field ??= mysqlForeignKeyMatch.groups?.field;
59
+ referencedTable ??= mysqlForeignKeyMatch.groups?.referencedTable;
60
+ referencedField ??= mysqlForeignKeyMatch.groups?.referencedField;
70
61
  }
71
62
  let constraint = constraintFromDriver;
72
63
  if (!constraint) {
73
- const postgresConstraintMatch = POSTGRES_FOREIGN_KEY_CONSTRAINT_REGEX.exec(message);
64
+ const postgresConstraintMatch = /foreign key constraint "(?<constraint>[^"]+)"/.exec(message);
74
65
  if (postgresConstraintMatch) {
75
- constraint = postgresConstraintMatch[REGEX_GROUP_1_INDEX];
66
+ constraint = postgresConstraintMatch.groups?.constraint;
76
67
  }
77
68
  else {
78
- const mysqlConstraintMatch = MYSQL_CONSTRAINT_REGEX.exec(detailOrMessage);
69
+ const mysqlConstraintMatch = /CONSTRAINT `(?<constraint>[^`]+)`/.exec(detailOrMessage);
79
70
  if (mysqlConstraintMatch) {
80
- constraint = mysqlConstraintMatch[REGEX_GROUP_1_INDEX];
71
+ constraint = mysqlConstraintMatch.groups?.constraint;
81
72
  }
82
73
  }
83
74
  }
84
75
  let table = tableFromDriver;
85
76
  if (!table) {
86
- const postgresTableMatch = POSTGRES_ON_TABLE_REGEX.exec(message);
77
+ const postgresTableMatch = /on table "(?<table>[^"]+)"/.exec(message);
87
78
  if (postgresTableMatch) {
88
- table = postgresTableMatch[REGEX_GROUP_1_INDEX];
79
+ table = postgresTableMatch.groups?.table;
89
80
  }
90
81
  }
91
82
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"foreign-key-violation-details.utility.js","sources":["../../../../../../../src/utility/database/typeorm/get/foreign-key-violation-details.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foreign-key-violation-details.utility.js","sources":["../../../../../../../src/utility/database/typeorm/get/foreign-key-violation-details.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;;;;;AAMG;AACG,SAAU,4CAA4C,CAAC,KAAc,EAAA;IAC1E,MAAM,kBAAkB,GAAY,KAAK,YAAY,gBAAgB,KAAK,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAK,KAA4B,CAAC,IAAI,KAAK,kBAAkB,CAAC;IAElL,IAAI,CAAC,kBAAkB,EAAE;AACxB,QAAA,OAAO,SAAS;IACjB;AAEA,IAAA,IAAI,WAAgD;IAEpD,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC/C,QAAA,MAAM,kBAAkB,GAAa,KAAmC,CAAC,WAAW;QAEpF,IAAI,kBAAkB,IAAI,IAAI,IAAI,OAAO,kBAAkB,KAAK,QAAQ,EAAE;YACzE,WAAW,GAAG,kBAA6C;QAC5D;IACD;AAEA,IAAA,MAAM,oBAAoB,GAAuB,OAAO,WAAW,EAAE,UAAU,KAAK,QAAQ,GAAG,WAAW,CAAC,UAAU,GAAG,SAAS;AACjI,IAAA,MAAM,MAAM,GAAuB,OAAO,WAAW,EAAE,MAAM,KAAK,QAAQ,GAAG,WAAW,CAAC,MAAM,GAAG,SAAS;AAC3G,IAAA,MAAM,eAAe,GAAuB,OAAO,WAAW,EAAE,KAAK,KAAK,QAAQ,GAAG,WAAW,CAAC,KAAK,GAAG,SAAS;AAElH,IAAA,MAAM,aAAa,GAAY,WAAW,EAAE,OAAO;IACnD,IAAI,OAAO,GAAW,EAAE;AAExB,IAAA,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;QACtC,OAAO,GAAG,aAAa;IACxB;AAAO,SAAA,IAAI,KAAK,YAAY,KAAK,EAAE;AAClC,QAAA,OAAO,GAAG,KAAK,CAAC,OAAO;IACxB;AAAO,SAAA,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,EAAE;AAC5E,QAAA,MAAM,aAAa,GAAa,KAA+B,CAAC,OAAO;AAEvE,QAAA,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;YACtC,OAAO,GAAG,aAAa;QACxB;IACD;AAEA,IAAA,IAAI,KAAyB;AAC7B,IAAA,IAAI,eAAmC;AACvC,IAAA,IAAI,eAAmC;AACvC,IAAA,IAAI,KAAyB;AAE7B,IAAA,MAAM,eAAe,GAAW,MAAM,IAAI,OAAO;IAEjD,MAAM,oBAAoB,GAA2B,iGAAiG,CAAC,IAAI,CAAC,eAAe,CAAC;IAE5K,IAAI,oBAAoB,EAAE;AACzB,QAAA,KAAK,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK;AAC1C,QAAA,KAAK,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK;AAC1C,QAAA,eAAe,GAAG,oBAAoB,CAAC,MAAM,EAAE,eAAe;IAC/D;IAEA,MAAM,uBAAuB,GAA2B,wGAAwG,CAAC,IAAI,CAAC,eAAe,CAAC;IAEtL,IAAI,uBAAuB,EAAE;AAC5B,QAAA,KAAK,KAAK,uBAAuB,CAAC,MAAM,EAAE,KAAK;AAC/C,QAAA,KAAK,KAAK,uBAAuB,CAAC,MAAM,EAAE,KAAK;AAC/C,QAAA,eAAe,KAAK,uBAAuB,CAAC,MAAM,EAAE,eAAe;IACpE;IAEA,MAAM,oBAAoB,GAA2B,0GAA0G,CAAC,IAAI,CAAC,eAAe,CAAC;IAErL,IAAI,oBAAoB,EAAE;AACzB,QAAA,KAAK,KAAK,oBAAoB,CAAC,MAAM,EAAE,KAAK;AAC5C,QAAA,eAAe,KAAK,oBAAoB,CAAC,MAAM,EAAE,eAAe;AAChE,QAAA,eAAe,KAAK,oBAAoB,CAAC,MAAM,EAAE,eAAe;IACjE;IAEA,IAAI,UAAU,GAAuB,oBAAoB;IAEzD,IAAI,CAAC,UAAU,EAAE;QAChB,MAAM,uBAAuB,GAA2B,+CAA+C,CAAC,IAAI,CAAC,OAAO,CAAC;QAErH,IAAI,uBAAuB,EAAE;AAC5B,YAAA,UAAU,GAAG,uBAAuB,CAAC,MAAM,EAAE,UAAU;QACxD;aAAO;YACN,MAAM,oBAAoB,GAA2B,mCAAmC,CAAC,IAAI,CAAC,eAAe,CAAC;YAE9G,IAAI,oBAAoB,EAAE;AACzB,gBAAA,UAAU,GAAG,oBAAoB,CAAC,MAAM,EAAE,UAAU;YACrD;QACD;IACD;IAEA,IAAI,KAAK,GAAuB,eAAe;IAE/C,IAAI,CAAC,KAAK,EAAE;QACX,MAAM,kBAAkB,GAA2B,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC;QAE7F,IAAI,kBAAkB,EAAE;AACvB,YAAA,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK;QACzC;IACD;IAEA,OAAO;QACN,UAAU;QACV,MAAM;QACN,KAAK;QACL,eAAe;QACf,eAAe;QACf,KAAK;QACL,KAAK;KACL;AACF;;;;"}
@@ -1,11 +1,5 @@
1
1
  import { QueryFailedError } from 'typeorm';
2
2
 
3
- const REGEX_GROUP_1_INDEX = 1;
4
- const REGEX_GROUP_2_INDEX = 2;
5
- const POSTGRES_UNIQUE_CONSTRAINT_REGEX = /unique constraint "([^"]+)"/;
6
- const POSTGRES_ON_TABLE_REGEX = /on table "([^"]+)"/;
7
- const POSTGRES_UNIQUE_DETAIL_REGEX = /Key \(([^)]+)\)=\(([^)]+)\) already exists\./;
8
- const MYSQL_DUPLICATE_ENTRY_REGEX = /Duplicate entry '([^']+)' for key '([^']+)'/;
9
3
  /**
10
4
  * Extracts best-effort details from a TypeORM UNIQUE constraint violation (QueryFailedError).
11
5
  * Works best with PostgreSQL (driverError.detail / driverError.constraint).
@@ -45,15 +39,15 @@ function DatabaseTypeOrmGetUniqueViolationDetails(error) {
45
39
  const detailOrMessage = detail ?? message;
46
40
  let field;
47
41
  let value;
48
- const postgresDetailMatch = POSTGRES_UNIQUE_DETAIL_REGEX.exec(detailOrMessage);
42
+ const postgresDetailMatch = /Key \((?<field>[^)]+)\)=\((?<value>[^)]+)\) already exists\./.exec(detailOrMessage);
49
43
  if (postgresDetailMatch) {
50
- field = postgresDetailMatch[REGEX_GROUP_1_INDEX];
51
- value = postgresDetailMatch[REGEX_GROUP_2_INDEX];
44
+ field = postgresDetailMatch.groups?.field;
45
+ value = postgresDetailMatch.groups?.value;
52
46
  }
53
- const mysqlDuplicateMatch = MYSQL_DUPLICATE_ENTRY_REGEX.exec(detailOrMessage);
47
+ const mysqlDuplicateMatch = /Duplicate entry '(?<value>[^']+)' for key '(?<key>[^']+)'/.exec(detailOrMessage);
54
48
  if (mysqlDuplicateMatch) {
55
- value ??= mysqlDuplicateMatch[REGEX_GROUP_1_INDEX];
56
- const key = mysqlDuplicateMatch[REGEX_GROUP_2_INDEX];
49
+ const key = mysqlDuplicateMatch.groups?.key;
50
+ value ??= mysqlDuplicateMatch.groups?.value;
57
51
  if (key) {
58
52
  // Key can be "table.column" or an index name. Best-effort: split by '.' and take the last segment.
59
53
  const segments = key.split(".");
@@ -63,16 +57,16 @@ function DatabaseTypeOrmGetUniqueViolationDetails(error) {
63
57
  }
64
58
  let constraint = constraintFromDriver;
65
59
  if (!constraint) {
66
- const postgresConstraintMatch = POSTGRES_UNIQUE_CONSTRAINT_REGEX.exec(message);
60
+ const postgresConstraintMatch = /unique constraint "(?<constraint>[^"]+)"/.exec(message);
67
61
  if (postgresConstraintMatch) {
68
- constraint = postgresConstraintMatch[REGEX_GROUP_1_INDEX];
62
+ constraint = postgresConstraintMatch.groups?.constraint;
69
63
  }
70
64
  }
71
65
  let table = tableFromDriver;
72
66
  if (!table) {
73
- const postgresTableMatch = POSTGRES_ON_TABLE_REGEX.exec(message);
67
+ const postgresTableMatch = /on table "(?<table>[^"]+)"/.exec(message);
74
68
  if (postgresTableMatch) {
75
- table = postgresTableMatch[REGEX_GROUP_1_INDEX];
69
+ table = postgresTableMatch.groups?.table;
76
70
  }
77
71
  }
78
72
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"unique-violation-details.utility.js","sources":["../../../../../../../src/utility/database/typeorm/get/unique-violation-details.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unique-violation-details.utility.js","sources":["../../../../../../../src/utility/database/typeorm/get/unique-violation-details.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DTO_AUTO_CONTEXT_METADATA_KEY } from '../../../../constant/dto/auto-context.constant.js';
1
+ import { AUTO_CONTEXT_DTO_CONSTANT } from '../../../../constant/dto/auto-context.constant.js';
2
2
  import { GetRegisteredAutoDtoChildren } from '../../../register-auto-dto-child.utility.js';
3
3
 
4
4
  /**
@@ -9,14 +9,14 @@ import { GetRegisteredAutoDtoChildren } from '../../../register-auto-dto-child.u
9
9
  function DtoAutoContextPop(target, visited) {
10
10
  if (!target)
11
11
  return;
12
- const stack = Reflect.getMetadata?.(DTO_AUTO_CONTEXT_METADATA_KEY, target);
12
+ const stack = Reflect.getMetadata?.(AUTO_CONTEXT_DTO_CONSTANT.METADATA_KEY, target);
13
13
  if (stack && stack.length > 0) {
14
14
  stack.pop();
15
15
  if (stack.length === 0) {
16
- Reflect.deleteMetadata?.(DTO_AUTO_CONTEXT_METADATA_KEY, target);
16
+ Reflect.deleteMetadata?.(AUTO_CONTEXT_DTO_CONSTANT.METADATA_KEY, target);
17
17
  }
18
18
  else {
19
- Reflect.defineMetadata?.(DTO_AUTO_CONTEXT_METADATA_KEY, stack, target);
19
+ Reflect.defineMetadata?.(AUTO_CONTEXT_DTO_CONSTANT.METADATA_KEY, stack, target);
20
20
  }
21
21
  }
22
22
  visited ??= new WeakSet();
@@ -1 +1 @@
1
- {"version":3,"file":"pop.utility.js","sources":["../../../../../../../src/utility/dto/auto/context/pop.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAKA;;;;AAIG;AACG,SAAU,iBAAiB,CAAC,MAAc,EAAE,OAAyB,EAAA;AAC1E,IAAA,IAAI,CAAC,MAAM;QAAE;IAEb,MAAM,KAAK,GAA+C,OAAO,CAAC,WAAW,GAAG,6BAA6B,EAAE,MAAM,CAA+C;IAEpK,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QAC9B,KAAK,CAAC,GAAG,EAAE;AAEX,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,OAAO,CAAC,cAAc,GAAG,6BAA6B,EAAE,MAAM,CAAC;QAChE;aAAO;YACN,OAAO,CAAC,cAAc,GAAG,6BAA6B,EAAE,KAAK,EAAE,MAAM,CAAC;QACvE;IACD;AAEA,IAAA,OAAO,KAAK,IAAI,OAAO,EAAU;AAEjC,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE;AACzB,IAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;;AAGnB,IAAA,MAAM,QAAQ,GAA8B,4BAA4B,CAAC,MAAM,CAAC;AAEhF,IAAA,IAAI,CAAC,QAAQ;QAAE;AAEf,IAAA,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;AAC7B,QAAA,iBAAiB,CAAC,KAAK,CAAC,SAAmB,EAAE,OAAO,CAAC;IACtD;AACD;;;;"}
1
+ {"version":3,"file":"pop.utility.js","sources":["../../../../../../../src/utility/dto/auto/context/pop.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAKA;;;;AAIG;AACG,SAAU,iBAAiB,CAAC,MAAc,EAAE,OAAyB,EAAA;AAC1E,IAAA,IAAI,CAAC,MAAM;QAAE;AAEb,IAAA,MAAM,KAAK,GAA+C,OAAO,CAAC,WAAW,GAAG,yBAAyB,CAAC,YAAY,EAAE,MAAM,CAA+C;IAE7K,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QAC9B,KAAK,CAAC,GAAG,EAAE;AAEX,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,OAAO,CAAC,cAAc,GAAG,yBAAyB,CAAC,YAAY,EAAE,MAAM,CAAC;QACzE;aAAO;AACN,YAAA,OAAO,CAAC,cAAc,GAAG,yBAAyB,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC;QAChF;IACD;AAEA,IAAA,OAAO,KAAK,IAAI,OAAO,EAAU;AAEjC,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE;AACzB,IAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;;AAGnB,IAAA,MAAM,QAAQ,GAA8B,4BAA4B,CAAC,MAAM,CAAC;AAEhF,IAAA,IAAI,CAAC,QAAQ;QAAE;AAEf,IAAA,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;AAC7B,QAAA,iBAAiB,CAAC,KAAK,CAAC,SAAmB,EAAE,OAAO,CAAC;IACtD;AACD;;;;"}
@@ -1,4 +1,4 @@
1
- import { DTO_AUTO_CONTEXT_METADATA_KEY } from '../../../../constant/dto/auto-context.constant.js';
1
+ import { AUTO_CONTEXT_DTO_CONSTANT } from '../../../../constant/dto/auto-context.constant.js';
2
2
  import { FlushAutoDtoContextExecutions } from '../../../auto-dto-context-queue.utility.js';
3
3
  import { GetRegisteredAutoDtoChildren } from '../../../register-auto-dto-child.utility.js';
4
4
 
@@ -12,9 +12,9 @@ import { GetRegisteredAutoDtoChildren } from '../../../register-auto-dto-child.u
12
12
  function DtoAutoContextPush(target, method, dtoType, visited) {
13
13
  if (!target)
14
14
  return;
15
- const stack = Reflect.getMetadata?.(DTO_AUTO_CONTEXT_METADATA_KEY, target) ?? [];
15
+ const stack = Reflect.getMetadata?.(AUTO_CONTEXT_DTO_CONSTANT.METADATA_KEY, target) ?? [];
16
16
  stack.push({ dtoType, method });
17
- Reflect.defineMetadata?.(DTO_AUTO_CONTEXT_METADATA_KEY, stack, target);
17
+ Reflect.defineMetadata?.(AUTO_CONTEXT_DTO_CONSTANT.METADATA_KEY, stack, target);
18
18
  FlushAutoDtoContextExecutions(target);
19
19
  visited ??= new WeakSet();
20
20
  if (visited.has(target))
@@ -1 +1 @@
1
- {"version":3,"file":"push.utility.js","sources":["../../../../../../../src/utility/dto/auto/context/push.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAOA;;;;;;AAMG;AACG,SAAU,kBAAkB,CAAC,MAAc,EAAE,MAAqB,EAAE,OAAoB,EAAE,OAAyB,EAAA;AACxH,IAAA,IAAI,CAAC,MAAM;QAAE;AAEb,IAAA,MAAM,KAAK,GAAoC,OAAO,CAAC,WAAW,GAAG,6BAA6B,EAAE,MAAM,CAAoC,IAAI,EAAE;IACpJ,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC/B,OAAO,CAAC,cAAc,GAAG,6BAA6B,EAAE,KAAK,EAAE,MAAM,CAAC;IACtE,6BAA6B,CAAC,MAAM,CAAC;AAErC,IAAA,OAAO,KAAK,IAAI,OAAO,EAAU;AAEjC,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE;AACzB,IAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;;AAGnB,IAAA,MAAM,QAAQ,GAA8B,4BAA4B,CAAC,MAAM,CAAC;AAEhF,IAAA,IAAI,CAAC,QAAQ;QAAE;AAEf,IAAA,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;QAC7B,kBAAkB,CAAC,KAAK,CAAC,SAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;IACxE;AACD;;;;"}
1
+ {"version":3,"file":"push.utility.js","sources":["../../../../../../../src/utility/dto/auto/context/push.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAOA;;;;;;AAMG;AACG,SAAU,kBAAkB,CAAC,MAAc,EAAE,MAAqB,EAAE,OAAoB,EAAE,OAAyB,EAAA;AACxH,IAAA,IAAI,CAAC,MAAM;QAAE;AAEb,IAAA,MAAM,KAAK,GAAoC,OAAO,CAAC,WAAW,GAAG,yBAAyB,CAAC,YAAY,EAAE,MAAM,CAAoC,IAAI,EAAE;IAC7J,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC/B,IAAA,OAAO,CAAC,cAAc,GAAG,yBAAyB,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC;IAC/E,6BAA6B,CAAC,MAAM,CAAC;AAErC,IAAA,OAAO,KAAK,IAAI,OAAO,EAAU;AAEjC,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE;AACzB,IAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;;AAGnB,IAAA,MAAM,QAAQ,GAA8B,4BAA4B,CAAC,MAAM,CAAC;AAEhF,IAAA,IAAI,CAAC,QAAQ;QAAE;AAEf,IAAA,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;QAC7B,kBAAkB,CAAC,KAAK,CAAC,SAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;IACxE;AACD;;;;"}
@@ -54,7 +54,7 @@ function DtoBuildDecorator(method, propertyMetadata, entity, dtoType, propertyNa
54
54
  const dateProperties = DtoHandleDateProperty(propertyName, dateMetadata.identifier);
55
55
  return dateProperties.map((property) => {
56
56
  const newMetadata = { ...dateMetadata, identifier: property.identifier };
57
- const config = DtoGetDecoratorConfig(method, newMetadata, dtoType, property.name);
57
+ const config = DtoGetDecoratorConfig(method, newMetadata, dtoType);
58
58
  return DtoGenerateDecorator(newMetadata, entity, config, method, dtoType, propertyName);
59
59
  });
60
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build-decorator.utility.js","sources":["../../../../../src/utility/dto/build-decorator.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAaA;;;;;;;;;;;;;;AAcG;AACH;AACM,SAAU,iBAAiB,CAAoD,MAAS,EAAE,gBAAgD,EAAE,MAAqB,EAAE,OAAU,EAAE,YAAoB,EAAE,YAA+B,EAAE,aAA6C,EAAA;IAKxR,MAAM,UAAU,GAA2C,gBAAgB,CAAC,UAAU,GAAG,MAAM,CAA2C;AAE1I,IAAA,IAAI,UAAU,GAAG,OAAO,CAAC,EAAE,SAAS,KAAK,KAAK,KAAK,UAAU,GAAG,OAAO,CAAC,EAAE,UAAU,IAAI,UAAU,GAAG,OAAO,CAAC,EAAE,QAAQ,KAAK,KAAK,CAAC,EAAE;AACnI,QAAA,OAAO,SAAS;IACjB;AAEA,IAAA,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE;AACnF,QAAA,OAAO,SAAS;IACjB;IAEA,IAAI,gBAAgB,CAAC,IAAI,KAAK,wBAAwB,CAAC,IAAI,EAAE;QAC5D,MAAM,YAAY,GAAuC,gBAAgB;QAEzE,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,IAAI,MAAM,KAAK,aAAa,CAAC,cAAc,KAAK,OAAO,KAAK,WAAW,CAAC,IAAI,EAAE;AACjH,YAAA,OAAO,SAAS;QACjB;AAEA,QAAA,IAAI,MAAM,KAAK,aAAa,CAAC,QAAQ,IAAI,OAAO,KAAK,WAAW,CAAC,KAAK,EAAE;YACvE,MAAM,cAAc,GAAoE,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC;AAEpJ,YAAA,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,QAAkE,KAAI;AAChG,gBAAA,MAAM,WAAW,GAAmC,EAAE,GAAG,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE;AACxG,gBAAA,MAAM,MAAM,GAAsC,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC;AAEpH,gBAAA,OAAO,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC;AACxF,YAAA,CAAC,CAAC;QACH;IACD;AAEA,IAAA,MAAM,MAAM,GAAsC,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAqB,CAAC;IAExH,MAAM,UAAU,GAA6B,EAAE;IAE/C,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;AAErH,IAAA,OAAO,UAAU;AAClB;;;;"}
1
+ {"version":3,"file":"build-decorator.utility.js","sources":["../../../../../src/utility/dto/build-decorator.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAaA;;;;;;;;;;;;;;AAcG;AACH;AACM,SAAU,iBAAiB,CAAoD,MAAS,EAAE,gBAAgD,EAAE,MAAqB,EAAE,OAAU,EAAE,YAAoB,EAAE,YAA+B,EAAE,aAA6C,EAAA;IAKxR,MAAM,UAAU,GAA2C,gBAAgB,CAAC,UAAU,GAAG,MAAM,CAA2C;AAE1I,IAAA,IAAI,UAAU,GAAG,OAAO,CAAC,EAAE,SAAS,KAAK,KAAK,KAAK,UAAU,GAAG,OAAO,CAAC,EAAE,UAAU,IAAI,UAAU,GAAG,OAAO,CAAC,EAAE,QAAQ,KAAK,KAAK,CAAC,EAAE;AACnI,QAAA,OAAO,SAAS;IACjB;AAEA,IAAA,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE;AACnF,QAAA,OAAO,SAAS;IACjB;IAEA,IAAI,gBAAgB,CAAC,IAAI,KAAK,wBAAwB,CAAC,IAAI,EAAE;QAC5D,MAAM,YAAY,GAAuC,gBAAgB;QAEzE,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,IAAI,MAAM,KAAK,aAAa,CAAC,cAAc,KAAK,OAAO,KAAK,WAAW,CAAC,IAAI,EAAE;AACjH,YAAA,OAAO,SAAS;QACjB;AAEA,QAAA,IAAI,MAAM,KAAK,aAAa,CAAC,QAAQ,IAAI,OAAO,KAAK,WAAW,CAAC,KAAK,EAAE;YACvE,MAAM,cAAc,GAAoE,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC;AAEpJ,YAAA,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,QAAkE,KAAI;AAChG,gBAAA,MAAM,WAAW,GAAmC,EAAE,GAAG,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE;gBACxG,MAAM,MAAM,GAAsC,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC;AAErG,gBAAA,OAAO,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC;AACxF,YAAA,CAAC,CAAC;QACH;IACD;IAEA,MAAM,MAAM,GAAsC,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,CAAC;IAE1G,MAAM,UAAU,GAA6B,EAAE;IAE/C,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;AAErH,IAAA,OAAO,UAAU;AAClB;;;;"}
@@ -28,7 +28,7 @@ function DtoGenerateContextualManualDto(sourceDto, method, dtoType, parentDtoNam
28
28
  // eslint-disable-next-line @elsikora/typescript/no-magic-numbers
29
29
  const parentDtoNameBase = parentDtoName.endsWith("DTO") ? parentDtoName.slice(0, -3) : parentDtoName;
30
30
  const className = `${parentDtoNameBase}${CamelCaseString(propertyPathSegment)}DTO`;
31
- const cached = getCachedContextualManualDto(sourceDto, className);
31
+ const cached = contextualManualDtoCache.get(sourceDto)?.get(className);
32
32
  if (cached) {
33
33
  return cached;
34
34
  }
@@ -55,7 +55,12 @@ function DtoGenerateContextualManualDto(sourceDto, method, dtoType, parentDtoNam
55
55
  method,
56
56
  source: sourceDto,
57
57
  }, GeneratedDTO);
58
- cacheContextualManualDto(sourceDto, className, GeneratedDTO);
58
+ let dtoCache = contextualManualDtoCache.get(sourceDto);
59
+ if (!dtoCache) {
60
+ dtoCache = new Map();
61
+ contextualManualDtoCache.set(sourceDto, dtoCache);
62
+ }
63
+ dtoCache.set(className, GeneratedDTO);
59
64
  DtoAutoContextPush(GeneratedDTO.prototype, method, dtoType);
60
65
  try {
61
66
  for (const [propertyKey, metadata] of propertyMetadata.entries()) {
@@ -75,29 +80,6 @@ function DtoGenerateContextualManualDto(sourceDto, method, dtoType, parentDtoNam
75
80
  function IsContextualManualDto(value) {
76
81
  return typeof value === "function" && Boolean(Reflect.getMetadata?.(CONTEXTUAL_MANUAL_DTO_CONSTANT.METADATA_KEY, value));
77
82
  }
78
- /**
79
- * Stores a contextual wrapper in the generation cache.
80
- * @param {Type<unknown>} sourceDto - Source manual DTO class.
81
- * @param {string} className - Generated class name.
82
- * @param {Type<unknown>} generatedDto - Generated contextual wrapper.
83
- */
84
- function cacheContextualManualDto(sourceDto, className, generatedDto) {
85
- let dtoCache = contextualManualDtoCache.get(sourceDto);
86
- if (!dtoCache) {
87
- dtoCache = new Map();
88
- contextualManualDtoCache.set(sourceDto, dtoCache);
89
- }
90
- dtoCache.set(className, generatedDto);
91
- }
92
- /**
93
- * Reads a cached contextual wrapper for the provided source DTO.
94
- * @param {Type<unknown>} sourceDto - Source manual DTO class.
95
- * @param {string} className - Generated class name.
96
- * @returns {Type<unknown> | undefined} Cached wrapper when available.
97
- */
98
- function getCachedContextualManualDto(sourceDto, className) {
99
- return contextualManualDtoCache.get(sourceDto)?.get(className);
100
- }
101
83
 
102
84
  export { DtoGenerateContextualManualDto, IsContextualManualDto };
103
85
  //# sourceMappingURL=manual-child.utility.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manual-child.utility.js","sources":["../../../../../../src/utility/dto/generate/manual-child.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manual-child.utility.js","sources":["../../../../../../src/utility/dto/generate/manual-child.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAUA,MAAM,wBAAwB,GAAuD,IAAI,OAAO,EAA6C;AAE7I;;;;;;;;;;AAUG;AACG,SAAU,8BAA8B,CAAC,SAAwB,EAAE,MAAqB,EAAE,OAAoB,EAAE,aAAqB,EAAE,mBAA2B,EAAA;IACvK,IAAI,SAAS,KAAK,MAAM,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE;AAC7D,QAAA,OAAO,SAAS;IACjB;AAEA,IAAA,MAAM,eAAe,GAAY,SAA8C,CAAC,SAAS;AACzF,IAAA,MAAM,gBAAgB,GAAqD,4BAA4B,CAAC,eAAe,CAAC;AAExH,IAAA,IAAI,gBAAgB,CAAC,IAAI,KAAK,CAAC,EAAE;AAChC,QAAA,OAAO,SAAS;IACjB;;IAGA,MAAM,iBAAiB,GAAW,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,aAAa;IAC5G,MAAM,SAAS,GAAW,CAAA,EAAG,iBAAiB,CAAA,EAAG,eAAe,CAAC,mBAAmB,CAAC,CAAA,GAAA,CAAK;AAC1F,IAAA,MAAM,MAAM,GAA8B,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC;IAEjG,IAAI,MAAM,EAAE;AACX,QAAA,OAAO,MAAM;IACd;AAEA,IAAA,MAAM,YAAY,CAAA;AACjB,QAAA,WAAA,GAAA;YACC,KAAK,MAAM,WAAW,IAAI,gBAAgB,CAAC,IAAI,EAAE,EAAE;AAClD,gBAAA,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE;;AAExC,oBAAA,YAAY,EAAE,IAAI;;AAElB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,KAAK,EAAE,SAAS;;AAEhB,oBAAA,QAAQ,EAAE,IAAI;AACd,iBAAA,CAAC;YACH;QACD;AACA;AAED,IAAA,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE;AAC3C,QAAA,KAAK,EAAE,SAAS;AAChB,KAAA,CAAC;AAEF,IAAA,OAAO,CAAC,cAAc,GACrB,8BAA8B,CAAC,YAAY,EAC3C;QACC,OAAO;QACP,MAAM;AACN,QAAA,MAAM,EAAE,SAAS;KACjB,EACD,YAAY,CACZ;IAED,IAAI,QAAQ,GAA2C,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC;IAE9F,IAAI,CAAC,QAAQ,EAAE;AACd,QAAA,QAAQ,GAAG,IAAI,GAAG,EAAyB;AAC3C,QAAA,wBAAwB,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC;IAClD;AAEA,IAAA,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC;IACrC,kBAAkB,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;AAE3D,IAAA,IAAI;AACH,QAAA,KAAK,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE;YACjE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC;QACpD;IACD;YAAU;AACT,QAAA,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC;IAC1C;AAEA,IAAA,OAAO,YAAY;AACpB;AAEA;;;;AAIG;AACG,SAAU,qBAAqB,CAAC,KAAc,EAAA;AACnD,IAAA,OAAO,OAAO,KAAK,KAAK,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,GAAG,8BAA8B,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACzH;;;;"}
@@ -7,10 +7,9 @@ import { TApiPropertyDescribeDtoProperties, TApiPropertyDescribeProperties } fro
7
7
  * @param {M} method - The API route type (CREATE, DELETE, GET, etc.)
8
8
  * @param {TApiPropertyDescribeProperties} metadata - The property metadata
9
9
  * @param {D} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
10
- * @param {string} propertyName - The name of the property
11
10
  * @returns {TApiPropertyDescribeDtoProperties} The merged decorator configuration
12
11
  * @throws {Error} When no strategy is found for the DTO type
13
12
  * @template M - The API route type
14
13
  * @template D - The DTO type
15
14
  */
16
- export declare const DtoGetDecoratorConfig: <M extends EApiRouteType, D extends EApiDtoType>(method: M, metadata: TApiPropertyDescribeProperties, dtoType: D, propertyName: string) => TApiPropertyDescribeDtoProperties;
15
+ export declare const DtoGetDecoratorConfig: <M extends EApiRouteType, D extends EApiDtoType>(method: M, metadata: TApiPropertyDescribeProperties, dtoType: D) => TApiPropertyDescribeDtoProperties;
@@ -8,14 +8,13 @@ import { ErrorException } from '../../error/exception.utility.js';
8
8
  * @param {M} method - The API route type (CREATE, DELETE, GET, etc.)
9
9
  * @param {TApiPropertyDescribeProperties} metadata - The property metadata
10
10
  * @param {D} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
11
- * @param {string} propertyName - The name of the property
12
11
  * @returns {TApiPropertyDescribeDtoProperties} The merged decorator configuration
13
12
  * @throws {Error} When no strategy is found for the DTO type
14
13
  * @template M - The API route type
15
14
  * @template D - The DTO type
16
15
  */
17
16
  // eslint-disable-next-line @elsikora/typescript/no-unnecessary-type-parameters
18
- const DtoGetDecoratorConfig = (method, metadata, dtoType, propertyName) => {
17
+ const DtoGetDecoratorConfig = (method, metadata, dtoType) => {
19
18
  const strategy = DTO_UTILITY_CONSTANT.DTO_STRATEGIES[dtoType];
20
19
  if (!strategy) {
21
20
  throw ErrorException(`Unknown DTO type ${dtoType}`);
@@ -1 +1 @@
1
- {"version":3,"file":"decorator-config.utility.js","sources":["../../../../../../src/utility/dto/get/decorator-config.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AASA;;;;;;;;;;;;AAYG;AACH;AACO,MAAM,qBAAqB,GAAG,CAAiD,MAAS,EAAE,QAAwC,EAAE,OAAU,EAAE,YAAoB,KAAuC;IACjN,MAAM,QAAQ,GAAyC,oBAAoB,CAAC,cAAc,CAAC,OAAO,CAAC;IAEnG,IAAI,CAAC,QAAQ,EAAE;AACd,QAAA,MAAM,cAAc,CAAC,CAAA,iBAAA,EAAoB,OAAO,CAAA,CAAE,CAAC;IACpD;IAEA,IAAI,MAAM,GAAsC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAK7F,MAAM,UAAU,GAA2C,QAAQ,CAAC,UAAU,GAAG,MAAM,CAA2C;AAElI,IAAA,IAAI,UAAU,GAAG,OAAO,CAAC,EAAE;AAC1B,QAAA,MAAM,YAAY,GAAkC,UAAU,CAAC,OAAO,CAAC;QAGvE,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,YAAY,EAAuC;IAC7E;AAEA,IAAA,OAAO,MAAM;AACd;;;;"}
1
+ {"version":3,"file":"decorator-config.utility.js","sources":["../../../../../../src/utility/dto/get/decorator-config.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAQA;;;;;;;;;;;AAWG;AACH;AACO,MAAM,qBAAqB,GAAG,CAAiD,MAAS,EAAE,QAAwC,EAAE,OAAU,KAAuC;IAC3L,MAAM,QAAQ,GAAyC,oBAAoB,CAAC,cAAc,CAAC,OAAO,CAAC;IAEnG,IAAI,CAAC,QAAQ,EAAE;AACd,QAAA,MAAM,cAAc,CAAC,CAAA,iBAAA,EAAoB,OAAO,CAAA,CAAE,CAAC;IACpD;IAEA,IAAI,MAAM,GAAsC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAK7F,MAAM,UAAU,GAA2C,QAAQ,CAAC,UAAU,GAAG,MAAM,CAA2C;AAElI,IAAA,IAAI,UAAU,GAAG,OAAO,CAAC,EAAE;AAC1B,QAAA,MAAM,YAAY,GAAkC,UAAU,CAAC,OAAO,CAAC;QAEvE,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,YAAY,EAAuC;IAC7E;AAEA,IAAA,OAAO,MAAM;AACd;;;;"}
@@ -4,4 +4,3 @@ export * from './generate';
4
4
  export * from './get';
5
5
  export { DtoHandleDateProperty } from './handle-date-property.utility';
6
6
  export * from './is';
7
- export { DtoValidatePropertyConfig } from './validate-property-config.utility';
@@ -1,4 +1,4 @@
1
- import { DTO_AUTO_CONTEXT_METADATA_KEY } from '../../constant/dto/auto-context.constant.js';
1
+ import { AUTO_CONTEXT_DTO_CONSTANT } from '../../constant/dto/auto-context.constant.js';
2
2
 
3
3
  /**
4
4
  * Retrieves stored DTO auto-context (route method + dto type) for a generated DTO prototype.
@@ -6,7 +6,7 @@ import { DTO_AUTO_CONTEXT_METADATA_KEY } from '../../constant/dto/auto-context.c
6
6
  * @returns {IDtoAutoContextMetadata | undefined} Stored context metadata if available.
7
7
  */
8
8
  function GetAutoDtoContext(target) {
9
- const stack = Reflect.getMetadata?.(DTO_AUTO_CONTEXT_METADATA_KEY, target);
9
+ const stack = Reflect.getMetadata?.(AUTO_CONTEXT_DTO_CONSTANT.METADATA_KEY, target);
10
10
  if (!stack || stack.length === 0) {
11
11
  return undefined;
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auto-dto-context.utility.js","sources":["../../../../../src/utility/get/auto-dto-context.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;;;;AAIG;AACG,SAAU,iBAAiB,CAAC,MAAc,EAAA;IAC/C,MAAM,KAAK,GAA+C,OAAO,CAAC,WAAW,GAAG,6BAA6B,EAAE,MAAM,CAA+C;IAEpK,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACjC,QAAA,OAAO,SAAS;IACjB;AAEA,IAAA,OAAO,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;AACpB;;;;"}
1
+ {"version":3,"file":"auto-dto-context.utility.js","sources":["../../../../../src/utility/get/auto-dto-context.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;;;;AAIG;AACG,SAAU,iBAAiB,CAAC,MAAc,EAAA;AAC/C,IAAA,MAAM,KAAK,GAA+C,OAAO,CAAC,WAAW,GAAG,yBAAyB,CAAC,YAAY,EAAE,MAAM,CAA+C;IAE7K,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACjC,QAAA,OAAO,SAAS;IACjB;AAEA,IAAA,OAAO,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;AACpB;;;;"}
@@ -12,9 +12,7 @@ function QueueAutoContextRetry(target, executor) {
12
12
  executor();
13
13
  return;
14
14
  }
15
- QueueAutoDtoContextExecution(target, () => {
16
- executor();
17
- });
15
+ QueueAutoDtoContextExecution(target, executor);
18
16
  }
19
17
 
20
18
  export { QueueAutoContextRetry };
@@ -1 +1 @@
1
- {"version":3,"file":"queue-auto-context-retry.utility.js","sources":["../../../../src/utility/queue-auto-context-retry.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAMA;;;;AAIG;AACG,SAAU,qBAAqB,CAAC,MAAc,EAAE,QAAoB,EAAA;AACzE,IAAA,MAAM,OAAO,GAAgE,iBAAiB,CAAC,MAAM,CAAC;IAEtG,IAAI,OAAO,EAAE;AACZ,QAAA,QAAQ,EAAE;QAEV;IACD;AAEA,IAAA,4BAA4B,CAAC,MAAM,EAAE,MAAK;AACzC,QAAA,QAAQ,EAAE;AACX,IAAA,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"queue-auto-context-retry.utility.js","sources":["../../../../src/utility/queue-auto-context-retry.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAMA;;;;AAIG;AACG,SAAU,qBAAqB,CAAC,MAAc,EAAE,QAAoB,EAAA;AACzE,IAAA,MAAM,OAAO,GAAgE,iBAAiB,CAAC,MAAM,CAAC;IAEtG,IAAI,OAAO,EAAE;AACZ,QAAA,QAAQ,EAAE;QAEV;IACD;AAEA,IAAA,4BAA4B,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC/C;;;;"}
@@ -1,4 +1,4 @@
1
- import { DTO_AUTO_CONTEXT_METADATA_KEY } from '../constant/dto/auto-context.constant.js';
1
+ import { AUTO_CONTEXT_DTO_CONSTANT } from '../constant/dto/auto-context.constant.js';
2
2
  import { FlushAutoDtoContextExecutions } from './auto-dto-context-queue.utility.js';
3
3
 
4
4
  const AUTO_DTO_CHILDREN = new WeakMap();
@@ -47,14 +47,14 @@ function RegisterAutoDtoChild(parentPrototype, child) {
47
47
  * @param {object} childPrototype - Child DTO prototype.
48
48
  */
49
49
  function inheritExistingContexts(parentPrototype, childPrototype) {
50
- const parentStack = Reflect.getMetadata?.(DTO_AUTO_CONTEXT_METADATA_KEY, parentPrototype);
50
+ const parentStack = Reflect.getMetadata?.(AUTO_CONTEXT_DTO_CONSTANT.METADATA_KEY, parentPrototype);
51
51
  if (!parentStack || parentStack.length === 0) {
52
52
  return;
53
53
  }
54
- const childStack = Reflect.getMetadata?.(DTO_AUTO_CONTEXT_METADATA_KEY, childPrototype) ?? [];
54
+ const childStack = Reflect.getMetadata?.(AUTO_CONTEXT_DTO_CONSTANT.METADATA_KEY, childPrototype) ?? [];
55
55
  if (childStack.length < parentStack.length) {
56
56
  const updatedStack = [...childStack, ...parentStack.slice(childStack.length)];
57
- Reflect.defineMetadata?.(DTO_AUTO_CONTEXT_METADATA_KEY, updatedStack, childPrototype);
57
+ Reflect.defineMetadata?.(AUTO_CONTEXT_DTO_CONSTANT.METADATA_KEY, updatedStack, childPrototype);
58
58
  FlushAutoDtoContextExecutions(childPrototype);
59
59
  }
60
60
  const grandchildren = AUTO_DTO_CHILDREN.get(childPrototype);
@@ -1 +1 @@
1
- {"version":3,"file":"register-auto-dto-child.utility.js","sources":["../../../../src/utility/register-auto-dto-child.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAMA,MAAM,iBAAiB,GAAwC,IAAI,OAAO,EAA8B;AAExG;;;;AAIG;AACG,SAAU,4BAA4B,CAAC,eAAuB,EAAA;AACnE,IAAA,OAAO,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC;AAC9C;AAEA;;;;;AAKG;AACG,SAAU,oBAAoB,CAAC,eAAuB,EAAE,KAAc,EAAA;AAC3E,IAAA,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK;QAAE;AAEhC,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACzB,QAAA,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;AAC1B,YAAA,oBAAoB,CAAC,eAAe,EAAE,KAAK,CAAC;QAC7C;QAEA;IACD;AAEA,IAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAChC,MAAM,gBAAgB,GAAkB,KAAsB;AAE9D,QAAA,IAAI,gBAAgB,KAAK,MAAM,EAAE;YAChC;QACD;QAEA,IAAI,QAAQ,GAAmC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC;QAErF,IAAI,CAAC,QAAQ,EAAE;AACd,YAAA,QAAQ,GAAG,IAAI,GAAG,EAAiB;AACnC,YAAA,iBAAiB,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC;QACjD;QAEA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;AACpC,YAAA,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAC9B,YAAA,uBAAuB,CAAC,eAAe,EAAE,gBAAgB,CAAC,SAAmB,CAAC;QAC/E;IACD;AACD;AAEA;;;;AAIG;AACH,SAAS,uBAAuB,CAAC,eAAuB,EAAE,cAAsB,EAAA;IAC/E,MAAM,WAAW,GAA+C,OAAO,CAAC,WAAW,GAAG,6BAA6B,EAAE,eAAe,CAA+C;IAEnL,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7C;IACD;AAEA,IAAA,MAAM,UAAU,GAAoC,OAAO,CAAC,WAAW,GAAG,6BAA6B,EAAE,cAAc,CAAoC,IAAI,EAAE;IAEjK,IAAI,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE;AAC3C,QAAA,MAAM,YAAY,GAAmC,CAAC,GAAG,UAAU,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC7G,OAAO,CAAC,cAAc,GAAG,6BAA6B,EAAE,YAAY,EAAE,cAAc,CAAC;QACrF,6BAA6B,CAAC,cAAc,CAAC;IAC9C;IAEA,MAAM,aAAa,GAAmC,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC;AAE3F,IAAA,IAAI,CAAC,aAAa;QAAE;AAEpB,IAAA,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE;AACvC,QAAA,uBAAuB,CAAC,cAAc,EAAE,UAAU,CAAC,SAAmB,CAAC;IACxE;AACD;;;;"}
1
+ {"version":3,"file":"register-auto-dto-child.utility.js","sources":["../../../../src/utility/register-auto-dto-child.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAMA,MAAM,iBAAiB,GAAwC,IAAI,OAAO,EAA8B;AAExG;;;;AAIG;AACG,SAAU,4BAA4B,CAAC,eAAuB,EAAA;AACnE,IAAA,OAAO,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC;AAC9C;AAEA;;;;;AAKG;AACG,SAAU,oBAAoB,CAAC,eAAuB,EAAE,KAAc,EAAA;AAC3E,IAAA,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK;QAAE;AAEhC,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACzB,QAAA,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;AAC1B,YAAA,oBAAoB,CAAC,eAAe,EAAE,KAAK,CAAC;QAC7C;QAEA;IACD;AAEA,IAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAChC,MAAM,gBAAgB,GAAkB,KAAsB;AAE9D,QAAA,IAAI,gBAAgB,KAAK,MAAM,EAAE;YAChC;QACD;QAEA,IAAI,QAAQ,GAAmC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC;QAErF,IAAI,CAAC,QAAQ,EAAE;AACd,YAAA,QAAQ,GAAG,IAAI,GAAG,EAAiB;AACnC,YAAA,iBAAiB,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC;QACjD;QAEA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;AACpC,YAAA,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAC9B,YAAA,uBAAuB,CAAC,eAAe,EAAE,gBAAgB,CAAC,SAAmB,CAAC;QAC/E;IACD;AACD;AAEA;;;;AAIG;AACH,SAAS,uBAAuB,CAAC,eAAuB,EAAE,cAAsB,EAAA;AAC/E,IAAA,MAAM,WAAW,GAA+C,OAAO,CAAC,WAAW,GAAG,yBAAyB,CAAC,YAAY,EAAE,eAAe,CAA+C;IAE5L,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7C;IACD;AAEA,IAAA,MAAM,UAAU,GAAoC,OAAO,CAAC,WAAW,GAAG,yBAAyB,CAAC,YAAY,EAAE,cAAc,CAAoC,IAAI,EAAE;IAE1K,IAAI,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE;AAC3C,QAAA,MAAM,YAAY,GAAmC,CAAC,GAAG,UAAU,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC7G,QAAA,OAAO,CAAC,cAAc,GAAG,yBAAyB,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC;QAC9F,6BAA6B,CAAC,cAAc,CAAC;IAC9C;IAEA,MAAM,aAAa,GAAmC,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC;AAE3F,IAAA,IAAI,CAAC,aAAa;QAAE;AAEpB,IAAA,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE;AACvC,QAAA,uBAAuB,CAAC,cAAc,EAAE,UAAU,CAAC,SAAmB,CAAC;IACxE;AACD;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elsikora/nestjs-crud-automator",
3
- "version": "2.0.3-dev.1",
3
+ "version": "2.0.4-dev.1",
4
4
  "description": "A library for automating the creation of CRUD operations in NestJS.",
5
5
  "keywords": [
6
6
  "NestJS",
@@ -1,2 +0,0 @@
1
- import { TApiPropertyDescribeDtoProperties } from '../../type/decorator/api/property';
2
- export declare const DtoValidatePropertyConfig: (_config: TApiPropertyDescribeDtoProperties, _propertyName: string) => void;
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- // eslint-disable-next-line @elsikora/typescript/no-empty-function
4
- const DtoValidatePropertyConfig = (_config, _propertyName) => { };
5
-
6
- exports.DtoValidatePropertyConfig = DtoValidatePropertyConfig;
7
- //# sourceMappingURL=validate-property-config.utility.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-property-config.utility.js","sources":["../../../../../src/utility/dto/validate-property-config.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;AACO,MAAM,yBAAyB,GAAG,CAAC,OAA0C,EAAE,aAAqB,KAAU,EAAE;;;;"}
@@ -1,2 +0,0 @@
1
- import { TApiPropertyDescribeDtoProperties } from '../../type/decorator/api/property';
2
- export declare const DtoValidatePropertyConfig: (_config: TApiPropertyDescribeDtoProperties, _propertyName: string) => void;
@@ -1,5 +0,0 @@
1
- // eslint-disable-next-line @elsikora/typescript/no-empty-function
2
- const DtoValidatePropertyConfig = (_config, _propertyName) => { };
3
-
4
- export { DtoValidatePropertyConfig };
5
- //# sourceMappingURL=validate-property-config.utility.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-property-config.utility.js","sources":["../../../../../src/utility/dto/validate-property-config.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;AACO,MAAM,yBAAyB,GAAG,CAAC,OAA0C,EAAE,aAAqB,KAAU,EAAE;;;;"}