@openapi-qraft/openapi-typescript-plugin 1.2.0-next.3 → 1.2.0-next.4

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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @openapi-qraft/openapi-typescript
2
2
 
3
+ ## 1.2.0-next.4
4
+
5
+ ### Patch Changes
6
+
7
+ - cd8a856: Resolved conflict between explicit exports and generated enum exports by aligning export strategy.
8
+ - @openapi-qraft/plugin@2.0.0-next.4
9
+
3
10
  ## 1.2.0-next.3
4
11
 
5
12
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"createExportsForComponentSchemas.d.ts","sourceRoot":"","sources":["../../src/lib/createExportsForComponentSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,6BA6C9D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,YAa9C"}
1
+ {"version":3,"file":"createExportsForComponentSchemas.d.ts","sourceRoot":"","sources":["../../src/lib/createExportsForComponentSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,6BA6C9D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,YAM9C"}
@@ -30,11 +30,17 @@ export function createExportsForComponentSchemas(ast) {
30
30
  }
31
31
  export function getExportedNames(ast) {
32
32
  return ast.reduce((acc, node) => {
33
- if (ts.isInterfaceDeclaration(node) &&
34
- ts.isIdentifier(node.name) &&
35
- node.modifiers?.some((modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword))
33
+ if (isExported(node))
36
34
  acc.push(node.name.text);
37
35
  return acc;
38
36
  }, []);
39
37
  }
38
+ function isExported(node) {
39
+ return ('name' in node &&
40
+ ts.isIdentifier(node.name) &&
41
+ 'modifiers' in node &&
42
+ Array.isArray(node.modifiers) &&
43
+ node.modifiers.every(ts.isModifier) &&
44
+ node.modifiers.some((modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword));
45
+ }
40
46
  //# sourceMappingURL=createExportsForComponentSchemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createExportsForComponentSchemas.js","sourceRoot":"","sources":["../../src/lib/createExportsForComponentSchemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createExportsForComponentSchemas.js","sourceRoot":"","sources":["../../src/lib/createExportsForComponentSchemas.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openapi-qraft/openapi-typescript-plugin",
3
- "version": "1.2.0-next.3",
3
+ "version": "1.2.0-next.4",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "build": "tsc --project tsconfig.build.json",
@@ -26,7 +26,7 @@
26
26
  }
27
27
  },
28
28
  "dependencies": {
29
- "@openapi-qraft/plugin": "^2.0.0-next.3",
29
+ "@openapi-qraft/plugin": "^2.0.0-next.4",
30
30
  "openapi-typescript": "^7.3.0",
31
31
  "typescript": "^5.5.4"
32
32
  },
@@ -49,15 +49,26 @@ export function createExportsForComponentSchemas(ast: ts.Node[]) {
49
49
 
50
50
  export function getExportedNames(ast: ts.Node[]) {
51
51
  return ast.reduce<string[]>((acc, node) => {
52
- if (
53
- ts.isInterfaceDeclaration(node) &&
54
- ts.isIdentifier(node.name) &&
55
- node.modifiers?.some(
56
- (modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword
57
- )
58
- )
59
- acc.push(node.name.text);
52
+ if (isExported(node)) acc.push(node.name.text);
60
53
 
61
54
  return acc;
62
55
  }, []);
63
56
  }
57
+
58
+ interface ExportableStructure extends ts.Node {
59
+ name: ts.Identifier;
60
+ modifiers: ts.ModifiersArray;
61
+ }
62
+
63
+ function isExported(node: ts.Node): node is ExportableStructure {
64
+ return (
65
+ 'name' in node &&
66
+ ts.isIdentifier(node.name as any) &&
67
+ 'modifiers' in node &&
68
+ Array.isArray(node.modifiers) &&
69
+ node.modifiers.every(ts.isModifier) &&
70
+ node.modifiers.some(
71
+ (modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword
72
+ )
73
+ );
74
+ }