@rxap/schematics-open-api 16.0.0-dev.0 → 16.0.0-dev.10

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 (84) hide show
  1. package/CHANGELOG.md +104 -182
  2. package/{LICENSE → LICENSE.md} +3 -12
  3. package/README.md +7 -6
  4. package/collection.json +9 -0
  5. package/package.json +56 -31
  6. package/src/index.d.ts +3 -4
  7. package/src/index.js +3 -6
  8. package/src/index.js.map +1 -1
  9. package/src/lib/clear-operation.js +2 -6
  10. package/src/lib/clear-operation.js.map +1 -1
  11. package/src/lib/config.js.map +1 -1
  12. package/src/lib/generate-components.d.ts +1 -1
  13. package/src/lib/generate-components.js +12 -14
  14. package/src/lib/generate-components.js.map +1 -1
  15. package/src/lib/generate-index-exports.js +1 -1
  16. package/src/lib/generate-index-exports.js.map +1 -1
  17. package/src/lib/generate-operation.d.ts +1 -1
  18. package/src/lib/generate-operation.js +16 -21
  19. package/src/lib/generate-operation.js.map +1 -1
  20. package/src/lib/generate-parameters.d.ts +1 -1
  21. package/src/lib/generate-parameters.js +52 -51
  22. package/src/lib/generate-parameters.js.map +1 -1
  23. package/src/lib/generate-request-body.d.ts +1 -1
  24. package/src/lib/generate-request-body.js +15 -14
  25. package/src/lib/generate-request-body.js.map +1 -1
  26. package/src/lib/generate-response.d.ts +1 -1
  27. package/src/lib/generate-response.js +15 -14
  28. package/src/lib/generate-response.js.map +1 -1
  29. package/src/lib/load-open-api-config.js.map +1 -1
  30. package/src/lib/types.d.ts +1 -1
  31. package/src/lib/types.js.map +1 -1
  32. package/src/lib/utilities/any-schema-object.js +1 -1
  33. package/src/lib/utilities/any-schema-object.js.map +1 -1
  34. package/src/lib/utilities/get-parameter-type.js.map +1 -1
  35. package/src/lib/utilities/get-reqeust-body.js +2 -2
  36. package/src/lib/utilities/get-reqeust-body.js.map +1 -1
  37. package/src/lib/utilities/get-request-body-type.js.map +1 -1
  38. package/src/lib/utilities/get-response-type.js.map +1 -1
  39. package/src/lib/utilities/get-response.js +5 -6
  40. package/src/lib/utilities/get-response.js.map +1 -1
  41. package/src/lib/utilities/has-operation-paramters.js.map +1 -1
  42. package/src/lib/utilities/has-operation-request-body.js.map +1 -1
  43. package/src/lib/utilities/http-request.js +3 -1
  44. package/src/lib/utilities/http-request.js.map +1 -1
  45. package/src/lib/utilities/ignore-operation.js.map +1 -1
  46. package/src/lib/utilities/is-collection-response.js.map +1 -1
  47. package/src/lib/utilities/is-http-method.js.map +1 -1
  48. package/src/lib/utilities/is-open-api-schema-from-path.js +2 -1
  49. package/src/lib/utilities/is-open-api-schema-from-path.js.map +1 -1
  50. package/src/lib/utilities/is-operation-object.js +1 -1
  51. package/src/lib/utilities/is-operation-object.js.map +1 -1
  52. package/src/lib/utilities/is-reference-object.js +1 -1
  53. package/src/lib/utilities/is-reference-object.js.map +1 -1
  54. package/src/lib/utilities/is-without-parameters.js.map +1 -1
  55. package/src/schematics/generate/const.d.ts +5 -0
  56. package/src/schematics/generate/const.js +9 -0
  57. package/src/schematics/generate/const.js.map +1 -0
  58. package/src/schematics/generate/create-directive.d.ts +2 -0
  59. package/src/schematics/generate/create-directive.js +293 -0
  60. package/src/schematics/generate/create-directive.js.map +1 -0
  61. package/src/schematics/generate/generate-data-source.d.ts +2 -0
  62. package/src/schematics/generate/generate-data-source.js +74 -0
  63. package/src/schematics/generate/generate-data-source.js.map +1 -0
  64. package/src/schematics/generate/generate-openapi-provider.d.ts +3 -0
  65. package/src/schematics/generate/generate-openapi-provider.js +41 -0
  66. package/src/schematics/generate/generate-openapi-provider.js.map +1 -0
  67. package/src/schematics/generate/generate-operation-command.d.ts +3 -0
  68. package/src/schematics/generate/generate-operation-command.js +119 -0
  69. package/src/schematics/generate/generate-operation-command.js.map +1 -0
  70. package/src/schematics/generate/generate-remote-method.d.ts +3 -0
  71. package/src/schematics/generate/generate-remote-method.js +173 -0
  72. package/src/schematics/generate/generate-remote-method.js.map +1 -0
  73. package/src/schematics/generate/index.d.ts +3 -0
  74. package/src/schematics/generate/index.js +112 -0
  75. package/src/schematics/generate/index.js.map +1 -0
  76. package/src/schematics/generate/options.d.ts +14 -0
  77. package/src/schematics/generate/options.js +3 -0
  78. package/src/schematics/generate/options.js.map +1 -0
  79. package/src/schematics/generate/schema.d.ts +25 -0
  80. package/src/schematics/generate/schema.json +132 -0
  81. package/migration.json +0 -4
  82. package/src/lib/coerce-open-api-project.d.ts +0 -2
  83. package/src/lib/coerce-open-api-project.js +0 -48
  84. package/src/lib/coerce-open-api-project.js.map +0 -1
@@ -14,8 +14,8 @@ function GetRequestBody(operation) {
14
14
  console.warn('Reference object are not supported in operation requestBody!');
15
15
  }
16
16
  else {
17
- if (requestBodies.hasOwnProperty('application/json')) {
18
- const schema = requestBodies['application/json'].schema;
17
+ if (requestBodies['application/json']) {
18
+ const schema = requestBodies['application/json']['schema'];
19
19
  if (schema) {
20
20
  return schema;
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-reqeust-body.js","sourceRoot":"","sources":["../../../../../../libs/open-api/src/lib/utilities/get-reqeust-body.ts"],"names":[],"mappings":";;;AAEA,+DAA0D;AAC1D,qEAAsD;AAEtD,SAAgB,cAAc,CAAC,SAAoC;IAEjE,IAAI,SAAS,CAAC,WAAW,EAAE;QAEzB,IAAI,IAAA,uCAAiB,EAAC,SAAS,CAAC,WAAW,CAAC,EAAE;YAC5C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;SACjF;QAED,MAAM,aAAa,GAA0D,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;QAE3G,IAAI,IAAA,+BAAQ,EAAC,aAAa,CAAC,EAAE;YAE3B,IAAI,IAAA,uCAAiB,EAAC,aAAa,CAAC,EAAE;gBACpC,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;aAC9E;iBAAM;gBACL,IAAI,aAAa,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE;oBACpD,MAAM,MAAM,GAAG,aAAa,CAAE,kBAAkB,CAAE,CAAC,MAAM,CAAC;oBAC1D,IAAI,MAAM,EAAE;wBACV,OAAO,MAAM,CAAC;qBACf;iBACF;aACF;SAEF;KAEF;IAED,OAAO,IAAI,CAAC;AAEd,CAAC;AA7BD,wCA6BC"}
1
+ {"version":3,"file":"get-reqeust-body.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/lib/utilities/get-reqeust-body.ts"],"names":[],"mappings":";;;AAEA,+DAA0D;AAC1D,qEAAsD;AAEtD,SAAgB,cAAc,CAAC,SAAoC;IAEjE,IAAI,SAAS,CAAC,WAAW,EAAE;QAEzB,IAAI,IAAA,uCAAiB,EAAC,SAAS,CAAC,WAAW,CAAC,EAAE;YAC5C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;SACjF;QAED,MAAM,aAAa,GAA0D,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;QAE3G,IAAI,IAAA,+BAAQ,EAAC,aAAa,CAAC,EAAE;YAE3B,IAAI,IAAA,uCAAiB,EAAC,aAAa,CAAC,EAAE;gBACpC,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;aAC9E;iBAAM;gBACL,IAAI,aAAa,CAAC,kBAAkB,CAAC,EAAE;oBACrC,MAAM,MAAM,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAC3D,IAAI,MAAM,EAAE;wBACV,OAAO,MAAM,CAAC;qBACf;iBACF;aACF;SAEF;KAEF;IAED,OAAO,IAAI,CAAC;AAEd,CAAC;AA7BD,wCA6BC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-request-body-type.js","sourceRoot":"","sources":["../../../../../../libs/open-api/src/lib/utilities/get-request-body-type.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AACpD,2DAAwD;AACxD,qEAAsD;AACtD,sCAAqD;AAGrD,SAAgB,kBAAkB,CAAC,SAAiC;IAElE,IAAI,eAAe,GAAG,MAAM,CAAC;IAE7B,IAAI,SAAS,CAAC,WAAW,EAAE;QAEzB,MAAM,WAAW,GAAG,IAAA,iCAAc,EAAC,SAAS,CAAC,CAAC;QAE9C,IAAI,WAAW,KAAK,IAAI,EAAE;YACxB,eAAe,GAAG,MAAM,CAAC;SAC1B;aAAM,IAAI,CAAC,IAAA,qCAAiB,EAAC,WAAW,CAAC,EAAE;YAC1C,eAAe,GAAG,IAAA,+BAAQ,EAAC,CAAE,SAAS,CAAC,WAAW,EAAE,iCAAwB,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAC3F;aAAM;YACL,eAAe,GAAG,KAAK,CAAC;SACzB;KAEF;IAED,OAAO,eAAe,CAAC;AAEzB,CAAC;AApBD,gDAoBC"}
1
+ {"version":3,"file":"get-request-body-type.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/lib/utilities/get-request-body-type.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AACpD,2DAAwD;AACxD,qEAAsD;AACtD,sCAAqD;AAGrD,SAAgB,kBAAkB,CAAC,SAAiC;IAElE,IAAI,eAAe,GAAG,MAAM,CAAC;IAE7B,IAAI,SAAS,CAAC,WAAW,EAAE;QAEzB,MAAM,WAAW,GAAG,IAAA,iCAAc,EAAC,SAAS,CAAC,CAAC;QAE9C,IAAI,WAAW,KAAK,IAAI,EAAE;YACxB,eAAe,GAAG,MAAM,CAAC;SAC1B;aAAM,IAAI,CAAC,IAAA,qCAAiB,EAAC,WAAW,CAAC,EAAE;YAC1C,eAAe,GAAG,IAAA,+BAAQ,EAAC,CAAE,SAAS,CAAC,WAAW,EAAE,iCAAwB,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAC3F;aAAM;YACL,eAAe,GAAG,KAAK,CAAC;SACzB;KAEF;IAED,OAAO,eAAe,CAAC;AAEzB,CAAC;AApBD,gDAoBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-response-type.js","sourceRoot":"","sources":["../../../../../../libs/open-api/src/lib/utilities/get-response-type.ts"],"names":[],"mappings":";;;AAAA,qEAAsD;AAEtD,sCAAiD;AACjD,2DAAwD;AACxD,iDAA6C;AAE7C,SAAgB,eAAe,CAAC,SAAoC;IAElE,IAAI,YAAY,GAAG,MAAM,CAAC;IAE1B,IAAI,SAAS,CAAC,WAAW,EAAE;QAEzB,MAAM,QAAQ,GAAG,IAAA,0BAAW,EAAC,SAAS,CAAC,CAAC;QAExC,8DAA8D;QAC9D,IAAI,QAAQ,IAAI,CAAC,IAAA,qCAAiB,EAAC,QAAQ,CAAC,EAAE;YAC5C,YAAY,GAAG,IAAA,+BAAQ,EAAC,CAAC,SAAS,CAAC,WAAW,EAAE,6BAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAClF;aAAM;YACL,YAAY,GAAG,MAAM,CAAC;SACvB;KAEF;IAED,OAAO,YAAY,CAAC;AAEtB,CAAC;AAnBD,0CAmBC"}
1
+ {"version":3,"file":"get-response-type.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/lib/utilities/get-response-type.ts"],"names":[],"mappings":";;;AAAA,qEAAsD;AAEtD,sCAAiD;AACjD,2DAAwD;AACxD,iDAA6C;AAE7C,SAAgB,eAAe,CAAC,SAAoC;IAElE,IAAI,YAAY,GAAG,MAAM,CAAC;IAE1B,IAAI,SAAS,CAAC,WAAW,EAAE;QAEzB,MAAM,QAAQ,GAAG,IAAA,0BAAW,EAAC,SAAS,CAAC,CAAC;QAExC,8DAA8D;QAC9D,IAAI,QAAQ,IAAI,CAAC,IAAA,qCAAiB,EAAC,QAAQ,CAAC,EAAE;YAC5C,YAAY,GAAG,IAAA,+BAAQ,EAAC,CAAE,SAAS,CAAC,WAAW,EAAE,6BAAoB,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACpF;aAAM;YACL,YAAY,GAAG,MAAM,CAAC;SACvB;KAEF;IAED,OAAO,YAAY,CAAC;AAEtB,CAAC;AAnBD,0CAmBC"}
@@ -4,15 +4,14 @@ exports.GetResponse = void 0;
4
4
  const is_reference_object_1 = require("./is-reference-object");
5
5
  function GetResponse(operation) {
6
6
  if (operation.responses) {
7
- // tslint:disable:no-unnecessary-initializer
8
7
  let response = undefined;
9
- if (operation.responses.hasOwnProperty('default')) {
10
- response = operation.responses.default;
8
+ if (operation.responses['default']) {
9
+ response = operation.responses['default'];
11
10
  }
12
- else if (operation.responses.hasOwnProperty('200')) {
11
+ else if (operation.responses['200']) {
13
12
  response = operation.responses['200'];
14
13
  }
15
- else if (operation.responses.hasOwnProperty('201')) {
14
+ else if (operation.responses['201']) {
16
15
  response = operation.responses['201'];
17
16
  }
18
17
  if (response) {
@@ -20,7 +19,7 @@ function GetResponse(operation) {
20
19
  console.warn('Reference object are not supported in operation responses!');
21
20
  }
22
21
  else {
23
- if (response.content && response.content.hasOwnProperty('application/json')) {
22
+ if (response.content && response.content['application/json']) {
24
23
  const schema = response.content['application/json'].schema;
25
24
  if (schema) {
26
25
  return schema;
@@ -1 +1 @@
1
- {"version":3,"file":"get-response.js","sourceRoot":"","sources":["../../../../../../libs/open-api/src/lib/utilities/get-response.ts"],"names":[],"mappings":";;;AAEA,+DAA0D;AAE1D,SAAgB,WAAW,CAAC,SAAoC;IAE9D,IAAI,SAAS,CAAC,SAAS,EAAE;QAEvB,4CAA4C;QAC5C,IAAI,QAAQ,GAAqE,SAAS,CAAC;QAE3F,IAAI,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;YACjD,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC;SACxC;aAAM,IAAI,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YACpD,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACvC;aAAM,IAAI,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YACpD,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAE,KAAK,CAAE,CAAC;SACzC;QAED,IAAI,QAAQ,EAAE;YAEZ,IAAI,IAAA,uCAAiB,EAAC,QAAQ,CAAC,EAAE;gBAC/B,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;aAC5E;iBAAM;gBACL,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE;oBAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAE,kBAAkB,CAAE,CAAC,MAAM,CAAC;oBAC7D,IAAI,MAAM,EAAE;wBACV,OAAO,MAAM,CAAC;qBACf;iBACF;aACF;SAEF;KAEF;IAED,OAAO,IAAI,CAAC;AAEd,CAAC;AAlCD,kCAkCC"}
1
+ {"version":3,"file":"get-response.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/lib/utilities/get-response.ts"],"names":[],"mappings":";;;AAEA,+DAA0D;AAE1D,SAAgB,WAAW,CAAC,SAAoC;IAE9D,IAAI,SAAS,CAAC,SAAS,EAAE;QAEvB,IAAI,QAAQ,GAAqE,SAAS,CAAC;QAE3F,IAAI,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;YAClC,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;SAC3C;aAAM,IAAI,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACrC,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACvC;aAAM,IAAI,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACrC,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACvC;QAED,IAAI,QAAQ,EAAE;YAEZ,IAAI,IAAA,uCAAiB,EAAC,QAAQ,CAAC,EAAE;gBAC/B,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;aAC5E;iBAAM;gBACL,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE;oBAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC;oBAC3D,IAAI,MAAM,EAAE;wBACV,OAAO,MAAM,CAAC;qBACf;iBACF;aACF;SAEF;KAEF;IAED,OAAO,IAAI,CAAC;AAEd,CAAC;AAjCD,kCAiCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"has-operation-paramters.js","sourceRoot":"","sources":["../../../../../../libs/open-api/src/lib/utilities/has-operation-paramters.ts"],"names":[],"mappings":";;;AAIA,SAAgB,sBAAsB,CAAC,SAAoC;IACzE,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;AAClF,CAAC;AAFD,wDAEC"}
1
+ {"version":3,"file":"has-operation-paramters.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/lib/utilities/has-operation-paramters.ts"],"names":[],"mappings":";;;AAMA,SAAgB,sBAAsB,CAAC,SAAoC;IACzE,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;AAClF,CAAC;AAFD,wDAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"has-operation-request-body.js","sourceRoot":"","sources":["../../../../../../libs/open-api/src/lib/utilities/has-operation-request-body.ts"],"names":[],"mappings":";;;AAIA,SAAgB,uBAAuB,CAAC,SAAoC;IAC1E,OAAO,CAAC,CAAC,SAAS,CAAC,WAAW,CAAA;AAChC,CAAC;AAFD,0DAEC"}
1
+ {"version":3,"file":"has-operation-request-body.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/lib/utilities/has-operation-request-body.ts"],"names":[],"mappings":";;;AAMA,SAAgB,uBAAuB,CAAC,SAAoC;IAC1E,OAAO,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC;AACjC,CAAC;AAFD,0DAEC"}
@@ -28,7 +28,9 @@ function HttpRequest(url) {
28
28
  }
29
29
  res.setEncoding('utf8');
30
30
  let rawData = '';
31
- res.on('data', (chunk) => { rawData += chunk; });
31
+ res.on('data', (chunk) => {
32
+ rawData += chunk;
33
+ });
32
34
  res.on('end', () => {
33
35
  try {
34
36
  resolve(JSON.parse(rawData));
@@ -1 +1 @@
1
- {"version":3,"file":"http-request.js","sourceRoot":"","sources":["../../../../../../libs/open-api/src/lib/utilities/http-request.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,+BAA+B;AAE/B,SAAgB,WAAW,CAAI,GAAW;IAExC,SAAS,QAAQ,CAAC,OAA6B,EAAE,MAA4B;QAE3E,OAAO,UAAS,GAAyB;YAEvC,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;YAC3B,MAAM,WAAW,GAAM,GAAG,CAAC,OAAO,CAAE,cAAc,CAAE,CAAC;YAErD,IAAI,KAAK,CAAC;YACV,wDAAwD;YACxD,oCAAoC;YACpC,IAAI,UAAU,KAAK,GAAG,EAAE;gBACtB,KAAK,GAAG,IAAI,KAAK,CAAC,mBAAmB;oBACnC,gBAAgB,UAAU,EAAE,CAAC,CAAC;aACjC;iBAAM,IAAI,WAAW,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBACjE,KAAK,GAAG,IAAI,KAAK,CAAC,yBAAyB;oBACzC,0CAA0C,WAAW,EAAE,CAAC,CAAC;aAC5D;YACD,IAAI,KAAK,EAAE;gBACT,0CAA0C;gBAC1C,GAAG,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC7B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO;aACR;YAED,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACxB,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,IAAI;oBACF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAM,EAAE;oBACf,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBACzB,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;iBACnB;YACH,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC;IAEJ,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;QACvB,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;KACJ;AAEH,CAAC;AArDD,kCAqDC"}
1
+ {"version":3,"file":"http-request.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/lib/utilities/http-request.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,+BAA+B;AAE/B,SAAgB,WAAW,CAAI,GAAW;IAExC,SAAS,QAAQ,CAAC,OAA6B,EAAE,MAA4B;QAE3E,OAAO,UAAU,GAAyB;YAExC,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;YAC3B,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAEhD,IAAI,KAAK,CAAC;YACV,wDAAwD;YACxD,oCAAoC;YACpC,IAAI,UAAU,KAAK,GAAG,EAAE;gBACtB,KAAK,GAAG,IAAI,KAAK,CAAC,mBAAmB;oBACnC,gBAAiB,UAAW,EAAE,CAAC,CAAC;aACnC;iBAAM,IAAI,WAAW,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBACjE,KAAK,GAAG,IAAI,KAAK,CAAC,yBAAyB;oBACzC,0CAA2C,WAAY,EAAE,CAAC,CAAC;aAC9D;YACD,IAAI,KAAK,EAAE;gBACT,0CAA0C;gBAC1C,GAAG,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC7B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO;aACR;YAED,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACxB,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvB,OAAO,IAAI,KAAK,CAAC;YACnB,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,IAAI;oBACF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAM,EAAE;oBACf,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBACzB,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;iBACnB;YACH,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC;IAEJ,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;QACvB,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;KACJ;AAEH,CAAC;AAvDD,kCAuDC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ignore-operation.js","sourceRoot":"","sources":["../../../../../../libs/open-api/src/lib/utilities/ignore-operation.ts"],"names":[],"mappings":";;;AAEA,SAAgB,eAAe,CAAC,OAAiB,EAAE;IACjD,OAAO,SAAS,CAAC,EAAE;;QAEjB,IAAI,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,0CAAE,MAAM,EAAE;YAC3B,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;SACvD;QAED,OAAO,KAAK,CAAC;IAEf,CAAC,CAAC;AACJ,CAAC;AAVD,0CAUC"}
1
+ {"version":3,"file":"ignore-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/lib/utilities/ignore-operation.ts"],"names":[],"mappings":";;;AAEA,SAAgB,eAAe,CAAC,OAAiB,EAAE;IACjD,OAAO,SAAS,CAAC,EAAE;;QAEjB,IAAI,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,0CAAE,MAAM,EAAE;YAC3B,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;SACvD;QAED,OAAO,KAAK,CAAC;IAEf,CAAC,CAAC;AACJ,CAAC;AAVD,0CAUC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-collection-response.js","sourceRoot":"","sources":["../../../../../../libs/open-api/src/lib/utilities/is-collection-response.ts"],"names":[],"mappings":";;;AACA,2DAAwD;AACxD,iDAA6C;AAC7C,+DAA0D;AAE1D,SAAgB,oBAAoB,CAAC,SAAoC;IAEvE,MAAM,QAAQ,GAAG,IAAA,0BAAW,EAAC,SAAS,CAAC,CAAC;IAExC,IAAI,QAAQ,IAAI,CAAC,IAAA,qCAAiB,EAAC,QAAQ,CAAC,EAAE;QAC5C,IAAI,CAAC,IAAA,uCAAiB,EAAC,QAAQ,CAAC,EAAE;YAChC,OAAO,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC;SAClC;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAXD,oDAWC"}
1
+ {"version":3,"file":"is-collection-response.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/lib/utilities/is-collection-response.ts"],"names":[],"mappings":";;;AACA,2DAAwD;AACxD,iDAA6C;AAC7C,+DAA0D;AAE1D,SAAgB,oBAAoB,CAAC,SAAoC;IAEvE,MAAM,QAAQ,GAAG,IAAA,0BAAW,EAAC,SAAS,CAAC,CAAC;IAExC,IAAI,QAAQ,IAAI,CAAC,IAAA,qCAAiB,EAAC,QAAQ,CAAC,EAAE;QAC5C,IAAI,CAAC,IAAA,uCAAiB,EAAC,QAAQ,CAAC,EAAE;YAChC,OAAO,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC;SAClC;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAXD,oDAWC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-http-method.js","sourceRoot":"","sources":["../../../../../../libs/open-api/src/lib/utilities/is-http-method.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY,CAAC,MAAc;IACzC,OAAO,CAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAFD,oCAEC"}
1
+ {"version":3,"file":"is-http-method.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/lib/utilities/is-http-method.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY,CAAC,MAAc;IACzC,OAAO,CAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAFD,oCAEC"}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IsOpenApiSchemaFromPath = void 0;
4
+ const utilities_1 = require("@rxap/utilities");
4
5
  function IsOpenApiSchemaFromPath(options) {
5
- return options && options.hasOwnProperty('path');
6
+ return !!options && (0, utilities_1.hasIndexSignature)(options) && !!options['path'];
6
7
  }
7
8
  exports.IsOpenApiSchemaFromPath = IsOpenApiSchemaFromPath;
8
9
  //# sourceMappingURL=is-open-api-schema-from-path.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-open-api-schema-from-path.js","sourceRoot":"","sources":["../../../../../../libs/open-api/src/lib/utilities/is-open-api-schema-from-path.ts"],"names":[],"mappings":";;;AAKA,SAAgB,uBAAuB,CAAC,OAAsB;IAC5D,OAAO,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AACnD,CAAC;AAFD,0DAEC"}
1
+ {"version":3,"file":"is-open-api-schema-from-path.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/lib/utilities/is-open-api-schema-from-path.ts"],"names":[],"mappings":";;;AAIA,+CAAoD;AAEpD,SAAgB,uBAAuB,CAAC,OAAsB;IAC5D,OAAO,CAAC,CAAC,OAAO,IAAI,IAAA,6BAAiB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAFD,0DAEC"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IsOperationObject = void 0;
4
4
  function IsOperationObject(obj) {
5
- return obj && obj.hasOwnProperty('operationId');
5
+ return !!obj && !!obj['operationId'];
6
6
  }
7
7
  exports.IsOperationObject = IsOperationObject;
8
8
  //# sourceMappingURL=is-operation-object.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-operation-object.js","sourceRoot":"","sources":["../../../../../../libs/open-api/src/lib/utilities/is-operation-object.ts"],"names":[],"mappings":";;;AAEA,SAAgB,iBAAiB,CAAC,GAAQ;IACxC,OAAO,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;AAClD,CAAC;AAFD,8CAEC"}
1
+ {"version":3,"file":"is-operation-object.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/lib/utilities/is-operation-object.ts"],"names":[],"mappings":";;;AAEA,SAAgB,iBAAiB,CAAC,GAAQ;IACxC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACvC,CAAC;AAFD,8CAEC"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IsReferenceObject = void 0;
4
4
  function IsReferenceObject(obj) {
5
- return !!obj && obj.hasOwnProperty('$ref');
5
+ return !!obj && !!obj['$ref'];
6
6
  }
7
7
  exports.IsReferenceObject = IsReferenceObject;
8
8
  //# sourceMappingURL=is-reference-object.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-reference-object.js","sourceRoot":"","sources":["../../../../../../libs/open-api/src/lib/utilities/is-reference-object.ts"],"names":[],"mappings":";;;AAEA,SAAgB,iBAAiB,CAAC,GAAS;IACzC,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC;AAFD,8CAEC"}
1
+ {"version":3,"file":"is-reference-object.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/lib/utilities/is-reference-object.ts"],"names":[],"mappings":";;;AAEA,SAAgB,iBAAiB,CAAC,GAAS;IACzC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAFD,8CAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-without-parameters.js","sourceRoot":"","sources":["../../../../../../libs/open-api/src/lib/utilities/is-without-parameters.ts"],"names":[],"mappings":";;;AAIA,SAAgB,mBAAmB,CAAC,SAAoC;IACtE,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;AAC/D,CAAC;AAFD,kDAEC"}
1
+ {"version":3,"file":"is-without-parameters.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/lib/utilities/is-without-parameters.ts"],"names":[],"mappings":";;;AAIA,SAAgB,mBAAmB,CAAC,SAAoC;IACtE,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;AAC/D,CAAC;AAFD,kDAEC"}
@@ -0,0 +1,5 @@
1
+ export declare const DATA_SOURCE_BASE_PATH = "data-sources";
2
+ export declare const DATA_SOURCE_FILE_SUFFIX = "data-source";
3
+ export declare const REMOTE_METHOD_BASE_PATH = "remote-methods";
4
+ export declare const REMOTE_METHOD_FILE_SUFFIX = "remote-method";
5
+ export declare const COMMAND_BASE_PATH = "commands";
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.COMMAND_BASE_PATH = exports.REMOTE_METHOD_FILE_SUFFIX = exports.REMOTE_METHOD_BASE_PATH = exports.DATA_SOURCE_FILE_SUFFIX = exports.DATA_SOURCE_BASE_PATH = void 0;
4
+ exports.DATA_SOURCE_BASE_PATH = 'data-sources';
5
+ exports.DATA_SOURCE_FILE_SUFFIX = 'data-source';
6
+ exports.REMOTE_METHOD_BASE_PATH = 'remote-methods';
7
+ exports.REMOTE_METHOD_FILE_SUFFIX = 'remote-method';
8
+ exports.COMMAND_BASE_PATH = 'commands';
9
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/schematics/generate/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,cAAc,CAAC;AACvC,QAAA,uBAAuB,GAAG,aAAa,CAAC;AACxC,QAAA,uBAAuB,GAAG,gBAAgB,CAAC;AAC3C,QAAA,yBAAyB,GAAG,eAAe,CAAC;AAC5C,QAAA,iBAAiB,GAAG,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { CreateDirectiveOptions } from './options';
2
+ export declare function CreateDirective({ filePath, sourceFile, name, prefix, parametersType, returnType, template, collection, withoutParameters, }: CreateDirectiveOptions): void;
@@ -0,0 +1,293 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateDirective = void 0;
4
+ const core_1 = require("@angular-devkit/core");
5
+ const ts_morph_1 = require("ts-morph");
6
+ function AssertImportSpecifierStructureArray(obj) {
7
+ if (!obj || !Array.isArray(obj)) {
8
+ throw new Error('Should be a array of OptionalKind<ImportSpecifierStructure>');
9
+ }
10
+ }
11
+ const { classify, camelize, } = core_1.strings;
12
+ function CreateDirective({ filePath, sourceFile, name, prefix, parametersType, returnType, template, collection, withoutParameters, }) {
13
+ const remoteMethodName = classify([name, 'remote-method'].join('-'));
14
+ if (!sourceFile.getClass(remoteMethodName)) {
15
+ console.warn(`A remote method class with the name '${remoteMethodName}' is not declared in the file '${filePath}'.`);
16
+ return;
17
+ }
18
+ const directiveNameParts = [remoteMethodName];
19
+ if (template) {
20
+ directiveNameParts.push('template');
21
+ }
22
+ if (collection) {
23
+ directiveNameParts.push('collection');
24
+ }
25
+ directiveNameParts.push('directive');
26
+ const directiveName = classify(directiveNameParts.join('-'));
27
+ const classDeclaration = sourceFile.getClass(directiveName);
28
+ if (classDeclaration) {
29
+ console.warn(`A class with name '${directiveName}' already exists in the file '${filePath}'!`);
30
+ return;
31
+ }
32
+ // region build selector
33
+ const selectorFragments = [prefix, name];
34
+ if (collection) {
35
+ selectorFragments.push('collection');
36
+ }
37
+ selectorFragments.push('remote-method');
38
+ const selector = camelize(selectorFragments.join('-'));
39
+ // endregion
40
+ const ctorsParameters = [
41
+ {
42
+ name: 'remoteMethodLoader',
43
+ type: 'RemoteMethodLoader',
44
+ decorators: [
45
+ {
46
+ name: 'Inject',
47
+ arguments: ['RemoteMethodLoader'],
48
+ },
49
+ ],
50
+ }, {
51
+ name: 'injector',
52
+ type: 'Injector',
53
+ decorators: [
54
+ {
55
+ name: 'Inject',
56
+ arguments: ['INJECTOR'],
57
+ },
58
+ ],
59
+ }, {
60
+ name: 'remoteMethod',
61
+ type: remoteMethodName,
62
+ decorators: [
63
+ {
64
+ name: 'Inject',
65
+ arguments: [remoteMethodName],
66
+ },
67
+ ],
68
+ },
69
+ ];
70
+ let ctorsSupperCallParameters = ['remoteMethodLoader', 'injector'].join(', ');
71
+ let directiveClassExtends;
72
+ const remoteMethodDirectiveImportStructure = {
73
+ namedImports: [],
74
+ moduleSpecifier: '@rxap/remote-method/directive',
75
+ };
76
+ const remoteMethodImportStructure = {
77
+ namedImports: [{ name: 'RemoteMethodLoader' }],
78
+ moduleSpecifier: '@rxap/remote-method',
79
+ };
80
+ const angularCoreImportStructure = {
81
+ namedImports: [
82
+ { name: 'Inject' }, { name: 'Directive' }, { name: 'NgModule' }, { name: 'INJECTOR' }, { name: 'Injector' },
83
+ ],
84
+ moduleSpecifier: '@angular/core',
85
+ };
86
+ const directiveClassProperties = [];
87
+ const directiveClassSetAccessors = [];
88
+ const ctorsStatements = [];
89
+ const importStructure = [
90
+ angularCoreImportStructure, remoteMethodImportStructure, remoteMethodDirectiveImportStructure,
91
+ ];
92
+ AssertImportSpecifierStructureArray(angularCoreImportStructure.namedImports);
93
+ AssertImportSpecifierStructureArray(remoteMethodImportStructure.namedImports);
94
+ AssertImportSpecifierStructureArray(remoteMethodDirectiveImportStructure.namedImports);
95
+ if (template) {
96
+ if (parametersType === 'void' || withoutParameters) {
97
+ ctorsStatements.push('this.withoutParameters = true;');
98
+ }
99
+ angularCoreImportStructure.namedImports.push({ name: 'TemplateRef' });
100
+ ctorsSupperCallParameters = [
101
+ 'template', 'remoteMethodLoader', 'injector', 'viewContainerRef', 'cdr',
102
+ ].join(', ');
103
+ directiveClassProperties.push({
104
+ name: 'parameters',
105
+ hasQuestionToken: true,
106
+ scope: ts_morph_1.Scope.Public,
107
+ type: parametersType,
108
+ // leadingTrivia: '// eslint-disable-next-line @angular-eslint/no-input-rename',
109
+ hasDeclareKeyword: true,
110
+ decorators: [
111
+ {
112
+ name: 'Input',
113
+ arguments: [
114
+ (writer) => writer.quote(camelize([selector, 'Parameters'].join('-'))),
115
+ ],
116
+ },
117
+ ],
118
+ });
119
+ if (collection) {
120
+ ctorsSupperCallParameters = [
121
+ ctorsSupperCallParameters, 'differs', 'zone',
122
+ ].join(', ');
123
+ directiveClassExtends = `RemoteMethodTemplateCollectionDirective<${returnType}, ${parametersType}>`;
124
+ remoteMethodDirectiveImportStructure.namedImports.push({
125
+ name: 'RemoteMethodTemplateCollectionDirective',
126
+ });
127
+ ctorsParameters.push({
128
+ name: 'template',
129
+ type: `TemplateRef<RemoteMethodTemplateCollectionDirectiveContext<${returnType}>>`,
130
+ decorators: [
131
+ {
132
+ name: 'Inject',
133
+ arguments: ['TemplateRef'],
134
+ },
135
+ ],
136
+ }, {
137
+ name: 'differs',
138
+ type: 'IterableDiffers',
139
+ decorators: [
140
+ {
141
+ name: 'Inject',
142
+ arguments: ['IterableDiffers'],
143
+ },
144
+ ],
145
+ }, {
146
+ name: 'zone',
147
+ type: 'NgZone',
148
+ decorators: [
149
+ {
150
+ name: 'Inject',
151
+ arguments: ['NgZone'],
152
+ },
153
+ ],
154
+ });
155
+ remoteMethodDirectiveImportStructure.namedImports.push({ name: 'RemoteMethodTemplateCollectionDirectiveContext' }, { name: 'RemoteMethodTemplateCollectionDirectiveErrorContext' });
156
+ directiveClassProperties.push({
157
+ name: 'errorTemplate',
158
+ hasQuestionToken: true,
159
+ hasDeclareKeyword: true,
160
+ // leadingTrivia: '// eslint-disable-next-line @angular-eslint/no-input-rename',
161
+ scope: ts_morph_1.Scope.Public,
162
+ type: `TemplateRef<RemoteMethodTemplateCollectionDirectiveErrorContext>`,
163
+ decorators: [
164
+ {
165
+ name: 'Input',
166
+ arguments: [
167
+ (writer) => writer.quote(camelize([selector, 'Error'].join('-'))),
168
+ ],
169
+ },
170
+ ],
171
+ }, {
172
+ name: 'emptyTemplate',
173
+ hasDeclareKeyword: true,
174
+ // leadingTrivia: '// eslint-disable-next-line @angular-eslint/no-input-rename',
175
+ hasQuestionToken: true,
176
+ scope: ts_morph_1.Scope.Public,
177
+ type: 'TemplateRef<void>',
178
+ decorators: [
179
+ {
180
+ name: 'Input',
181
+ arguments: [
182
+ (writer) => writer.quote(camelize([selector, 'Empty'].join('-'))),
183
+ ],
184
+ },
185
+ ],
186
+ });
187
+ angularCoreImportStructure.namedImports.push({ name: 'IterableDiffers' }, { name: 'NgZone' });
188
+ }
189
+ else {
190
+ directiveClassExtends = `RemoteMethodTemplateDirective<${returnType}, ${parametersType}>`;
191
+ remoteMethodDirectiveImportStructure.namedImports.push({
192
+ name: 'RemoteMethodTemplateDirective',
193
+ });
194
+ ctorsParameters.push({
195
+ name: 'template',
196
+ type: `TemplateRef<RemoteMethodTemplateDirectiveContext<${returnType}>>`,
197
+ decorators: [
198
+ {
199
+ name: 'Inject',
200
+ arguments: ['TemplateRef'],
201
+ },
202
+ ],
203
+ });
204
+ remoteMethodDirectiveImportStructure.namedImports.push({ name: 'RemoteMethodTemplateDirectiveContext' }, { name: 'RemoteMethodTemplateDirectiveErrorContext' });
205
+ directiveClassProperties.push({
206
+ name: 'errorTemplate',
207
+ hasQuestionToken: true,
208
+ hasDeclareKeyword: true,
209
+ type: `TemplateRef<RemoteMethodTemplateDirectiveErrorContext>`,
210
+ // leadingTrivia: '// eslint-disable-next-line @angular-eslint/no-input-rename',
211
+ scope: ts_morph_1.Scope.Public,
212
+ decorators: [
213
+ {
214
+ name: 'Input',
215
+ arguments: [
216
+ (writer) => writer.quote(camelize([selector, 'Error'].join('-'))),
217
+ ],
218
+ },
219
+ ],
220
+ });
221
+ }
222
+ ctorsParameters.push({
223
+ name: 'viewContainerRef',
224
+ type: 'ViewContainerRef',
225
+ decorators: [
226
+ {
227
+ name: 'Inject',
228
+ arguments: ['ViewContainerRef'],
229
+ },
230
+ ],
231
+ }, {
232
+ name: 'cdr',
233
+ type: 'ChangeDetectorRef',
234
+ decorators: [
235
+ {
236
+ name: 'Inject',
237
+ arguments: ['ChangeDetectorRef'],
238
+ },
239
+ ],
240
+ });
241
+ angularCoreImportStructure.namedImports.push({ name: 'ChangeDetectorRef' }, { name: 'ViewContainerRef' }, { name: 'Input' });
242
+ }
243
+ else {
244
+ directiveClassExtends = `RemoteMethodDirective<${returnType}, ${parametersType}>`;
245
+ remoteMethodDirectiveImportStructure.namedImports.push({
246
+ name: 'RemoteMethodDirective',
247
+ });
248
+ }
249
+ const directiveClassStructure = {
250
+ name: directiveName,
251
+ decorators: [
252
+ {
253
+ name: 'Directive',
254
+ arguments: ts_morph_1.Writers.object({
255
+ selector: (writer) => writer.quote(`[${selector}]`),
256
+ exportAs: (writer) => writer.quote(selector),
257
+ }),
258
+ },
259
+ ],
260
+ extends: directiveClassExtends,
261
+ ctors: [
262
+ {
263
+ parameters: ctorsParameters,
264
+ statements: [
265
+ `super(${ctorsSupperCallParameters});`, 'this.remoteMethodOrIdOrToken = remoteMethod;', ...ctorsStatements,
266
+ ],
267
+ },
268
+ ],
269
+ setAccessors: directiveClassSetAccessors,
270
+ properties: directiveClassProperties,
271
+ isExported: true,
272
+ };
273
+ const directiveModuleClassStructure = {
274
+ name: directiveName + 'Module',
275
+ decorators: [
276
+ {
277
+ name: 'NgModule',
278
+ arguments: [
279
+ ts_morph_1.Writers.object({
280
+ declarations: `[ ${directiveName} ]`,
281
+ exports: `[ ${directiveName} ]`,
282
+ }),
283
+ ],
284
+ },
285
+ ],
286
+ isExported: true,
287
+ };
288
+ sourceFile.addClass(directiveClassStructure);
289
+ sourceFile.addClass(directiveModuleClassStructure);
290
+ sourceFile.addImportDeclarations(importStructure);
291
+ }
292
+ exports.CreateDirective = CreateDirective;
293
+ //# sourceMappingURL=create-directive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-directive.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/schematics/generate/create-directive.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { GenerateParameter } from '../../lib/types';
2
+ export declare function GenerateDataSource(parameter: GenerateParameter): void;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GenerateDataSource = void 0;
4
+ const core_1 = require("@angular-devkit/core");
5
+ const path_1 = require("path");
6
+ const ts_morph_1 = require("ts-morph");
7
+ const get_parameter_type_1 = require("../../lib/utilities/get-parameter-type");
8
+ const get_response_type_1 = require("../../lib/utilities/get-response-type");
9
+ const const_1 = require("./const");
10
+ const { dasherize, classify, } = core_1.strings;
11
+ function GenerateDataSource(parameter) {
12
+ if (parameter.method.toUpperCase() !== 'GET') {
13
+ return;
14
+ }
15
+ const operationId = parameter.operationId;
16
+ const name = [operationId, const_1.DATA_SOURCE_FILE_SUFFIX].join('.');
17
+ const fileName = (0, path_1.join)(const_1.DATA_SOURCE_BASE_PATH, dasherize(name) + '.ts');
18
+ const sourceFile = parameter.project.createSourceFile(fileName);
19
+ const importStructures = [
20
+ {
21
+ moduleSpecifier: '@rxap/open-api/data-source',
22
+ namedImports: [
23
+ { name: 'RxapOpenApiDataSource' },
24
+ { name: 'OpenApiDataSource' },
25
+ ],
26
+ },
27
+ {
28
+ moduleSpecifier: '@angular/core',
29
+ namedImports: [{ name: 'Injectable' }],
30
+ },
31
+ ];
32
+ const responseType = (0, get_response_type_1.GetResponseType)(parameter);
33
+ const parameterType = (0, get_parameter_type_1.GetParameterType)(parameter);
34
+ if (!['void', 'any'].includes(responseType)) {
35
+ importStructures.push({
36
+ moduleSpecifier: `../responses/${dasherize(responseType.replace(/Response$/, ''))}.response`,
37
+ namedImports: [{ name: responseType }],
38
+ });
39
+ }
40
+ if (!['void', 'any'].includes(parameterType)) {
41
+ importStructures.push({
42
+ moduleSpecifier: `../parameters/${dasherize(parameterType.replace(/Parameter$/, ''))}.parameter`,
43
+ namedImports: [{ name: parameterType }],
44
+ });
45
+ }
46
+ const classStructure = {
47
+ name: classify(name.replace(/\./g, '-')),
48
+ decorators: [
49
+ {
50
+ name: 'Injectable',
51
+ arguments: ts_morph_1.Writers.object({
52
+ providedIn: (writer) => writer.quote('root'),
53
+ }),
54
+ },
55
+ {
56
+ name: 'RxapOpenApiDataSource',
57
+ arguments: (writer) => writer.quote(operationId),
58
+ },
59
+ ],
60
+ extends: (writer) => {
61
+ writer.write('OpenApiDataSource');
62
+ writer.write('<');
63
+ writer.write(responseType);
64
+ writer.write(', ');
65
+ writer.write(parameterType);
66
+ writer.write('>');
67
+ },
68
+ isExported: true,
69
+ };
70
+ sourceFile.addImportDeclarations(importStructures);
71
+ sourceFile.addClass(classStructure);
72
+ }
73
+ exports.GenerateDataSource = GenerateDataSource;
74
+ //# sourceMappingURL=generate-data-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-data-source.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/schematics/generate/generate-data-source.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Project } from 'ts-morph';
2
+ import { OpenApiSchema } from './schema';
3
+ export declare function GenerateOpenapiProvider(project: Project, operatorIdList: string[], options: OpenApiSchema): void;