@breadstone-tools/openapi-app 0.0.152 → 0.0.154

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Run.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Run.d.ts","sourceRoot":"","sources":["../src/Run.ts"],"names":[],"mappings":"AAGA,OAAO,EAA4E,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACnJ,OAAO,EAAE,KAAK,YAAY,EAAoB,MAAM,qCAAqC,CAAC;AAI1F,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACnC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,YAAY,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACvB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAkEjE"}
1
+ {"version":3,"file":"Run.d.ts","sourceRoot":"","sources":["../src/Run.ts"],"names":[],"mappings":"AAGA,OAAO,EAA4E,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACnJ,OAAO,EAAE,KAAK,YAAY,EAAoB,MAAM,qCAAqC,CAAC;AAI1F,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACnC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,YAAY,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACvB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CA4FjE"}
package/Run.js CHANGED
@@ -20,12 +20,14 @@ async function run(config) {
20
20
  fetchTimeout: config.parser?.fetchTimeout,
21
21
  emoji: true
22
22
  });
23
- if (Array.isArray(config.endpoints)) {
24
- throw new Error('Multiple endpoints are not supported yet.');
25
- }
26
23
  if (!config.endpoints) {
27
24
  throw new Error('No endpoints provided.');
28
25
  }
26
+ // Normalize endpoints to array
27
+ const endpoints = Array.isArray(config.endpoints) ? config.endpoints : [config.endpoints];
28
+ if (!config.quiet) {
29
+ logger.log(`Processing ${endpoints.length} endpoint(s)...`);
30
+ }
29
31
  const target = utilities_1.Path.combine(config.cwd, config.output);
30
32
  if (config.clearRun) {
31
33
  const serviceTarget = utilities_1.Path.combine(config.cwd, config.parser?.serviceRoot ?? openapi_core_1.defaultTypeScriptOptions.serviceRoot);
@@ -41,10 +43,7 @@ async function run(config) {
41
43
  logger.log(`Deleted file '${indexTarget}'.`);
42
44
  }
43
45
  }
44
- const api = await openApiParser.parse(config.endpoints, {
45
- ...openapi_core_1.defaultTypeScriptOptions,
46
- ...config.parser
47
- });
46
+ // Setup templates once
48
47
  templateEngine.compose((0, openapi_templates_1.resolveTemplates)().mapping);
49
48
  // array to map
50
49
  const tplMap = new Map();
@@ -52,11 +51,34 @@ async function run(config) {
52
51
  tplMap.set(x.kind, utilities_1.Path.combine(config.cwd, x.template));
53
52
  });
54
53
  templateEngine.compose(tplMap);
55
- await templateBuilder.build(api, {
56
- preferredComplexType: 'interface',
57
- preferredSimpleType: 'type',
58
- target: target
59
- });
54
+ // Process each endpoint sequentially
55
+ for (let i = 0; i < endpoints.length; i++) {
56
+ const endpoint = endpoints[i];
57
+ if (!config.quiet) {
58
+ logger.log(`Processing endpoint ${i + 1}/${endpoints.length}: ${endpoint}`);
59
+ }
60
+ // eslint-disable-next-line no-await-in-loop
61
+ const api = await openApiParser.parse(endpoint, {
62
+ ...openapi_core_1.defaultTypeScriptOptions,
63
+ ...config.parser
64
+ });
65
+ // For multiple endpoints, create separate subdirectories or use endpoint-specific naming
66
+ let currentTarget = target;
67
+ if (endpoints.length > 1) {
68
+ // Create a subdirectory based on endpoint index or URL
69
+ const endpointName = endpoint
70
+ .replace(/[^a-zA-Z0-9]/g, '_')
71
+ .replace(/_+/g, '_')
72
+ .toLowerCase();
73
+ currentTarget = utilities_1.Path.combine(target, `endpoint_${i + 1}_${endpointName}`);
74
+ }
75
+ // eslint-disable-next-line no-await-in-loop
76
+ await templateBuilder.build(api, {
77
+ preferredComplexType: 'interface',
78
+ preferredSimpleType: 'type',
79
+ target: currentTarget
80
+ });
81
+ }
60
82
  return {
61
83
  target: target
62
84
  };
package/Run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Run.js","sourceRoot":"","sources":["../src/Run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Run.js","sourceRoot":"","sources":["../src/Run.ts"],"names":[],"mappings":";AAAA,kBAAkB;;AA2BlB,kBA4FC;AArHD,oEAAsF;AACtF,iEAAmJ;AACnJ,2EAA0F;AAuBnF,KAAK,UAAU,GAAG,CAAC,MAAkB;IACxC,MAAM,MAAM,GAAG,IAAI,yBAAa,EAAE,CAAC;IAEnC,MAAM,cAAc,GAAG,IAAI,6BAAc,CAAC;QACtC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK;KAC/B,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,IAAI,8BAAe,CAAC,MAAM,EAAE;QAChD,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK;QAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK;QAC5B,KAAK,EAAE,IAAI;KACd,EAAE,cAAc,CAAC,CAAC;IACnB,MAAM,aAAa,GAAG,IAAI,4BAAa,CAAC,MAAM,EAAE;QAC5C,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK;QAC5B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY;QACzC,KAAK,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;IAED,+BAA+B;IAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAE1F,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,CAAC,cAAc,SAAS,CAAC,MAAM,iBAAiB,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,MAAM,GAAG,gBAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,aAAa,GAAG,gBAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,IAAI,uCAAwB,CAAC,WAAW,CAAC,CAAC;QACnH,MAAM,WAAW,GAAG,gBAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI,uCAAwB,CAAC,SAAS,CAAC,CAAC;QAE7G,qBAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,sBAAsB,aAAa,IAAI,CAAC,CAAC;QACpD,qBAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,sBAAsB,WAAW,IAAI,CAAC,CAAC;QAElD,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;YAC3B,2CAA2C;YAC3C,MAAM,WAAW,GAAG,gBAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACzD,qBAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,iBAAiB,WAAW,IAAI,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;IAED,uBAAuB;IACvB,cAAc,CAAC,OAAO,CAAC,IAAA,oCAAgB,GAAE,CAAC,OAAO,CAAC,CAAC;IAEnD,eAAe;IACf,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC/C,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,gBAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/B,qCAAqC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,4CAA4C;QAC5C,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC5C,GAAG,uCAAwB;YAC3B,GAAG,MAAM,CAAC,MAAM;SACnB,CAAC,CAAC;QAEH,yFAAyF;QACzF,IAAI,aAAa,GAAG,MAAM,CAAC;QAC3B,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,uDAAuD;YACvD,MAAM,YAAY,GAAG,QAAQ;iBACxB,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC;iBAC7B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;iBACnB,WAAW,EAAE,CAAC;YACnB,aAAa,GAAG,gBAAI,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,4CAA4C;QAC5C,MAAM,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE;YAC7B,oBAAoB,EAAE,WAAW;YACjC,mBAAmB,EAAE,MAAM;YAC3B,MAAM,EAAE,aAAa;SACxB,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,MAAM,EAAE,MAAM;KACjB,CAAC;AACN,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@breadstone-tools/openapi-app",
3
3
  "description": "Open API Model generator cli",
4
- "version": "0.0.152",
4
+ "version": "0.0.154",
5
5
  "license": "MIT",
6
6
  "author": "andre.wehlert <awehlert@breadstone.de> (https://www.breadstone.de)",
7
7
  "repository": {
@@ -16,9 +16,9 @@
16
16
  "cli": "./bin/cli"
17
17
  },
18
18
  "dependencies": {
19
- "@breadstone-infrastructure/utilities": "^0.0.152",
20
- "@breadstone-tools/openapi-core": "^0.0.152",
21
- "@breadstone-tools/openapi-templates": "^0.0.152",
22
- "fs-extra": "^11.3.1"
19
+ "@breadstone-infrastructure/utilities": "^0.0.154",
20
+ "@breadstone-tools/openapi-core": "^0.0.154",
21
+ "@breadstone-tools/openapi-templates": "^0.0.154",
22
+ "fs-extra": "^11.3.2"
23
23
  }
24
24
  }