@rxap/ts-morph 1.1.0-dev.2 → 1.1.0-dev.21

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 (78) hide show
  1. package/CHANGELOG.md +147 -0
  2. package/README.md +1 -1
  3. package/package.json +6 -4
  4. package/src/index.d.ts +10 -0
  5. package/src/index.js +10 -0
  6. package/src/index.js.map +1 -1
  7. package/src/lib/angular/add-route.d.ts +4 -0
  8. package/src/lib/angular/add-route.js +59 -0
  9. package/src/lib/angular/add-route.js.map +1 -0
  10. package/src/lib/angular/build-route-object.d.ts +16 -0
  11. package/src/lib/angular/build-route-object.js +55 -0
  12. package/src/lib/angular/build-route-object.js.map +1 -0
  13. package/src/lib/angular/coerce-app-navigation.d.ts +12 -0
  14. package/src/lib/angular/coerce-app-navigation.js +55 -0
  15. package/src/lib/angular/coerce-app-navigation.js.map +1 -0
  16. package/src/lib/angular/coerce-app-routes.d.ts +4 -0
  17. package/src/lib/angular/coerce-app-routes.js +27 -0
  18. package/src/lib/angular/coerce-app-routes.js.map +1 -0
  19. package/src/lib/angular/coerce-component-import.d.ts +1 -1
  20. package/src/lib/angular/coerce-component-import.js +9 -7
  21. package/src/lib/angular/coerce-component-import.js.map +1 -1
  22. package/src/lib/angular/coerce-component-input.js +10 -10
  23. package/src/lib/angular/coerce-component-input.js.map +1 -1
  24. package/src/lib/angular/coerce-component.d.ts +1 -1
  25. package/src/lib/angular/coerce-component.js +15 -2
  26. package/src/lib/angular/coerce-component.js.map +1 -1
  27. package/src/lib/angular/coerce-layout-routes.d.ts +4 -0
  28. package/src/lib/angular/coerce-layout-routes.js +63 -0
  29. package/src/lib/angular/coerce-layout-routes.js.map +1 -0
  30. package/src/lib/angular/coerce-routes.d.ts +11 -0
  31. package/src/lib/angular/coerce-routes.js +35 -0
  32. package/src/lib/angular/coerce-routes.js.map +1 -0
  33. package/src/lib/angular/find-parent-route.d.ts +2 -0
  34. package/src/lib/angular/find-parent-route.js +54 -0
  35. package/src/lib/angular/find-parent-route.js.map +1 -0
  36. package/src/lib/angular/get-component-decorator-object.js +5 -5
  37. package/src/lib/angular/get-component-decorator-object.js.map +1 -1
  38. package/src/lib/coerce-array-element.js +6 -1
  39. package/src/lib/coerce-array-element.js.map +1 -1
  40. package/src/lib/coerce-decorator.js +5 -0
  41. package/src/lib/coerce-decorator.js.map +1 -1
  42. package/src/lib/coerce-default-class-export.d.ts +1 -1
  43. package/src/lib/coerce-default-class-export.js +3 -16
  44. package/src/lib/coerce-default-class-export.js.map +1 -1
  45. package/src/lib/coerce-default-export.d.ts +2 -0
  46. package/src/lib/coerce-default-export.js +14 -0
  47. package/src/lib/coerce-default-export.js.map +1 -0
  48. package/src/lib/coerce-dependency-injection.d.ts +1 -1
  49. package/src/lib/coerce-dependency-injection.js +36 -32
  50. package/src/lib/coerce-dependency-injection.js.map +1 -1
  51. package/src/lib/coerce-statements.d.ts +1 -1
  52. package/src/lib/coerce-statements.js +8 -3
  53. package/src/lib/coerce-statements.js.map +1 -1
  54. package/src/lib/data-property.d.ts +13 -6
  55. package/src/lib/data-property.js +50 -6
  56. package/src/lib/data-property.js.map +1 -1
  57. package/src/lib/find-function.js +1 -1
  58. package/src/lib/find-function.js.map +1 -1
  59. package/src/lib/identifier.d.ts +10 -0
  60. package/src/lib/identifier.js +16 -0
  61. package/src/lib/identifier.js.map +1 -0
  62. package/src/lib/nest/add-health-endpoint.js +1 -0
  63. package/src/lib/nest/add-health-endpoint.js.map +1 -1
  64. package/src/lib/nest/coerce-nest-cache-module-import.d.ts +4 -0
  65. package/src/lib/nest/coerce-nest-cache-module-import.js +25 -0
  66. package/src/lib/nest/coerce-nest-cache-module-import.js.map +1 -0
  67. package/src/lib/nest/coerce-nest-operation.d.ts +6 -5
  68. package/src/lib/nest/coerce-nest-operation.js +30 -26
  69. package/src/lib/nest/coerce-nest-operation.js.map +1 -1
  70. package/src/lib/nest/operation-id-utilities.d.ts +1 -1
  71. package/src/lib/nest/operation-id-utilities.js +3 -3
  72. package/src/lib/nest/operation-id-utilities.js.map +1 -1
  73. package/src/lib/type-import.d.ts +19 -4
  74. package/src/lib/type-import.js +33 -13
  75. package/src/lib/type-import.js.map +1 -1
  76. package/src/lib/upstream-options.d.ts +50 -6
  77. package/src/lib/upstream-options.js +70 -15
  78. package/src/lib/upstream-options.js.map +1 -1
@@ -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,19 +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;
79
+ isService?: boolean;
35
80
  scope?: string;
36
- mapper?: CommandMapper;
37
81
  }
38
- export interface NormalizedOpenApiUpstreamOptions extends Readonly<Normalized<OpenApiUpstreamOptions>> {
82
+ export interface NormalizedOpenApiUpstreamOptions extends Readonly<Normalized<Omit<OpenApiUpstreamOptions, keyof NormalizedBaseUpstreamOptions>>>, NormalizedBaseUpstreamOptions {
39
83
  kind: UpstreamOptionsKinds.OPEN_API;
40
84
  }
41
85
  export declare function NormalizeOpenApiUpstreamOptions(options: OpenApiUpstreamOptions): NormalizedOpenApiUpstreamOptions;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NormalizeUpstreamOptions = exports.IsNormalizedOpenApiUpstreamOptions = exports.NormalizeOpenApiUpstreamOptions = exports.NormalizeCommandMapper = exports.NormalizeBaseUpstreamOptions = exports.UpstreamOptionsKinds = void 0;
3
+ exports.NormalizeUpstreamOptions = exports.IsNormalizedOpenApiUpstreamOptions = exports.NormalizeOpenApiUpstreamOptions = exports.IsNormalizedResolveRequestMapper = exports.NormalizeResolveRequestMapper = exports.IsNormalizedOptionsRequestMapper = exports.NormalizeOptionsRequestMapper = exports.ToOptionsFunction = exports.IsNormalizedPagedRequestMapper = exports.NormalizePagedRequestMapper = exports.IsNormalizedBaseRequestMapper = exports.NormalizeBaseRequestMapper = exports.RequestMapperKinds = exports.NormalizeRequestMapper = exports.NormalizeBaseUpstreamOptions = exports.UpstreamOptionsKinds = void 0;
4
4
  var UpstreamOptionsKinds;
5
5
  (function (UpstreamOptionsKinds) {
6
6
  UpstreamOptionsKinds["OPEN_API"] = "open-api";
@@ -8,31 +8,86 @@ var UpstreamOptionsKinds;
8
8
  function NormalizeBaseUpstreamOptions(options) {
9
9
  return Object.freeze({
10
10
  kind: options.kind,
11
+ mapper: NormalizeRequestMapper(options.mapper),
11
12
  });
12
13
  }
13
14
  exports.NormalizeBaseUpstreamOptions = NormalizeBaseUpstreamOptions;
14
- function NormalizeCommandMapper(mapper) {
15
- var _a, _b, _c, _d, _e, _f, _g;
15
+ function NormalizeRequestMapper(mapper) {
16
16
  if (!mapper || Object.keys(mapper).length === 0) {
17
17
  return null;
18
18
  }
19
+ switch (mapper.kind) {
20
+ default:
21
+ case RequestMapperKinds.DEFAULT:
22
+ return NormalizeBaseRequestMapper(mapper);
23
+ case RequestMapperKinds.PAGED:
24
+ return NormalizePagedRequestMapper(mapper);
25
+ case RequestMapperKinds.OPTIONS:
26
+ return NormalizeOptionsRequestMapper(mapper);
27
+ case RequestMapperKinds.Resolve:
28
+ return NormalizeResolveRequestMapper(mapper);
29
+ }
30
+ }
31
+ exports.NormalizeRequestMapper = NormalizeRequestMapper;
32
+ // endregion
33
+ // region BaseRequestMapper
34
+ var RequestMapperKinds;
35
+ (function (RequestMapperKinds) {
36
+ RequestMapperKinds["DEFAULT"] = "default";
37
+ RequestMapperKinds["PAGED"] = "paged";
38
+ RequestMapperKinds["OPTIONS"] = "options";
39
+ RequestMapperKinds["Resolve"] = "resolve";
40
+ })(RequestMapperKinds || (exports.RequestMapperKinds = RequestMapperKinds = {}));
41
+ function NormalizeBaseRequestMapper(mapper) {
19
42
  return Object.freeze({
20
- pageIndex: (_a = mapper.pageIndex) !== null && _a !== void 0 ? _a : null,
21
- pageSize: (_b = mapper.pageSize) !== null && _b !== void 0 ? _b : null,
22
- sortBy: (_c = mapper.sortBy) !== null && _c !== void 0 ? _c : null,
23
- list: (_d = mapper.list) !== null && _d !== void 0 ? _d : null,
24
- total: (_e = mapper.total) !== null && _e !== void 0 ? _e : null,
25
- sortDirection: (_f = mapper.sortDirection) !== null && _f !== void 0 ? _f : null,
26
- filter: mapper.filter && Object.keys((_g = mapper.filter) !== null && _g !== void 0 ? _g : {}).length ? {
43
+ kind: RequestMapperKinds.DEFAULT,
44
+ });
45
+ }
46
+ exports.NormalizeBaseRequestMapper = NormalizeBaseRequestMapper;
47
+ function IsNormalizedBaseRequestMapper(mapper) {
48
+ return mapper.kind === RequestMapperKinds.DEFAULT;
49
+ }
50
+ exports.IsNormalizedBaseRequestMapper = IsNormalizedBaseRequestMapper;
51
+ function NormalizePagedRequestMapper(mapper) {
52
+ var _a, _b, _c, _d, _e, _f, _g;
53
+ return Object.freeze(Object.assign(Object.assign({}, NormalizeBaseRequestMapper(mapper)), { kind: RequestMapperKinds.PAGED, pageIndex: (_a = mapper.pageIndex) !== null && _a !== void 0 ? _a : null, pageSize: (_b = mapper.pageSize) !== null && _b !== void 0 ? _b : null, sortBy: (_c = mapper.sortBy) !== null && _c !== void 0 ? _c : null, list: (_d = mapper.list) !== null && _d !== void 0 ? _d : null, total: (_e = mapper.total) !== null && _e !== void 0 ? _e : null, sortDirection: (_f = mapper.sortDirection) !== null && _f !== void 0 ? _f : null, filter: mapper.filter && Object.keys((_g = mapper.filter) !== null && _g !== void 0 ? _g : {}).length ? {
27
54
  eq: mapper.filter.eq,
28
55
  join: mapper.filter.join,
29
- } : null,
30
- });
56
+ } : null }));
31
57
  }
32
- exports.NormalizeCommandMapper = NormalizeCommandMapper;
33
- function NormalizeOpenApiUpstreamOptions(options) {
58
+ exports.NormalizePagedRequestMapper = NormalizePagedRequestMapper;
59
+ function IsNormalizedPagedRequestMapper(mapper) {
60
+ return mapper.kind === RequestMapperKinds.PAGED;
61
+ }
62
+ exports.IsNormalizedPagedRequestMapper = IsNormalizedPagedRequestMapper;
63
+ // endregion
64
+ // region OptionsRequestMapper
65
+ var ToOptionsFunction;
66
+ (function (ToOptionsFunction) {
67
+ ToOptionsFunction["TO_OPTIONS"] = "ToOptions";
68
+ ToOptionsFunction["TO_OPTIONS_FROM_OBJECT"] = "ToOptionsFromObject";
69
+ })(ToOptionsFunction || (exports.ToOptionsFunction = ToOptionsFunction = {}));
70
+ function NormalizeOptionsRequestMapper(mapper) {
71
+ var _a, _b, _c;
72
+ return Object.freeze(Object.assign(Object.assign({}, NormalizeBaseRequestMapper(mapper)), { kind: RequestMapperKinds.OPTIONS, toFunction: (_a = mapper.toFunction) !== null && _a !== void 0 ? _a : ToOptionsFunction.TO_OPTIONS, toValue: (_b = mapper.toValue) !== null && _b !== void 0 ? _b : null, toDisplay: (_c = mapper.toDisplay) !== null && _c !== void 0 ? _c : null }));
73
+ }
74
+ exports.NormalizeOptionsRequestMapper = NormalizeOptionsRequestMapper;
75
+ function IsNormalizedOptionsRequestMapper(mapper) {
76
+ return mapper.kind === RequestMapperKinds.OPTIONS;
77
+ }
78
+ exports.IsNormalizedOptionsRequestMapper = IsNormalizedOptionsRequestMapper;
79
+ function NormalizeResolveRequestMapper(mapper) {
34
80
  var _a;
35
- return Object.freeze(Object.assign(Object.assign({}, NormalizeBaseUpstreamOptions(options)), { kind: UpstreamOptionsKinds.OPEN_API, operationId: options.operationId, mapper: NormalizeCommandMapper(options.mapper), scope: (_a = options.scope) !== null && _a !== void 0 ? _a : null }));
81
+ return Object.freeze(Object.assign(Object.assign({}, NormalizeBaseRequestMapper(mapper)), { kind: RequestMapperKinds.Resolve, value: (_a = mapper.value) !== null && _a !== void 0 ? _a : null }));
82
+ }
83
+ exports.NormalizeResolveRequestMapper = NormalizeResolveRequestMapper;
84
+ function IsNormalizedResolveRequestMapper(mapper) {
85
+ return mapper.kind === RequestMapperKinds.Resolve;
86
+ }
87
+ exports.IsNormalizedResolveRequestMapper = IsNormalizedResolveRequestMapper;
88
+ function NormalizeOpenApiUpstreamOptions(options) {
89
+ var _a, _b;
90
+ return Object.freeze(Object.assign(Object.assign({}, NormalizeBaseUpstreamOptions(options)), { kind: UpstreamOptionsKinds.OPEN_API, operationId: options.operationId, scope: (_a = options.scope) !== null && _a !== void 0 ? _a : null, isService: (_b = options.isService) !== null && _b !== void 0 ? _b : false }));
36
91
  }
37
92
  exports.NormalizeOpenApiUpstreamOptions = NormalizeOpenApiUpstreamOptions;
38
93
  function IsNormalizedOpenApiUpstreamOptions(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"upstream-options.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/upstream-options.ts"],"names":[],"mappings":";;;AAEA,IAAY,oBAEX;AAFD,WAAY,oBAAoB;IAC9B,6CAAqB,CAAA;AACvB,CAAC,EAFW,oBAAoB,oCAApB,oBAAoB,QAE/B;AAgBD,SAAgB,4BAA4B,CAAC,OAA4B;IACvE,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC,CAAC;AACL,CAAC;AAJD,oEAIC;AA0BD,SAAgB,sBAAsB,CAAC,MAA6B;;IAClE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/C,OAAO,IAAI,CAAC;KACb;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,SAAS,EAAE,MAAA,MAAM,CAAC,SAAS,mCAAI,IAAI;QACnC,QAAQ,EAAE,MAAA,MAAM,CAAC,QAAQ,mCAAI,IAAI;QACjC,MAAM,EAAE,MAAA,MAAM,CAAC,MAAM,mCAAI,IAAI;QAC7B,IAAI,EAAE,MAAA,MAAM,CAAC,IAAI,mCAAI,IAAI;QACzB,KAAK,EAAE,MAAA,MAAM,CAAC,KAAK,mCAAI,IAAI;QAC3B,aAAa,EAAE,MAAA,MAAM,CAAC,aAAa,mCAAI,IAAI;QAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAA,MAAM,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACjE,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE;YACpB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;SACzB,CAAC,CAAC,CAAC,IAAI;KACT,CAAC,CAAC;AACL,CAAC;AAhBD,wDAgBC;AAgBD,SAAgB,+BAA+B,CAAC,OAA+B;;IAC7E,OAAO,MAAM,CAAC,MAAM,iCACf,4BAA4B,CAAC,OAAO,CAAC,KACxC,IAAI,EAAE,oBAAoB,CAAC,QAAQ,EACnC,WAAW,EAAE,OAAO,CAAC,WAAW,EAChC,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,EAC9C,KAAK,EAAE,MAAA,OAAO,CAAC,KAAK,mCAAI,IAAI,IAC5B,CAAC;AACL,CAAC;AARD,0EAQC;AAED,SAAgB,kCAAkC,CAAC,OAAkC;IACnF,OAAO,OAAO,CAAC,IAAI,KAAK,oBAAoB,CAAC,QAAQ,CAAC;AACxD,CAAC;AAFD,gFAEC;AAED,YAAY;AAEZ,SAAgB,wBAAwB,CAAC,OAAyB;IAChE,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACjD,OAAO,IAAI,CAAC;KACb;IACD,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,oBAAoB,CAAC,QAAQ;YAChC,OAAO,+BAA+B,CAAC,OAAiC,CAAC,CAAC;KAC7E;AACH,CAAC;AARD,4DAQC"}
1
+ {"version":3,"file":"upstream-options.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/upstream-options.ts"],"names":[],"mappings":"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"}