nesties 1.1.21 → 1.1.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +114 -1
- package/dist/index.cjs +56 -7
- package/dist/index.cjs.map +3 -3
- package/dist/index.mjs +55 -7
- package/dist/index.mjs.map +3 -3
- package/dist/src/resolver.d.ts +15 -5
- package/dist/src/utility/uniq-by.d.ts +1 -0
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1398,6 +1398,20 @@ var createProvider = (options, factory) => {
|
|
|
1398
1398
|
// src/utility/resolver-swagger-map.ts
|
|
1399
1399
|
var ResolverSwaggerMap = /* @__PURE__ */ new Map();
|
|
1400
1400
|
|
|
1401
|
+
// src/utility/uniq-by.ts
|
|
1402
|
+
var uniqBy = (arr, fn) => {
|
|
1403
|
+
const seen = /* @__PURE__ */ new Set();
|
|
1404
|
+
const result = [];
|
|
1405
|
+
for (const item of arr) {
|
|
1406
|
+
const key = fn(item);
|
|
1407
|
+
if (!seen.has(key)) {
|
|
1408
|
+
seen.add(key);
|
|
1409
|
+
result.push(item);
|
|
1410
|
+
}
|
|
1411
|
+
}
|
|
1412
|
+
return result;
|
|
1413
|
+
};
|
|
1414
|
+
|
|
1401
1415
|
// src/resolver.ts
|
|
1402
1416
|
var ParamResolverCopiedFieldsFromSwagger = [
|
|
1403
1417
|
"required",
|
|
@@ -1463,8 +1477,22 @@ ParamResolverPipe = __decorateClass([
|
|
|
1463
1477
|
], ParamResolverPipe);
|
|
1464
1478
|
var usedParamResolverTokens = /* @__PURE__ */ new Set();
|
|
1465
1479
|
var ParamResolverBase = class {
|
|
1480
|
+
constructor() {
|
|
1481
|
+
this.extraSwagger = [];
|
|
1482
|
+
}
|
|
1483
|
+
addExtraDecorator(dec, token = Math.random().toString(36)) {
|
|
1484
|
+
this.extraSwagger.push({
|
|
1485
|
+
token,
|
|
1486
|
+
swagger: dec
|
|
1487
|
+
});
|
|
1488
|
+
return this;
|
|
1489
|
+
}
|
|
1490
|
+
// for override
|
|
1491
|
+
toSwaggerInfo(extras = []) {
|
|
1492
|
+
return uniqBy([...this.extraSwagger, ...extras], (info) => info.token);
|
|
1493
|
+
}
|
|
1466
1494
|
toApiPropertyDecorator(extras = {}) {
|
|
1467
|
-
const swaggerInfo = this.toSwaggerInfo();
|
|
1495
|
+
const swaggerInfo = uniqBy(this.toSwaggerInfo(), (info) => info.token);
|
|
1468
1496
|
return (extras2 = {}) => MergeClassOrMethodDecorators(
|
|
1469
1497
|
swaggerInfo.map((info) => info.swagger({ ...extras, ...extras2 }))
|
|
1470
1498
|
);
|
|
@@ -1553,7 +1581,7 @@ var ParamResolver = class extends ParamResolverBase {
|
|
|
1553
1581
|
const suffix = this.info ? `${this.info.paramType.toUpperCase()}_${this.info.paramName}` : `DYNAMIC`;
|
|
1554
1582
|
return `ParamResolver_${suffix}`;
|
|
1555
1583
|
}
|
|
1556
|
-
toSwaggerInfo() {
|
|
1584
|
+
toSwaggerInfo(extras = []) {
|
|
1557
1585
|
const swagger = (extras2 = {}) => {
|
|
1558
1586
|
if (this.info) {
|
|
1559
1587
|
const paramType = this.info.paramType;
|
|
@@ -1574,7 +1602,7 @@ var ParamResolver = class extends ParamResolverBase {
|
|
|
1574
1602
|
return () => {
|
|
1575
1603
|
};
|
|
1576
1604
|
};
|
|
1577
|
-
return [
|
|
1605
|
+
return super.toSwaggerInfo([
|
|
1578
1606
|
{
|
|
1579
1607
|
swagger,
|
|
1580
1608
|
token: this.toString()
|
|
@@ -1584,8 +1612,9 @@ var ParamResolver = class extends ParamResolverBase {
|
|
|
1584
1612
|
swagger: () => ApiError(400, "Invalid request parameters"),
|
|
1585
1613
|
token: `__missing_required_400__`
|
|
1586
1614
|
}
|
|
1587
|
-
] : []
|
|
1588
|
-
|
|
1615
|
+
] : [],
|
|
1616
|
+
...extras
|
|
1617
|
+
]);
|
|
1589
1618
|
}
|
|
1590
1619
|
};
|
|
1591
1620
|
var CombinedParamResolver = class extends ParamResolverBase {
|
|
@@ -1609,10 +1638,28 @@ var CombinedParamResolver = class extends ParamResolverBase {
|
|
|
1609
1638
|
const suffix = Object.entries(this.resolvers).map(([key, resolver]) => `${key.toString()}_${resolver.toString()}`).join("__");
|
|
1610
1639
|
return `CombinedParamResolver_${suffix}`;
|
|
1611
1640
|
}
|
|
1612
|
-
toSwaggerInfo() {
|
|
1613
|
-
|
|
1641
|
+
toSwaggerInfo(extras = []) {
|
|
1642
|
+
const combined = Object.values(this.resolvers).flatMap(
|
|
1614
1643
|
(resolver) => resolver.toSwaggerInfo()
|
|
1615
1644
|
);
|
|
1645
|
+
return super.toSwaggerInfo([...combined, ...extras]);
|
|
1646
|
+
}
|
|
1647
|
+
};
|
|
1648
|
+
var TransformParamResolver = class extends ParamResolverBase {
|
|
1649
|
+
constructor(baseResolver, transformFn) {
|
|
1650
|
+
super();
|
|
1651
|
+
this.baseResolver = baseResolver;
|
|
1652
|
+
this.transformFn = transformFn;
|
|
1653
|
+
}
|
|
1654
|
+
async resolve(req, ref) {
|
|
1655
|
+
const baseValue = await this.baseResolver.resolve(req, ref);
|
|
1656
|
+
return this.transformFn(baseValue, ref, req);
|
|
1657
|
+
}
|
|
1658
|
+
toString() {
|
|
1659
|
+
return `Transform_${this.baseResolver.toString()}`;
|
|
1660
|
+
}
|
|
1661
|
+
toSwaggerInfo(extras = []) {
|
|
1662
|
+
return this.baseResolver.toSwaggerInfo(extras);
|
|
1616
1663
|
}
|
|
1617
1664
|
};
|
|
1618
1665
|
var getParamResolver = (input) => {
|
|
@@ -2078,6 +2125,7 @@ export {
|
|
|
2078
2125
|
ReturnMessageDto,
|
|
2079
2126
|
StringReturnMessageDto,
|
|
2080
2127
|
TokenGuard,
|
|
2128
|
+
TransformParamResolver,
|
|
2081
2129
|
abortableToken,
|
|
2082
2130
|
createAbortableProvider,
|
|
2083
2131
|
createI18n,
|