@typespec/openapi3 0.62.0-dev.1 → 0.62.0-dev.11

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 (29) hide show
  1. package/dist/src/cli/actions/convert/generators/generate-decorators.d.ts.map +1 -1
  2. package/dist/src/cli/actions/convert/generators/generate-decorators.js +6 -1
  3. package/dist/src/cli/actions/convert/generators/generate-decorators.js.map +1 -1
  4. package/dist/src/cli/actions/convert/interfaces.d.ts +10 -1
  5. package/dist/src/cli/actions/convert/interfaces.d.ts.map +1 -1
  6. package/dist/src/cli/actions/convert/transforms/transform-paths.d.ts.map +1 -1
  7. package/dist/src/cli/actions/convert/transforms/transform-paths.js +29 -6
  8. package/dist/src/cli/actions/convert/transforms/transform-paths.js.map +1 -1
  9. package/dist/src/cli/actions/convert/utils/decorators.d.ts.map +1 -1
  10. package/dist/src/cli/actions/convert/utils/decorators.js +44 -10
  11. package/dist/src/cli/actions/convert/utils/decorators.js.map +1 -1
  12. package/dist/src/lib.d.ts +44 -2
  13. package/dist/src/lib.d.ts.map +1 -1
  14. package/dist/src/lib.js +12 -0
  15. package/dist/src/lib.js.map +1 -1
  16. package/dist/src/openapi.d.ts.map +1 -1
  17. package/dist/src/openapi.js +9 -3
  18. package/dist/src/openapi.js.map +1 -1
  19. package/dist/src/schema-emitter.d.ts +2 -1
  20. package/dist/src/schema-emitter.d.ts.map +1 -1
  21. package/dist/src/schema-emitter.js +46 -11
  22. package/dist/src/schema-emitter.js.map +1 -1
  23. package/dist/src/types.d.ts +9 -0
  24. package/dist/src/types.d.ts.map +1 -1
  25. package/dist/src/xml-module.d.ts +9 -0
  26. package/dist/src/xml-module.d.ts.map +1 -0
  27. package/dist/src/xml-module.js +160 -0
  28. package/dist/src/xml-module.js.map +1 -0
  29. package/package.json +11 -4
@@ -0,0 +1,160 @@
1
+ import { isArrayModelType, resolveEncodedName, } from "@typespec/compiler";
2
+ import { ArrayBuilder, ObjectBuilder } from "@typespec/compiler/emitter-framework";
3
+ import { reportDiagnostic } from "./lib.js";
4
+ import { getSchemaForStdScalars } from "./std-scalar-schemas.js";
5
+ export async function resolveXmlModule() {
6
+ const xml = await tryImportXml();
7
+ if (xml === undefined)
8
+ return undefined;
9
+ return {
10
+ attachXmlObjectForScalarOrModel: (program, type, emitObject) => {
11
+ const isXmlModel = isXmlModelChecker(program, type, []);
12
+ if (!isXmlModel) {
13
+ return;
14
+ }
15
+ const xmlObject = {};
16
+ // Resolve XML name
17
+ const xmlName = resolveEncodedName(program, type, "application/xml");
18
+ if (xmlName !== type.name) {
19
+ xmlObject.name = xmlName;
20
+ }
21
+ // Get and set XML namespace if present
22
+ const currNs = xml.getNs(program, type);
23
+ if (currNs) {
24
+ xmlObject.prefix = currNs.prefix;
25
+ xmlObject.namespace = currNs.namespace;
26
+ }
27
+ // Attach xml schema to emitObject if not empty
28
+ if (Object.keys(xmlObject).length !== 0) {
29
+ emitObject.xml = xmlObject;
30
+ }
31
+ },
32
+ attachXmlObjectForModelProperty: (program, options, prop, emitObject, refSchema) => {
33
+ if (!isXmlModelChecker(program, prop.model, []))
34
+ return;
35
+ const xmlObject = {};
36
+ // Resolve XML name
37
+ const xmlName = resolveEncodedName(program, prop, "application/xml");
38
+ const jsonName = resolveEncodedName(program, prop, "application/json");
39
+ if (xmlName !== prop.name && xmlName !== jsonName) {
40
+ xmlObject.name = xmlName;
41
+ }
42
+ // Get and set XML namespace if present
43
+ const currNs = xml.getNs(program, prop);
44
+ if (currNs) {
45
+ xmlObject.prefix = currNs.prefix;
46
+ xmlObject.namespace = currNs.namespace;
47
+ }
48
+ // Set XML attribute if present
49
+ const isAttribute = xml.isAttribute(program, prop);
50
+ if (isAttribute) {
51
+ if (prop.type?.kind === "Model") {
52
+ reportDiagnostic(program, {
53
+ code: "xml-attribute-invalid-property-type",
54
+ format: { name: prop.name },
55
+ target: prop,
56
+ });
57
+ emitObject.type = "string";
58
+ delete refSchema.items;
59
+ }
60
+ xmlObject.attribute = true;
61
+ }
62
+ // Handle array wrapping if necessary
63
+ const hasUnwrappedDecorator = xml.isUnwrapped(program, prop);
64
+ const isArrayProperty = prop.type?.kind === "Model" && isArrayModelType(program, prop.type);
65
+ if (!isArrayProperty && hasUnwrappedDecorator) {
66
+ reportDiagnostic(program, {
67
+ code: "xml-unwrapped-invalid-property-type",
68
+ format: { name: prop.name },
69
+ target: prop,
70
+ });
71
+ }
72
+ if (isArrayProperty && refSchema.items && !isAttribute) {
73
+ const propValue = prop.type.indexer.value;
74
+ const propXmlName = hasUnwrappedDecorator
75
+ ? xmlName
76
+ : resolveEncodedName(program, propValue, "application/xml");
77
+ if (propValue.kind === "Scalar") {
78
+ let scalarSchema = {};
79
+ const isStd = program.checker.isStdType(propValue);
80
+ if (isStd) {
81
+ scalarSchema = getSchemaForStdScalars(propValue, options);
82
+ }
83
+ else if (propValue.baseScalar) {
84
+ scalarSchema = getSchemaForStdScalars(propValue.baseScalar, options);
85
+ }
86
+ scalarSchema.xml = { name: propXmlName };
87
+ refSchema.items = scalarSchema;
88
+ }
89
+ else {
90
+ refSchema.items = new ObjectBuilder({
91
+ allOf: new ArrayBuilder(refSchema.items),
92
+ xml: { name: propXmlName },
93
+ });
94
+ }
95
+ // handel unwrapped decorator
96
+ if (!hasUnwrappedDecorator) {
97
+ xmlObject.wrapped = true;
98
+ }
99
+ }
100
+ if (!isArrayProperty && !refSchema.type && !isAttribute) {
101
+ emitObject.allOf = new ArrayBuilder(refSchema);
102
+ xmlObject.name = xmlName;
103
+ }
104
+ if (isArrayProperty && hasUnwrappedDecorator) {
105
+ // if wrapped is false, xml.name of the wrapping element is ignored.
106
+ delete xmlObject.name;
107
+ }
108
+ // Attach xml schema to emitObject if not empty
109
+ if (Object.keys(xmlObject).length !== 0) {
110
+ emitObject.xml = xmlObject;
111
+ }
112
+ },
113
+ };
114
+ }
115
+ function isXmlModelChecker(program, model, checked) {
116
+ if (model.decorators && model.decorators.some((d) => d.definition?.namespace.name === "Xml")) {
117
+ return true;
118
+ }
119
+ const xmlName = resolveEncodedName(program, model, "application/xml");
120
+ if (xmlName && xmlName !== model.name) {
121
+ return true;
122
+ }
123
+ if (model.kind === "ModelProperty") {
124
+ const propModel = model.type;
125
+ if (propModel && !checked.includes(propModel.name)) {
126
+ checked.push(propModel.name);
127
+ if (isXmlModelChecker(program, propModel, checked)) {
128
+ return true;
129
+ }
130
+ }
131
+ }
132
+ if (model.kind === "Model") {
133
+ for (const prop of model.properties.values()) {
134
+ if (isXmlModelChecker(program, prop, checked)) {
135
+ return true;
136
+ }
137
+ if (prop.type?.kind === "Model" && isArrayModelType(program, prop.type)) {
138
+ const propValue = prop.type.indexer.value;
139
+ const propModel = propValue;
140
+ if (propModel && !checked.includes(propModel.name)) {
141
+ checked.push(propModel.name);
142
+ if (isXmlModelChecker(program, propModel, checked)) {
143
+ return true;
144
+ }
145
+ }
146
+ }
147
+ }
148
+ }
149
+ return false;
150
+ }
151
+ async function tryImportXml() {
152
+ try {
153
+ const module = await import("@typespec/xml");
154
+ return module;
155
+ }
156
+ catch {
157
+ return undefined;
158
+ }
159
+ }
160
+ //# sourceMappingURL=xml-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xml-module.js","sourceRoot":"","sources":["../../src/xml-module.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/openapi3",
3
- "version": "0.62.0-dev.1",
3
+ "version": "0.62.0-dev.11",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec library for emitting OpenAPI 3.0 from the TypeSpec REST protocol binding and converting OpenAPI3 to TypeSpec",
6
6
  "homepage": "https://typespec.io",
@@ -24,6 +24,7 @@
24
24
  "tspMain": "lib/main.tsp",
25
25
  "exports": {
26
26
  ".": {
27
+ "typespec": "./lib/main.tsp",
27
28
  "types": "./dist/src/index.d.ts",
28
29
  "default": "./dist/src/index.js"
29
30
  },
@@ -45,20 +46,26 @@
45
46
  "yaml": "~2.5.1"
46
47
  },
47
48
  "peerDependencies": {
48
- "@typespec/compiler": "~0.61.0 || >=0.62.0-dev <0.62.0",
49
+ "@typespec/compiler": "~0.61.2 || >=0.62.0-dev <0.62.0",
49
50
  "@typespec/http": "~0.61.0 || >=0.62.0-dev <0.62.0",
50
51
  "@typespec/openapi": "~0.61.0 || >=0.62.0-dev <0.62.0",
51
52
  "@typespec/versioning": "~0.61.0 || >=0.62.0-dev <0.62.0"
52
53
  },
54
+ "peerDependenciesMeta": {
55
+ "@typespec/xml": {
56
+ "optional": true
57
+ }
58
+ },
53
59
  "devDependencies": {
54
60
  "@types/node": "~22.7.5",
55
61
  "@types/yargs": "~17.0.33",
56
- "@typespec/compiler": "~0.61.0 || >=0.62.0-dev <0.62.0",
62
+ "@typespec/compiler": "~0.61.2 || >=0.62.0-dev <0.62.0",
57
63
  "@typespec/http": "~0.61.0 || >=0.62.0-dev <0.62.0",
58
64
  "@typespec/library-linter": "~0.61.0 || >=0.62.0-dev <0.62.0",
59
65
  "@typespec/openapi": "~0.61.0 || >=0.62.0-dev <0.62.0",
60
66
  "@typespec/rest": "~0.61.0 || >=0.62.0-dev <0.62.0",
61
67
  "@typespec/versioning": "~0.61.0 || >=0.62.0-dev <0.62.0",
68
+ "@typespec/xml": "~0.61.0 || >=0.62.0-dev <0.62.0",
62
69
  "@vitest/coverage-v8": "^2.1.2",
63
70
  "@vitest/ui": "^2.1.2",
64
71
  "c8": "^10.1.2",
@@ -80,7 +87,7 @@
80
87
  "test:ci": "vitest run --coverage --reporter=junit --reporter=default",
81
88
  "lint": "eslint . --max-warnings=0",
82
89
  "lint:fix": "eslint . --fix",
83
- "regen-docs": "tspd doc . --enable-experimental --output-dir ../../docs/emitters/openapi3/reference",
90
+ "regen-docs": "tspd doc . --enable-experimental --output-dir ../../website/src/content/docs/docs/emitters/openapi3/reference",
84
91
  "regen-specs": "cross-env RECORD=true vitest run",
85
92
  "gen-version": "node scripts/generate-version.js"
86
93
  }