@rxap/ts-morph 1.1.0-dev.3 → 1.1.0-dev.30

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 (93) hide show
  1. package/CHANGELOG.md +204 -0
  2. package/README.md +1 -1
  3. package/package.json +8 -6
  4. package/src/index.d.ts +13 -0
  5. package/src/index.js +13 -0
  6. package/src/index.js.map +1 -1
  7. package/src/lib/angular/add-route.d.ts +12 -0
  8. package/src/lib/angular/add-route.js +77 -0
  9. package/src/lib/angular/add-route.js.map +1 -0
  10. package/src/lib/angular/build-route-object.d.ts +20 -0
  11. package/src/lib/angular/build-route-object.js +68 -0
  12. package/src/lib/angular/build-route-object.js.map +1 -0
  13. package/src/lib/angular/coerce-app-config-provider.js +1 -1
  14. package/src/lib/angular/coerce-app-config-provider.js.map +1 -1
  15. package/src/lib/angular/coerce-app-navigation.d.ts +13 -0
  16. package/src/lib/angular/coerce-app-navigation.js +99 -0
  17. package/src/lib/angular/coerce-app-navigation.js.map +1 -0
  18. package/src/lib/angular/coerce-app-routes.d.ts +4 -0
  19. package/src/lib/angular/coerce-app-routes.js +27 -0
  20. package/src/lib/angular/coerce-app-routes.js.map +1 -0
  21. package/src/lib/angular/coerce-component-import.d.ts +1 -1
  22. package/src/lib/angular/coerce-component-import.js +9 -7
  23. package/src/lib/angular/coerce-component-import.js.map +1 -1
  24. package/src/lib/angular/coerce-component-input.js +10 -10
  25. package/src/lib/angular/coerce-component-input.js.map +1 -1
  26. package/src/lib/angular/coerce-component.d.ts +1 -1
  27. package/src/lib/angular/coerce-component.js +15 -2
  28. package/src/lib/angular/coerce-component.js.map +1 -1
  29. package/src/lib/angular/coerce-layout-routes.d.ts +4 -0
  30. package/src/lib/angular/coerce-layout-routes.js +63 -0
  31. package/src/lib/angular/coerce-layout-routes.js.map +1 -0
  32. package/src/lib/angular/coerce-route-guard.d.ts +6 -0
  33. package/src/lib/angular/coerce-route-guard.js +34 -0
  34. package/src/lib/angular/coerce-route-guard.js.map +1 -0
  35. package/src/lib/angular/coerce-routes.d.ts +8 -0
  36. package/src/lib/angular/coerce-routes.js +43 -0
  37. package/src/lib/angular/coerce-routes.js.map +1 -0
  38. package/src/lib/angular/find-parent-route.d.ts +6 -0
  39. package/src/lib/angular/find-parent-route.js +76 -0
  40. package/src/lib/angular/find-parent-route.js.map +1 -0
  41. package/src/lib/angular/get-component-decorator-object.js +5 -5
  42. package/src/lib/angular/get-component-decorator-object.js.map +1 -1
  43. package/src/lib/angular/remove-component-import.d.ts +3 -0
  44. package/src/lib/angular/remove-component-import.js +23 -0
  45. package/src/lib/angular/remove-component-import.js.map +1 -0
  46. package/src/lib/angular/remove-route.d.ts +13 -0
  47. package/src/lib/angular/remove-route.js +58 -0
  48. package/src/lib/angular/remove-route.js.map +1 -0
  49. package/src/lib/coerce-array-element.js +6 -1
  50. package/src/lib/coerce-array-element.js.map +1 -1
  51. package/src/lib/coerce-decorator.js +5 -0
  52. package/src/lib/coerce-decorator.js.map +1 -1
  53. package/src/lib/coerce-default-class-export.d.ts +1 -1
  54. package/src/lib/coerce-default-class-export.js +3 -16
  55. package/src/lib/coerce-default-class-export.js.map +1 -1
  56. package/src/lib/coerce-default-export.d.ts +2 -0
  57. package/src/lib/coerce-default-export.js +14 -0
  58. package/src/lib/coerce-default-export.js.map +1 -0
  59. package/src/lib/coerce-dependency-injection.d.ts +1 -1
  60. package/src/lib/coerce-dependency-injection.js +36 -32
  61. package/src/lib/coerce-dependency-injection.js.map +1 -1
  62. package/src/lib/coerce-imports.js +10 -0
  63. package/src/lib/coerce-imports.js.map +1 -1
  64. package/src/lib/coerce-statements.d.ts +1 -1
  65. package/src/lib/coerce-statements.js +8 -3
  66. package/src/lib/coerce-statements.js.map +1 -1
  67. package/src/lib/data-property.d.ts +13 -6
  68. package/src/lib/data-property.js +50 -6
  69. package/src/lib/data-property.js.map +1 -1
  70. package/src/lib/find-function.js +1 -1
  71. package/src/lib/find-function.js.map +1 -1
  72. package/src/lib/get-coerce-array-literal-form-object-literal.d.ts +1 -0
  73. package/src/lib/get-coerce-array-literal-form-object-literal.js +19 -1
  74. package/src/lib/get-coerce-array-literal-form-object-literal.js.map +1 -1
  75. package/src/lib/identifier.d.ts +10 -0
  76. package/src/lib/identifier.js +16 -0
  77. package/src/lib/identifier.js.map +1 -0
  78. package/src/lib/nest/add-health-endpoint.js +1 -0
  79. package/src/lib/nest/add-health-endpoint.js.map +1 -1
  80. package/src/lib/nest/coerce-nest-app-config.js +14 -1
  81. package/src/lib/nest/coerce-nest-app-config.js.map +1 -1
  82. package/src/lib/nest/coerce-nest-cache-module-import.d.ts +4 -0
  83. package/src/lib/nest/coerce-nest-cache-module-import.js +26 -0
  84. package/src/lib/nest/coerce-nest-cache-module-import.js.map +1 -0
  85. package/src/lib/nest/coerce-nest-operation.d.ts +6 -5
  86. package/src/lib/nest/coerce-nest-operation.js +30 -26
  87. package/src/lib/nest/coerce-nest-operation.js.map +1 -1
  88. package/src/lib/type-import.d.ts +19 -4
  89. package/src/lib/type-import.js +33 -13
  90. package/src/lib/type-import.js.map +1 -1
  91. package/src/lib/upstream-options.d.ts +49 -6
  92. package/src/lib/upstream-options.js +69 -14
  93. package/src/lib/upstream-options.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"find-function.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/find-function.ts"],"names":[],"mappings":";;;AAIA,SAAgB,kBAAkB,CAGhC,SAAoB;IACpB,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC,IAAI,CAAC;AACnD,CAAC;AALD,gDAKC"}
1
+ {"version":3,"file":"find-function.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/find-function.ts"],"names":[],"mappings":";;;AAIA,SAAgB,kBAAkB,CAGhC,SAAoB;IACpB,OAAO,IAAI,CAAC,EAAE,WAAC,OAAA,CAAA,MAAA,IAAI,CAAC,OAAO,EAAE,0CAAE,IAAI,EAAE,MAAK,SAAS,CAAC,IAAI,CAAA,EAAA,CAAC;AAC3D,CAAC;AALD,gDAKC"}
@@ -1,2 +1,3 @@
1
1
  import { ArrayLiteralExpression, ObjectLiteralExpression } from 'ts-morph';
2
+ export declare function GetArrayLiteralFromObjectLiteral(objectLiteral: ObjectLiteralExpression, propertyKey: string): ArrayLiteralExpression | null;
2
3
  export declare function GetCoerceArrayLiteralFromObjectLiteral(objectLiteral: ObjectLiteralExpression, propertyKey: string): ArrayLiteralExpression;
@@ -1,7 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GetCoerceArrayLiteralFromObjectLiteral = void 0;
3
+ exports.GetCoerceArrayLiteralFromObjectLiteral = exports.GetArrayLiteralFromObjectLiteral = void 0;
4
4
  const ts_morph_1 = require("ts-morph");
5
+ function GetArrayLiteralFromObjectLiteral(objectLiteral, propertyKey) {
6
+ const arrayLiteralAssignment = objectLiteral.getProperty(propertyKey);
7
+ if (!arrayLiteralAssignment) {
8
+ return null;
9
+ }
10
+ if (!(arrayLiteralAssignment instanceof ts_morph_1.PropertyAssignment)) {
11
+ throw new Error('The imports property is not type of Property Assignment!');
12
+ }
13
+ const arrayLiteral = arrayLiteralAssignment.getInitializer();
14
+ if (!arrayLiteral) {
15
+ throw new Error('The imports property a not a initializer');
16
+ }
17
+ if (!(arrayLiteral instanceof ts_morph_1.ArrayLiteralExpression)) {
18
+ throw new Error('The imports property initializer is not an array');
19
+ }
20
+ return arrayLiteral;
21
+ }
22
+ exports.GetArrayLiteralFromObjectLiteral = GetArrayLiteralFromObjectLiteral;
5
23
  function GetCoerceArrayLiteralFromObjectLiteral(objectLiteral, propertyKey) {
6
24
  let arrayLiteralAssignment = objectLiteral.getProperty(propertyKey);
7
25
  if (!arrayLiteralAssignment) {
@@ -1 +1 @@
1
- {"version":3,"file":"get-coerce-array-literal-form-object-literal.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/get-coerce-array-literal-form-object-literal.ts"],"names":[],"mappings":";;;AAAA,uCAIkB;AAElB,SAAgB,sCAAsC,CACpD,aAAsC,EACtC,WAAmB;IAGnB,IAAI,sBAAsB,GAAG,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAEpE,IAAI,CAAC,sBAAsB,EAAE;QAC3B,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAAC;YAC3D,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,CAAC,sBAAsB,YAAY,6BAAkB,CAAC,EAAE;QAC3D,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;IAED,MAAM,YAAY,GAAG,sBAAsB,CAAC,cAAc,EAAE,CAAC;IAE7D,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC7D;IAED,IAAI,CAAC,CAAC,YAAY,YAAY,iCAAsB,CAAC,EAAE;QACrD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACrE;IAED,OAAO,YAAY,CAAC;AAEtB,CAAC;AA9BD,wFA8BC"}
1
+ {"version":3,"file":"get-coerce-array-literal-form-object-literal.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/get-coerce-array-literal-form-object-literal.ts"],"names":[],"mappings":";;;AAAA,uCAIkB;AAElB,SAAgB,gCAAgC,CAC9C,aAAsC,EACtC,WAAmB;IAGnB,MAAM,sBAAsB,GAAG,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAEtE,IAAI,CAAC,sBAAsB,EAAE;QAC3B,OAAO,IAAI,CAAC;KACb;IAED,IAAI,CAAC,CAAC,sBAAsB,YAAY,6BAAkB,CAAC,EAAE;QAC3D,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;IAED,MAAM,YAAY,GAAG,sBAAsB,CAAC,cAAc,EAAE,CAAC;IAE7D,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC7D;IAED,IAAI,CAAC,CAAC,YAAY,YAAY,iCAAsB,CAAC,EAAE;QACrD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACrE;IAED,OAAO,YAAY,CAAC;AAEtB,CAAC;AA3BD,4EA2BC;AAED,SAAgB,sCAAsC,CACpD,aAAsC,EACtC,WAAmB;IAGnB,IAAI,sBAAsB,GAAG,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAEpE,IAAI,CAAC,sBAAsB,EAAE;QAC3B,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAAC;YAC3D,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,CAAC,sBAAsB,YAAY,6BAAkB,CAAC,EAAE;QAC3D,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;IAED,MAAM,YAAY,GAAG,sBAAsB,CAAC,cAAc,EAAE,CAAC;IAE7D,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC7D;IAED,IAAI,CAAC,CAAC,YAAY,YAAY,iCAAsB,CAAC,EAAE;QACrD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACrE;IAED,OAAO,YAAY,CAAC;AAEtB,CAAC;AA9BD,wFA8BC"}
@@ -0,0 +1,10 @@
1
+ import { DataProperty, NormalizedDataProperty } from './data-property';
2
+ export interface IdentifierOptions {
3
+ property: DataProperty;
4
+ source?: string;
5
+ }
6
+ export interface NormalizedIdentifierOptions {
7
+ property: NormalizedDataProperty;
8
+ source: string | null;
9
+ }
10
+ export declare function NormalizeAccordionIdentifier(identifier?: IdentifierOptions): NormalizedIdentifierOptions | null;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NormalizeAccordionIdentifier = void 0;
4
+ const data_property_1 = require("./data-property");
5
+ function NormalizeAccordionIdentifier(identifier) {
6
+ var _a;
7
+ if (!identifier || Object.keys(identifier).length === 0 || Object.keys(identifier.property).length === 0 || identifier.property.name === undefined) {
8
+ return null;
9
+ }
10
+ return {
11
+ property: (0, data_property_1.NormalizeDataProperty)(identifier.property),
12
+ source: (_a = identifier.source) !== null && _a !== void 0 ? _a : null,
13
+ };
14
+ }
15
+ exports.NormalizeAccordionIdentifier = NormalizeAccordionIdentifier;
16
+ //# sourceMappingURL=identifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/identifier.ts"],"names":[],"mappings":";;;AAAA,mDAIyB;AAYzB,SAAgB,4BAA4B,CAAC,UAA8B;;IACzE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE;QAClJ,OAAO,IAAI,CAAC;KACb;IACD,OAAO;QACL,QAAQ,EAAE,IAAA,qCAAqB,EAAC,UAAU,CAAC,QAAQ,CAAC;QACpD,MAAM,EAAE,MAAA,UAAU,CAAC,MAAM,mCAAI,IAAI;KAClC,CAAC;AACJ,CAAC;AARD,oEAQC"}
@@ -46,6 +46,7 @@ function AddHealthEndpoint(sourceFile, name) {
46
46
  parameterName: (0, utilities_1.camelize)(healthIndicatorClass),
47
47
  injectionToken: healthIndicatorClass,
48
48
  scope: ts_morph_1.Scope.Private,
49
+ module: coerce_dependency_injection_1.Module.NEST,
49
50
  }, [
50
51
  {
51
52
  moduleSpecifier: `./${(0, utilities_1.dasherize)(name)}.health-indicator`,
@@ -1 +1 @@
1
- {"version":3,"file":"add-health-endpoint.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/nest/add-health-endpoint.ts"],"names":[],"mappings":";;;AAAA,+CAIyB;AACzB,uCAGkB;AAClB,gFAA2E;AAE3E,SAAgB,iBAAiB,CAC/B,UAAsB,EACtB,IAAY;IAGZ,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAEjE,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;KACtE;IAED,MAAM,oBAAoB,GAAG,GAAI,IAAA,oBAAQ,EAAC,IAAI,CAAE,iBAAiB,CAAC;IAElE,gBAAgB,CAAC,SAAS,CAAC;QACzB,IAAI,EAAE,IAAA,oBAAQ,EAAC,IAAI,CAAC;QACpB,UAAU,EAAE,4BAA4B;QACxC,UAAU,EAAE;YACV,CAAC,CAAC,EAAE;gBACF,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;gBAC1C,CAAC,CAAC,SAAS,CAAC,oBAAqB,IAAA,oBAAQ,EAAC,oBAAoB,CAAE,eAAe,CAAC,CAAC;gBACjF,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;SACF;QACD,KAAK,EAAE,gBAAK,CAAC,MAAM;QACnB,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,KAAK;gBACX,SAAS,EAAE,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAA,qBAAS,EAAC,IAAI,CAAC,CAAC,CAAE;aAC7C;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,SAAS,EAAE,EAAE;aACd;SACF;KACF,CAAC,CAAC;IAEH,UAAU,CAAC,qBAAqB,CAAC;QAC/B;YACE,eAAe,EAAE,kBAAkB;YACnC,YAAY,EAAE,CAAE,aAAa,EAAE,mBAAmB,CAAE;SACrD;QACD;YACE,eAAe,EAAE,gBAAgB;YACjC,YAAY,EAAE,CAAE,KAAK,CAAE;SACxB;KACF,CAAC,CAAC;IAEH,IAAA,uDAAyB,EACvB,UAAU,EACV;QACE,aAAa,EAAE,IAAA,oBAAQ,EAAC,oBAAoB,CAAC;QAC7C,cAAc,EAAE,oBAAoB;QACpC,KAAK,EAAE,gBAAK,CAAC,OAAO;KACrB,EACD;QACE;YACE,eAAe,EAAE,KAAM,IAAA,qBAAS,EAAC,IAAI,CAAE,mBAAmB;YAC1D,YAAY,EAAE,CAAE,oBAAoB,CAAE;SACvC;KACF,CACF,CAAC;AAEJ,CAAC;AA9DD,8CA8DC"}
1
+ {"version":3,"file":"add-health-endpoint.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/nest/add-health-endpoint.ts"],"names":[],"mappings":";;;AAAA,+CAIyB;AACzB,uCAGkB;AAClB,gFAGwC;AAExC,SAAgB,iBAAiB,CAC/B,UAAsB,EACtB,IAAY;IAGZ,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAEjE,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;KACtE;IAED,MAAM,oBAAoB,GAAG,GAAI,IAAA,oBAAQ,EAAC,IAAI,CAAE,iBAAiB,CAAC;IAElE,gBAAgB,CAAC,SAAS,CAAC;QACzB,IAAI,EAAE,IAAA,oBAAQ,EAAC,IAAI,CAAC;QACpB,UAAU,EAAE,4BAA4B;QACxC,UAAU,EAAE;YACV,CAAC,CAAC,EAAE;gBACF,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;gBAC1C,CAAC,CAAC,SAAS,CAAC,oBAAqB,IAAA,oBAAQ,EAAC,oBAAoB,CAAE,eAAe,CAAC,CAAC;gBACjF,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;SACF;QACD,KAAK,EAAE,gBAAK,CAAC,MAAM;QACnB,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,KAAK;gBACX,SAAS,EAAE,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAA,qBAAS,EAAC,IAAI,CAAC,CAAC,CAAE;aAC7C;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,SAAS,EAAE,EAAE;aACd;SACF;KACF,CAAC,CAAC;IAEH,UAAU,CAAC,qBAAqB,CAAC;QAC/B;YACE,eAAe,EAAE,kBAAkB;YACnC,YAAY,EAAE,CAAE,aAAa,EAAE,mBAAmB,CAAE;SACrD;QACD;YACE,eAAe,EAAE,gBAAgB;YACjC,YAAY,EAAE,CAAE,KAAK,CAAE;SACxB;KACF,CAAC,CAAC;IAEH,IAAA,uDAAyB,EACvB,UAAU,EACV;QACE,aAAa,EAAE,IAAA,oBAAQ,EAAC,oBAAoB,CAAC;QAC7C,cAAc,EAAE,oBAAoB;QACpC,KAAK,EAAE,gBAAK,CAAC,OAAO;QACpB,MAAM,EAAE,oCAAM,CAAC,IAAI;KACpB,EACD;QACE;YACE,eAAe,EAAE,KAAM,IAAA,qBAAS,EAAC,IAAI,CAAE,mBAAmB;YAC1D,YAAY,EAAE,CAAE,oBAAoB,CAAE;SACvC;KACF,CACF,CAAC;AAEJ,CAAC;AA/DD,8CA+DC"}
@@ -65,7 +65,20 @@ function buildValidationSchemaExpressionValue(item) {
65
65
  w.write(`Joi.${(_a = item.type) !== null && _a !== void 0 ? _a : 'string'}()`);
66
66
  if (item.defaultValue) {
67
67
  if (typeof item.defaultValue === 'string') {
68
- w.write(`.default(${item.defaultValue})`);
68
+ if (item.type === 'string') {
69
+ w.write(`.default(`);
70
+ // wrap the string in single quotes if it is not already
71
+ if ((!item.defaultValue.startsWith("'") && !item.defaultValue.endsWith("'")) || (!item.defaultValue.startsWith('"') && !item.defaultValue.endsWith('"'))) {
72
+ w.quote(item.defaultValue);
73
+ }
74
+ else {
75
+ w.write(item.defaultValue);
76
+ }
77
+ w.write(`)`);
78
+ }
79
+ else {
80
+ w.write(`.default(${item.defaultValue})`);
81
+ }
69
82
  }
70
83
  else {
71
84
  w.write('.default(');
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-nest-app-config.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/nest/coerce-nest-app-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coerce-nest-app-config.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/nest/coerce-nest-app-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { SourceFile } from 'ts-morph';
2
+ import { CoerceNestModuleImportOptions } from './coerce-nest-module-import';
3
+ export type CoerceNestCacheModuleImportOptions = Omit<CoerceNestModuleImportOptions, 'moduleName'>;
4
+ export declare function CoerceNestCacheModuleImport(sourceFile: SourceFile, options: CoerceNestCacheModuleImportOptions): void;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CoerceNestCacheModuleImport = void 0;
4
+ const ts_morph_1 = require("ts-morph");
5
+ const coerce_nest_module_import_1 = require("./coerce-nest-module-import");
6
+ function CoerceNestCacheModuleImport(sourceFile, options) {
7
+ (0, coerce_nest_module_import_1.CoerceNestModuleImport)(sourceFile, Object.assign(Object.assign({}, options), { moduleName: 'CacheModule', structures: [
8
+ {
9
+ moduleSpecifier: '@nestjs/cache-manager',
10
+ namedImports: ['CacheModule'],
11
+ },
12
+ {
13
+ moduleSpecifier: '@rxap/nest-utilities',
14
+ namedImports: ['CacheModuleOptionsLoader'],
15
+ }
16
+ ], importWriter: w => {
17
+ w.writeLine('CacheModule.registerAsync(');
18
+ ts_morph_1.Writers.object({
19
+ isGlobal: 'true',
20
+ useClass: 'CacheModuleOptionsLoader',
21
+ })(w);
22
+ w.write(')');
23
+ } }));
24
+ }
25
+ exports.CoerceNestCacheModuleImport = CoerceNestCacheModuleImport;
26
+ //# sourceMappingURL=coerce-nest-cache-module-import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce-nest-cache-module-import.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/nest/coerce-nest-cache-module-import.ts"],"names":[],"mappings":";;;AAAA,uCAGkB;AAClB,2EAGqC;AAIrC,SAAgB,2BAA2B,CACzC,UAAsB,EACtB,OAA2C;IAE3C,IAAA,kDAAsB,EACpB,UAAU,kCACL,OAAO,KACV,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE;YACV;gBACE,eAAe,EAAE,uBAAuB;gBACxC,YAAY,EAAE,CAAE,aAAa,CAAE;aAChC;YACD;gBACE,eAAe,EAAE,sBAAsB;gBACvC,YAAY,EAAE,CAAE,0BAA0B,CAAE;aAC7C;SACF,EACD,YAAY,EAAE,CAAC,CAAC,EAAE;YAChB,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;YAC1C,kBAAO,CAAC,MAAM,CAAC;gBACb,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,0BAA0B;aACrC,CAAC,CAAC,CAAC,CAAC,CAAC;YACN,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACf,CAAC,IAEJ,CAAC;AACJ,CAAC;AA5BD,kEA4BC"}
@@ -1,11 +1,12 @@
1
1
  import { ClassDeclaration, DecoratorStructure, MethodDeclaration, OptionalKind, SourceFile, StatementStructures, WriterFunction } from 'ts-morph';
2
- export interface OperationParameter {
3
- name: string;
4
- type?: string | WriterFunction;
5
- pipeList?: Array<string | WriterFunction>;
2
+ import { DataProperty } from '../data-property';
3
+ import { TypeImport } from '../type-import';
4
+ export interface OperationParameter extends DataProperty {
5
+ type?: string | WriterFunction | TypeImport;
6
+ pipeList?: Array<string | WriterFunction | TypeImport>;
6
7
  defaultValue?: string | WriterFunction;
8
+ hasQuestionToken?: boolean;
7
9
  required?: boolean;
8
- isArray?: boolean;
9
10
  /**
10
11
  * (optional) the method parameter name. If not defined the name property will be used
11
12
  */
@@ -7,8 +7,9 @@ const coerce_class_method_1 = require("../coerce-class-method");
7
7
  const coerce_decorator_1 = require("../coerce-decorator");
8
8
  const coerce_imports_1 = require("../coerce-imports");
9
9
  const coerce_statements_1 = require("../coerce-statements");
10
+ const write_type_1 = require("../write-type");
10
11
  const get_controller_class_1 = require("./get-controller-class");
11
- function buildMethodQueryParameters(queryList, importStructures) {
12
+ function buildMethodQueryParameters(queryList, sourceFile) {
12
13
  if (queryList.length) {
13
14
  return queryList.map(query => {
14
15
  var _a, _b;
@@ -16,7 +17,7 @@ function buildMethodQueryParameters(queryList, importStructures) {
16
17
  undefined) {
17
18
  return query;
18
19
  }
19
- importStructures.push({
20
+ (0, coerce_imports_1.CoerceImports)(sourceFile, {
20
21
  namedImports: ['DefaultValuePipe'],
21
22
  moduleSpecifier: '@nestjs/common',
22
23
  });
@@ -35,35 +36,38 @@ function buildMethodQueryParameters(queryList, importStructures) {
35
36
  w.write(')');
36
37
  });
37
38
  return Object.assign(Object.assign({}, query), { pipeList });
38
- }).map(query => {
39
- var _a, _b;
40
- return ({
41
- name: (_a = query.alias) !== null && _a !== void 0 ? _a : query.name,
42
- type: query.type,
43
- hasQuestionToken: !query.required &&
44
- query.defaultValue ===
45
- undefined,
46
- decorators: [
47
- {
48
- name: 'Query',
49
- arguments: [
50
- w => w.quote(query.name),
51
- ...((_b = query.pipeList) !== null && _b !== void 0 ? _b : []),
52
- ],
53
- },
54
- ],
55
- });
56
- });
39
+ }).map(({ alias, name, type, hasQuestionToken, required, defaultValue, pipeList = [], isArray, }) => ({
40
+ name: alias !== null && alias !== void 0 ? alias : name,
41
+ type: (0, write_type_1.WriteType)({ type: type !== null && type !== void 0 ? type : 'unknown', isArray: isArray }, sourceFile),
42
+ hasQuestionToken: hasQuestionToken !== null && hasQuestionToken !== void 0 ? hasQuestionToken : (!required && defaultValue === undefined),
43
+ decorators: [
44
+ {
45
+ name: 'Query',
46
+ arguments: [
47
+ w => w.quote(name),
48
+ ...pipeList.map(pipe => {
49
+ if (typeof pipe === 'string') {
50
+ return pipe;
51
+ }
52
+ if (typeof pipe === 'function') {
53
+ return pipe;
54
+ }
55
+ return (0, write_type_1.WriteType)(pipe, sourceFile);
56
+ }),
57
+ ],
58
+ },
59
+ ],
60
+ }));
57
61
  }
58
62
  return [];
59
63
  }
60
- function buildMethodParamParameters(paramList) {
64
+ function buildMethodParamParameters(paramList, sourceFile) {
61
65
  if (paramList.length) {
62
66
  return paramList.map(param => {
63
- var _a;
67
+ var _a, _b;
64
68
  return ({
65
69
  name: (_a = param.alias) !== null && _a !== void 0 ? _a : param.name,
66
- type: param.type,
70
+ type: (0, write_type_1.WriteType)({ type: (_b = param.type) !== null && _b !== void 0 ? _b : 'unknown', isArray: param.isArray }, sourceFile),
67
71
  decorators: [
68
72
  {
69
73
  name: 'Param',
@@ -208,8 +212,8 @@ function CoerceNestOperation(sourceFile, options) {
208
212
  scope: ts_morph_1.Scope.Public,
209
213
  isAsync,
210
214
  parameters: [
211
- ...buildMethodQueryParameters(queryList, importStructures),
212
- ...buildMethodParamParameters(paramList),
215
+ ...buildMethodQueryParameters(queryList, sourceFile),
216
+ ...buildMethodParamParameters(paramList, sourceFile),
213
217
  ...buildMethodBodyParameters(body),
214
218
  ].sort((a, b) => {
215
219
  if (a.hasQuestionToken && b.hasQuestionToken) {
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-nest-operation.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/nest/coerce-nest-operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coerce-nest-operation.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/nest/coerce-nest-operation.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,16 @@
1
1
  import { ImportDeclarationStructure, OptionalKind } from 'ts-morph';
2
+ export declare enum TypeNames {
3
+ String = "string",
4
+ Number = "number",
5
+ Boolean = "boolean",
6
+ Any = "any",
7
+ Unknown = "unknown",
8
+ Self = "<self>",
9
+ Deferred = "<deferred>"
10
+ }
11
+ export type TypeName = string | TypeNames;
2
12
  export interface TypeImport {
3
- name: string;
13
+ name: TypeName;
4
14
  moduleSpecifier?: string | null;
5
15
  namedImport?: string | null;
6
16
  namespaceImport?: string | null;
@@ -11,12 +21,17 @@ export declare function IsTypeImport(value: any): value is TypeImport;
11
21
  export declare function RequiresTypeImport(typeImport: TypeImport): boolean;
12
22
  export declare function TypeImportToImportStructure(typeImport: TypeImport): OptionalKind<ImportDeclarationStructure>;
13
23
  export interface NormalizedTypeImport {
14
- name: string;
24
+ /**
25
+ * The name of the type
26
+ * <self> indicates a self reference of the next object in the chain
27
+ * <deferred> indicates that the type is only known at runtime
28
+ */
29
+ name: TypeName;
15
30
  moduleSpecifier: string | null;
16
31
  namedImport: string | null;
17
32
  namespaceImport: string | null;
18
33
  isTypeOnly: boolean | null;
19
34
  defaultImport: string | null;
20
35
  }
21
- export declare function NormalizeTypeImport(typeImport?: Readonly<TypeImport> | string): NormalizedTypeImport;
22
- export declare function NormalizeTypeImportList(typeImportList?: TypeImport[]): NormalizedTypeImport[];
36
+ export declare function NormalizeTypeImport(typeImport?: Readonly<TypeImport> | string, defaultType?: TypeImport | string): NormalizedTypeImport;
37
+ export declare function NormalizeTypeImportList(typeImportList?: Array<TypeImport | string>, defaultType?: string): NormalizedTypeImport[];
@@ -1,6 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NormalizeTypeImportList = exports.NormalizeTypeImport = exports.TypeImportToImportStructure = exports.RequiresTypeImport = exports.IsTypeImport = void 0;
3
+ exports.NormalizeTypeImportList = exports.NormalizeTypeImport = exports.TypeImportToImportStructure = exports.RequiresTypeImport = exports.IsTypeImport = exports.TypeNames = void 0;
4
+ var TypeNames;
5
+ (function (TypeNames) {
6
+ TypeNames["String"] = "string";
7
+ TypeNames["Number"] = "number";
8
+ TypeNames["Boolean"] = "boolean";
9
+ TypeNames["Any"] = "any";
10
+ TypeNames["Unknown"] = "unknown";
11
+ TypeNames["Self"] = "<self>";
12
+ TypeNames["Deferred"] = "<deferred>";
13
+ })(TypeNames || (exports.TypeNames = TypeNames = {}));
4
14
  function IsTypeImport(value) {
5
15
  return typeof value === 'object' && typeof value.name === 'string';
6
16
  }
@@ -31,8 +41,8 @@ function TypeImportToImportStructure(typeImport) {
31
41
  return structure;
32
42
  }
33
43
  exports.TypeImportToImportStructure = TypeImportToImportStructure;
34
- function NormalizeTypeImport(typeImport) {
35
- var _a, _b, _c, _d, _e;
44
+ function NormalizeTypeImport(typeImport, defaultType = 'unknown') {
45
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
36
46
  let name;
37
47
  let moduleSpecifier = null;
38
48
  let namedImport = null;
@@ -40,7 +50,17 @@ function NormalizeTypeImport(typeImport) {
40
50
  let isTypeOnly = false;
41
51
  let defaultImport = null;
42
52
  if (!typeImport) {
43
- name = 'unknown';
53
+ if (typeof defaultType === 'string') {
54
+ name = defaultType;
55
+ }
56
+ else {
57
+ name = defaultType.name;
58
+ moduleSpecifier = (_a = defaultType.moduleSpecifier) !== null && _a !== void 0 ? _a : moduleSpecifier;
59
+ namedImport = (_b = defaultType.namedImport) !== null && _b !== void 0 ? _b : namedImport;
60
+ namespaceImport = (_c = defaultType.namespaceImport) !== null && _c !== void 0 ? _c : namespaceImport;
61
+ isTypeOnly = (_d = defaultType.isTypeOnly) !== null && _d !== void 0 ? _d : isTypeOnly;
62
+ defaultImport = (_e = defaultType.defaultImport) !== null && _e !== void 0 ? _e : defaultImport;
63
+ }
44
64
  }
45
65
  else if (typeof typeImport === 'string') {
46
66
  // name:moduleSpecifier:namedImport
@@ -52,24 +72,24 @@ function NormalizeTypeImport(typeImport) {
52
72
  }
53
73
  else {
54
74
  name = typeImport.name;
55
- moduleSpecifier = (_a = typeImport.moduleSpecifier) !== null && _a !== void 0 ? _a : moduleSpecifier;
56
- namedImport = (_b = typeImport.namedImport) !== null && _b !== void 0 ? _b : namedImport;
57
- namespaceImport = (_c = typeImport.namespaceImport) !== null && _c !== void 0 ? _c : namespaceImport;
58
- isTypeOnly = (_d = typeImport.isTypeOnly) !== null && _d !== void 0 ? _d : isTypeOnly;
59
- defaultImport = (_e = typeImport.defaultImport) !== null && _e !== void 0 ? _e : defaultImport;
75
+ moduleSpecifier = (_f = typeImport.moduleSpecifier) !== null && _f !== void 0 ? _f : moduleSpecifier;
76
+ namedImport = (_g = typeImport.namedImport) !== null && _g !== void 0 ? _g : namedImport;
77
+ namespaceImport = (_h = typeImport.namespaceImport) !== null && _h !== void 0 ? _h : namespaceImport;
78
+ isTypeOnly = (_j = typeImport.isTypeOnly) !== null && _j !== void 0 ? _j : isTypeOnly;
79
+ defaultImport = (_k = typeImport.defaultImport) !== null && _k !== void 0 ? _k : defaultImport;
60
80
  }
61
- return ({
81
+ return {
62
82
  name,
63
83
  moduleSpecifier,
64
84
  namedImport,
65
85
  namespaceImport,
66
86
  isTypeOnly,
67
87
  defaultImport,
68
- });
88
+ };
69
89
  }
70
90
  exports.NormalizeTypeImport = NormalizeTypeImport;
71
- function NormalizeTypeImportList(typeImportList = []) {
72
- return typeImportList.map(NormalizeTypeImport);
91
+ function NormalizeTypeImportList(typeImportList = [], defaultType = 'unknown') {
92
+ return typeImportList.map(type => NormalizeTypeImport(type, defaultType));
73
93
  }
74
94
  exports.NormalizeTypeImportList = NormalizeTypeImportList;
75
95
  //# sourceMappingURL=type-import.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-import.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/type-import.ts"],"names":[],"mappings":";;;AAcA,SAAgB,YAAY,CAAC,KAAU;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AACrE,CAAC;AAFD,oCAEC;AAED,SAAgB,kBAAkB,CAAC,UAAsB;IACvD,OAAO,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;AACtC,CAAC;AAFD,gDAEC;AAED,SAAgB,2BAA2B,CAAC,UAAsB;IAChE,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;KACpD;IACD,MAAM,SAAS,GAA6C;QAC1D,eAAe,EAAE,UAAU,CAAC,eAAe;KAC5C,CAAC;IACF,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;QACvF,SAAS,CAAC,YAAY,GAAG,CAAE,UAAU,CAAC,IAAI,CAAE,CAAC;KAC9C;IACD,IAAI,UAAU,CAAC,WAAW,EAAE;QAC1B,SAAS,CAAC,YAAY,GAAG,CAAE,UAAU,CAAC,WAAW,CAAE,CAAC;KACrD;IACD,IAAI,UAAU,CAAC,eAAe,EAAE;QAC9B,SAAS,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;KACxD;IACD,IAAI,UAAU,CAAC,aAAa,EAAE;QAC5B,SAAS,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;KACpD;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AApBD,kEAoBC;AAWD,SAAgB,mBAAmB,CAAC,UAA0C;;IAC5E,IAAI,IAAY,CAAC;IACjB,IAAI,eAAe,GAAkB,IAAI,CAAC;IAC1C,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,eAAe,GAAkB,IAAI,CAAC;IAC1C,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,IAAI,CAAC,UAAU,EAAE;QACf,IAAI,GAAG,SAAS,CAAC;KAClB;SAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;QACzC,mCAAmC;QACnC,6BAA6B;QAC7B,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;QACjC,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,0EAA0E;QAClH,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,sEAAsE;KAC3G;SAAM;QACL,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QACvB,eAAe,GAAG,MAAA,UAAU,CAAC,eAAe,mCAAI,eAAe,CAAC;QAChE,WAAW,GAAG,MAAA,UAAU,CAAC,WAAW,mCAAI,WAAW,CAAC;QACpD,eAAe,GAAG,MAAA,UAAU,CAAC,eAAe,mCAAI,eAAe,CAAC;QAChE,UAAU,GAAG,MAAA,UAAU,CAAC,UAAU,mCAAI,UAAU,CAAC;QACjD,aAAa,GAAG,MAAA,UAAU,CAAC,aAAa,mCAAI,aAAa,CAAC;KAC3D;IACD,OAAO,CAAC;QACN,IAAI;QACJ,eAAe;QACf,WAAW;QACX,eAAe;QACf,UAAU;QACV,aAAa;KACd,CAAC,CAAC;AACL,CAAC;AAhCD,kDAgCC;AAED,SAAgB,uBAAuB,CAAC,iBAA+B,EAAE;IACvE,OAAO,cAAc,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACjD,CAAC;AAFD,0DAEC"}
1
+ {"version":3,"file":"type-import.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/type-import.ts"],"names":[],"mappings":"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"}
@@ -6,12 +6,31 @@ export type UpstreamOptions = OpenApiUpstreamOptions | BaseUpstreamOptions;
6
6
  export type NormalizedUpstreamOptions = NormalizedOpenApiUpstreamOptions | NormalizedBaseUpstreamOptions;
7
7
  export interface BaseUpstreamOptions {
8
8
  kind: UpstreamOptionsKinds;
9
+ mapper?: RequestMapper;
9
10
  }
10
- export interface NormalizedBaseUpstreamOptions extends Readonly<Normalized<BaseUpstreamOptions>> {
11
+ export interface NormalizedBaseUpstreamOptions<Mapper extends NormalizedRequestMapper = NormalizedRequestMapper> extends Readonly<Normalized<BaseUpstreamOptions>> {
11
12
  kind: UpstreamOptionsKinds;
13
+ mapper: Mapper | null;
12
14
  }
13
15
  export declare function NormalizeBaseUpstreamOptions(options: BaseUpstreamOptions): NormalizedBaseUpstreamOptions;
14
- export interface CommandMapper {
16
+ export type RequestMapper = PagedRequestMapper | BaseRequestMapper | OptionsRequestMapper | ResolveRequestMapper;
17
+ export type NormalizedRequestMapper = NormalizedPagedRequestMapper | NormalizedBaseRequestMapper | NormalizedOptionsRequestMapper | NormalizedResolveRequestMapper;
18
+ export declare function NormalizeRequestMapper(mapper?: RequestMapper | null): NormalizedRequestMapper | null;
19
+ export declare enum RequestMapperKinds {
20
+ DEFAULT = "default",
21
+ PAGED = "paged",
22
+ OPTIONS = "options",
23
+ Resolve = "resolve"
24
+ }
25
+ export interface BaseRequestMapper {
26
+ kind: RequestMapperKinds;
27
+ }
28
+ export interface NormalizedBaseRequestMapper extends Readonly<Normalized<BaseRequestMapper>> {
29
+ kind: RequestMapperKinds.DEFAULT;
30
+ }
31
+ export declare function NormalizeBaseRequestMapper(mapper: BaseRequestMapper): NormalizedBaseRequestMapper;
32
+ export declare function IsNormalizedBaseRequestMapper(mapper: NormalizedRequestMapper): mapper is NormalizedBaseRequestMapper;
33
+ export interface PagedRequestMapper extends BaseRequestMapper {
15
34
  pageIndex?: string;
16
35
  pageSize?: string;
17
36
  sortBy?: string;
@@ -23,20 +42,44 @@ export interface CommandMapper {
23
42
  join: string;
24
43
  };
25
44
  }
26
- export interface NormalizedCommandMapper extends Readonly<Normalized<CommandMapper>> {
45
+ export interface NormalizedPagedRequestMapper extends Readonly<Normalized<PagedRequestMapper>> {
46
+ kind: RequestMapperKinds.PAGED;
27
47
  filter: {
28
48
  eq: string;
29
49
  join: string;
30
50
  } | null;
31
51
  }
32
- export declare function NormalizeCommandMapper(mapper?: CommandMapper | null): NormalizedCommandMapper | null;
52
+ export declare function NormalizePagedRequestMapper(mapper: PagedRequestMapper): NormalizedPagedRequestMapper;
53
+ export declare function IsNormalizedPagedRequestMapper(mapper: NormalizedRequestMapper): mapper is NormalizedPagedRequestMapper;
54
+ export declare enum ToOptionsFunction {
55
+ TO_OPTIONS = "ToOptions",
56
+ TO_OPTIONS_FROM_OBJECT = "ToOptionsFromObject"
57
+ }
58
+ export interface OptionsRequestMapper extends BaseRequestMapper {
59
+ toFunction?: ToOptionsFunction;
60
+ toValue?: string;
61
+ toDisplay?: string;
62
+ }
63
+ export interface NormalizedOptionsRequestMapper extends Readonly<Normalized<OptionsRequestMapper>> {
64
+ kind: RequestMapperKinds.OPTIONS;
65
+ toFunction: ToOptionsFunction;
66
+ }
67
+ export declare function NormalizeOptionsRequestMapper(mapper: OptionsRequestMapper): NormalizedOptionsRequestMapper;
68
+ export declare function IsNormalizedOptionsRequestMapper(mapper: NormalizedRequestMapper): mapper is NormalizedOptionsRequestMapper;
69
+ export interface ResolveRequestMapper extends BaseRequestMapper {
70
+ value?: string;
71
+ }
72
+ export interface NormalizedResolveRequestMapper extends Readonly<Normalized<ResolveRequestMapper>> {
73
+ kind: RequestMapperKinds.Resolve;
74
+ }
75
+ export declare function NormalizeResolveRequestMapper(mapper: ResolveRequestMapper): NormalizedResolveRequestMapper;
76
+ export declare function IsNormalizedResolveRequestMapper(mapper: NormalizedRequestMapper): mapper is NormalizedResolveRequestMapper;
33
77
  export interface OpenApiUpstreamOptions extends BaseUpstreamOptions {
34
78
  operationId: string;
35
79
  isService?: boolean;
36
80
  scope?: string;
37
- mapper?: CommandMapper;
38
81
  }
39
- export interface NormalizedOpenApiUpstreamOptions extends Readonly<Normalized<OpenApiUpstreamOptions>> {
82
+ export interface NormalizedOpenApiUpstreamOptions extends Readonly<Normalized<Omit<OpenApiUpstreamOptions, keyof NormalizedBaseUpstreamOptions>>>, NormalizedBaseUpstreamOptions {
40
83
  kind: UpstreamOptionsKinds.OPEN_API;
41
84
  }
42
85
  export declare function NormalizeOpenApiUpstreamOptions(options: OpenApiUpstreamOptions): NormalizedOpenApiUpstreamOptions;