@typespec/openapi 1.13.0-dev.2 → 1.13.0-dev.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/dist/src/decorators.d.ts.map +1 -1
- package/dist/src/decorators.js +29 -4
- package/dist/src/decorators.js.map +1 -1
- package/dist/src/helpers.d.ts.map +1 -1
- package/dist/src/helpers.js +17 -2
- package/dist/src/helpers.js.map +1 -1
- package/dist/src/lib.d.ts +22 -2
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +7 -0
- package/dist/src/lib.js.map +1 -1
- package/dist/src/tsdoc-metadata.json +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,SAAS,EACT,SAAS,EACT,OAAO,EAEP,IAAI,EAEL,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EAEpB,oBAAoB,EAErB,MAAM,uCAAuC,CAAC;AAG/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE7F,eAAO;AACL;;GAEG;AACH,cAAc;AAEd;;;;;GAKG;AACH,cAAc,4DACqD,CAAC;AACtE;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,oBAM1B,CAAC;AAIF,uCAAuC;AACvC,eAAO,MAAM,UAAU,EAAE,kBAaxB,CAAC;AAuCF;;;;;GAKG;AACH,wBAAgB,OAAO,CACrB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,QAGrD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,QAKhG;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC,CAE5F;AAQD,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB,EAAE,wBAuC9B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAEzE;AAID;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,qBAW3B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,YAAY,GAAG,SAAS,CAExF;AAID,kCAAkC;AAClC,eAAO,MAAM,KAAK,EAAE,aAmCnB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,cAAc,GAAG,SAAS,CAEvF;AAED,gGAAgG;AAChG,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,cAAc,GAAG,SAAS,CAU3F;AAMD,yDAAyD;AACzD,QAAA,MAAO,eAAe,qEAErB,CAAC;AAUF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,EAAE,oBAqIlC,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
package/dist/src/decorators.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { compilerAssert, getDoc, getService, getSummary, isType, serializeValueAsJson, } from "@typespec/compiler";
|
|
1
|
+
import { compilerAssert, getDoc, getService, getSummary, isErrorModel, isType, serializeValueAsJson, } from "@typespec/compiler";
|
|
2
2
|
import { useStateMap, useStateSet } from "@typespec/compiler/utils";
|
|
3
3
|
import * as http from "@typespec/http";
|
|
4
4
|
import { validateAdditionalInfoModel, validateIsUri } from "./helpers.js";
|
|
5
|
-
import { createStateSymbol, OpenAPIKeys, reportDiagnostic } from "./lib.js";
|
|
5
|
+
import { createDiagnostic, createStateSymbol, OpenAPIKeys, reportDiagnostic } from "./lib.js";
|
|
6
6
|
export const [
|
|
7
7
|
/**
|
|
8
8
|
* Returns operationId set via the `@operationId` decorator or `undefined`
|
|
@@ -106,6 +106,31 @@ const defaultResponseKey = createStateSymbol("defaultResponse");
|
|
|
106
106
|
export const $defaultResponse = (context, entity) => {
|
|
107
107
|
http.setStatusCode(context.program, entity, ["*"]);
|
|
108
108
|
context.program.stateSet(defaultResponseKey).add(entity);
|
|
109
|
+
return {
|
|
110
|
+
onTargetFinish: () => {
|
|
111
|
+
const diagnostics = [];
|
|
112
|
+
// Warn if the model already has a @statusCode property
|
|
113
|
+
for (const prop of entity.properties.values()) {
|
|
114
|
+
if (http.isStatusCode(context.program, prop)) {
|
|
115
|
+
diagnostics.push(createDiagnostic({
|
|
116
|
+
code: "default-response-with-status-code",
|
|
117
|
+
messageId: "statusCode",
|
|
118
|
+
target: entity,
|
|
119
|
+
}));
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
// Warn if the model is marked with @error
|
|
124
|
+
if (isErrorModel(context.program, entity)) {
|
|
125
|
+
diagnostics.push(createDiagnostic({
|
|
126
|
+
code: "default-response-with-status-code",
|
|
127
|
+
messageId: "error",
|
|
128
|
+
target: entity,
|
|
129
|
+
}));
|
|
130
|
+
}
|
|
131
|
+
return diagnostics;
|
|
132
|
+
},
|
|
133
|
+
};
|
|
109
134
|
};
|
|
110
135
|
/**
|
|
111
136
|
* Check if the given model has been mark as a default response.
|
|
@@ -266,12 +291,12 @@ export const tagMetadataDecorator = (context, entity, name, tagMetadata) => {
|
|
|
266
291
|
}
|
|
267
292
|
const resolvedMetadata = tagMetadata ?? {};
|
|
268
293
|
// Validate the additionalInfo model
|
|
269
|
-
if (!validateAdditionalInfoModel(context.program, context.getArgumentTarget(
|
|
294
|
+
if (!validateAdditionalInfoModel(context.program, context.getArgumentTarget(1), resolvedMetadata, "TypeSpec.OpenAPI.TagMetadata")) {
|
|
270
295
|
return;
|
|
271
296
|
}
|
|
272
297
|
// Validate the externalDocs.url property
|
|
273
298
|
if (resolvedMetadata.externalDocs?.url) {
|
|
274
|
-
if (!validateIsUri(context.program, context.getArgumentTarget(
|
|
299
|
+
if (!validateIsUri(context.program, context.getArgumentTarget(1), resolvedMetadata.externalDocs.url, "externalDocs.url")) {
|
|
275
300
|
return;
|
|
276
301
|
}
|
|
277
302
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,MAAM,EACN,UAAU,EACV,UAAU,EACV,MAAM,EAKN,oBAAoB,GAGrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AAWvC,OAAO,EAAE,2BAA2B,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAUhB,aAAa,EACb,SAAS,EACT,OAAO,EACP,IAAI,EACJ,eAAe,EAChB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAUhB,aAAa,EACb,SAAS,EACT,OAAO,EACP,IAAI,EACJ,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAelE;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,eAAe,EACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,MAAM,CAKR;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,QAW9C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,OAAO,EACjB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,OAAO,EAAE,eAAe,GACvB,MAAM,CAoBR;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,UAmBxE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,WAM3E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,YAAY,CAEtE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GACnB,OAAO,CAgBT;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAiBT"}
|
package/dist/src/helpers.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { getFriendlyName, getLifecycleVisibilityEnum, getProperty, getTypeName, getVisibilityForClass, isGlobalNamespace, isService, isTemplateInstance, } from "@typespec/compiler";
|
|
2
|
+
import { SyntaxKind, } from "@typespec/compiler/ast";
|
|
2
3
|
import { getOperationId } from "./decorators.js";
|
|
3
4
|
import { createDiagnostic, reportDiagnostic } from "./lib.js";
|
|
4
5
|
/**
|
|
@@ -187,12 +188,18 @@ export function validateAdditionalInfoModel(program, target, jsonObject, referen
|
|
|
187
188
|
* Check Additional Properties
|
|
188
189
|
*/
|
|
189
190
|
function checkNoAdditionalProperties(jsonObject, target, source) {
|
|
191
|
+
const targetNode = getObjectLiteralNode(target);
|
|
192
|
+
return checkNoAdditionalPropertiesInternal(jsonObject, target, source, targetNode);
|
|
193
|
+
}
|
|
194
|
+
function checkNoAdditionalPropertiesInternal(jsonObject, target, source, targetNode) {
|
|
190
195
|
const diagnostics = [];
|
|
191
196
|
for (const name of Object.keys(jsonObject)) {
|
|
192
197
|
const sourceProperty = getProperty(source, name);
|
|
198
|
+
const propertyNode = getObjectLiteralProperty(targetNode, name);
|
|
193
199
|
if (sourceProperty) {
|
|
194
200
|
if (sourceProperty.type.kind === "Model") {
|
|
195
|
-
const
|
|
201
|
+
const nestedTarget = getObjectLiteralNode(propertyNode?.value);
|
|
202
|
+
const nestedDiagnostics = checkNoAdditionalPropertiesInternal(jsonObject[name], propertyNode?.value ?? target, sourceProperty.type, nestedTarget);
|
|
196
203
|
diagnostics.push(...nestedDiagnostics);
|
|
197
204
|
}
|
|
198
205
|
}
|
|
@@ -200,10 +207,18 @@ function checkNoAdditionalProperties(jsonObject, target, source) {
|
|
|
200
207
|
diagnostics.push(createDiagnostic({
|
|
201
208
|
code: "invalid-extension-key",
|
|
202
209
|
format: { value: name },
|
|
203
|
-
target,
|
|
210
|
+
target: propertyNode?.id ?? target,
|
|
204
211
|
}));
|
|
205
212
|
}
|
|
206
213
|
}
|
|
207
214
|
return diagnostics;
|
|
208
215
|
}
|
|
216
|
+
function getObjectLiteralNode(target) {
|
|
217
|
+
return target !== undefined && "kind" in target && target.kind === SyntaxKind.ObjectLiteral
|
|
218
|
+
? target
|
|
219
|
+
: undefined;
|
|
220
|
+
}
|
|
221
|
+
function getObjectLiteralProperty(node, name) {
|
|
222
|
+
return node?.properties.find((property) => property.kind === SyntaxKind.ObjectLiteralProperty && property.id.sv === name);
|
|
223
|
+
}
|
|
209
224
|
//# sourceMappingURL=helpers.js.map
|
package/dist/src/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/src/lib.d.ts
CHANGED
|
@@ -21,8 +21,12 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
|
|
|
21
21
|
"tag-metadata-target-service": {
|
|
22
22
|
readonly default: import("@typespec/compiler").CallableMessage<["namespace"]>;
|
|
23
23
|
};
|
|
24
|
+
"default-response-with-status-code": {
|
|
25
|
+
readonly statusCode: "@defaultResponse should not be used on a model that already has a status code defined. The status code will be ignored in favor of the default response.";
|
|
26
|
+
readonly error: "@defaultResponse should not be used on a model that is marked with @error. Use either @defaultResponse or @error, not both.";
|
|
27
|
+
};
|
|
24
28
|
}, Record<string, any>, "tagsMetadata">;
|
|
25
|
-
export declare const createDiagnostic: <C extends "invalid-extension-key" | "duplicate-type-name" | "not-url" | "duplicate-tag" | "mixed-tag-metadata-form" | "tag-metadata-array-with-metadata-arg" | "tag-metadata-target-service", M extends keyof {
|
|
29
|
+
export declare const createDiagnostic: <C extends "invalid-extension-key" | "duplicate-type-name" | "not-url" | "duplicate-tag" | "mixed-tag-metadata-form" | "tag-metadata-array-with-metadata-arg" | "tag-metadata-target-service" | "default-response-with-status-code", M extends keyof {
|
|
26
30
|
"invalid-extension-key": {
|
|
27
31
|
readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
|
|
28
32
|
};
|
|
@@ -45,6 +49,10 @@ export declare const createDiagnostic: <C extends "invalid-extension-key" | "dup
|
|
|
45
49
|
"tag-metadata-target-service": {
|
|
46
50
|
readonly default: import("@typespec/compiler").CallableMessage<["namespace"]>;
|
|
47
51
|
};
|
|
52
|
+
"default-response-with-status-code": {
|
|
53
|
+
readonly statusCode: "@defaultResponse should not be used on a model that already has a status code defined. The status code will be ignored in favor of the default response.";
|
|
54
|
+
readonly error: "@defaultResponse should not be used on a model that is marked with @error. Use either @defaultResponse or @error, not both.";
|
|
55
|
+
};
|
|
48
56
|
}[C]>(diag: import("@typespec/compiler").DiagnosticReport<{
|
|
49
57
|
"invalid-extension-key": {
|
|
50
58
|
readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
|
|
@@ -68,7 +76,11 @@ export declare const createDiagnostic: <C extends "invalid-extension-key" | "dup
|
|
|
68
76
|
"tag-metadata-target-service": {
|
|
69
77
|
readonly default: import("@typespec/compiler").CallableMessage<["namespace"]>;
|
|
70
78
|
};
|
|
71
|
-
|
|
79
|
+
"default-response-with-status-code": {
|
|
80
|
+
readonly statusCode: "@defaultResponse should not be used on a model that already has a status code defined. The status code will be ignored in favor of the default response.";
|
|
81
|
+
readonly error: "@defaultResponse should not be used on a model that is marked with @error. Use either @defaultResponse or @error, not both.";
|
|
82
|
+
};
|
|
83
|
+
}, C, M>) => import("@typespec/compiler").Diagnostic, reportDiagnostic: <C extends "invalid-extension-key" | "duplicate-type-name" | "not-url" | "duplicate-tag" | "mixed-tag-metadata-form" | "tag-metadata-array-with-metadata-arg" | "tag-metadata-target-service" | "default-response-with-status-code", M extends keyof {
|
|
72
84
|
"invalid-extension-key": {
|
|
73
85
|
readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
|
|
74
86
|
};
|
|
@@ -91,6 +103,10 @@ export declare const createDiagnostic: <C extends "invalid-extension-key" | "dup
|
|
|
91
103
|
"tag-metadata-target-service": {
|
|
92
104
|
readonly default: import("@typespec/compiler").CallableMessage<["namespace"]>;
|
|
93
105
|
};
|
|
106
|
+
"default-response-with-status-code": {
|
|
107
|
+
readonly statusCode: "@defaultResponse should not be used on a model that already has a status code defined. The status code will be ignored in favor of the default response.";
|
|
108
|
+
readonly error: "@defaultResponse should not be used on a model that is marked with @error. Use either @defaultResponse or @error, not both.";
|
|
109
|
+
};
|
|
94
110
|
}[C]>(program: import("@typespec/compiler").Program, diag: import("@typespec/compiler").DiagnosticReport<{
|
|
95
111
|
"invalid-extension-key": {
|
|
96
112
|
readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
|
|
@@ -114,5 +130,9 @@ export declare const createDiagnostic: <C extends "invalid-extension-key" | "dup
|
|
|
114
130
|
"tag-metadata-target-service": {
|
|
115
131
|
readonly default: import("@typespec/compiler").CallableMessage<["namespace"]>;
|
|
116
132
|
};
|
|
133
|
+
"default-response-with-status-code": {
|
|
134
|
+
readonly statusCode: "@defaultResponse should not be used on a model that already has a status code defined. The status code will be ignored in favor of the default response.";
|
|
135
|
+
readonly error: "@defaultResponse should not be used on a model that is marked with @error. Use either @defaultResponse or @error, not both.";
|
|
136
|
+
};
|
|
117
137
|
}, C, M>) => void, createStateSymbol: (name: string) => symbol, OpenAPIKeys: Record<"tagsMetadata", symbol>;
|
|
118
138
|
//# sourceMappingURL=lib.d.ts.map
|
package/dist/src/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;uCAyDf,CAAC;AAEH,eAAO,MACL,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAChB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAChB,iBAAiB,4BACN,WAAW,gCAChB,CAAC"}
|
package/dist/src/lib.js
CHANGED
|
@@ -45,6 +45,13 @@ export const $lib = createTypeSpecLibrary({
|
|
|
45
45
|
default: paramMessage `@tagMetadata must be used on the service namespace. Did you mean to annotate '${"namespace"}' with '@service'?`,
|
|
46
46
|
},
|
|
47
47
|
},
|
|
48
|
+
"default-response-with-status-code": {
|
|
49
|
+
severity: "warning",
|
|
50
|
+
messages: {
|
|
51
|
+
statusCode: `@defaultResponse should not be used on a model that already has a status code defined. The status code will be ignored in favor of the default response.`,
|
|
52
|
+
error: `@defaultResponse should not be used on a model that is marked with @error. Use either @defaultResponse or @error, not both.`,
|
|
53
|
+
},
|
|
54
|
+
},
|
|
48
55
|
},
|
|
49
56
|
state: {
|
|
50
57
|
tagsMetadata: { description: "State for the @tagMetadata decorator." },
|
package/dist/src/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC;IACxC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE;QACX,uBAAuB,EAAE;YACvB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,mDAAmD,OAAO,GAAG;aACnF;SACF;QACD,qBAAqB,EAAE;YACrB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,yBAAyB,OAAO,4FAA4F;gBACjJ,SAAS,EAAE,YAAY,CAAA,6BAA6B,OAAO,4FAA4F;aACxJ;SACF;QACD,SAAS,EAAE;YACT,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,GAAG,UAAU,KAAK,OAAO,sBAAsB;aACrE;SACF;QACD,eAAe,EAAE;YACf,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,sBAAsB,SAAS,yBAAyB;aAC9E;SACF;QACD,yBAAyB,EAAE;YACzB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,gLAAgL;aAC1L;SACF;QACD,sCAAsC,EAAE;YACtC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,wJAAwJ;aAClK;SACF;QACD,6BAA6B,EAAE;YAC7B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,iFAAiF,WAAW,qBAAqB;aACvI;SACF;KACF;IACD,KAAK,EAAE;QACL,YAAY,EAAE,EAAE,WAAW,EAAE,uCAAuC,EAAE;KACvE;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,EACX,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EAAE,WAAW,GACvB,GAAG,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC;IACxC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE;QACX,uBAAuB,EAAE;YACvB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,mDAAmD,OAAO,GAAG;aACnF;SACF;QACD,qBAAqB,EAAE;YACrB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,yBAAyB,OAAO,4FAA4F;gBACjJ,SAAS,EAAE,YAAY,CAAA,6BAA6B,OAAO,4FAA4F;aACxJ;SACF;QACD,SAAS,EAAE;YACT,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,GAAG,UAAU,KAAK,OAAO,sBAAsB;aACrE;SACF;QACD,eAAe,EAAE;YACf,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,sBAAsB,SAAS,yBAAyB;aAC9E;SACF;QACD,yBAAyB,EAAE;YACzB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,gLAAgL;aAC1L;SACF;QACD,sCAAsC,EAAE;YACtC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,wJAAwJ;aAClK;SACF;QACD,6BAA6B,EAAE;YAC7B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,iFAAiF,WAAW,qBAAqB;aACvI;SACF;QACD,mCAAmC,EAAE;YACnC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,UAAU,EAAE,0JAA0J;gBACtK,KAAK,EAAE,6HAA6H;aACrI;SACF;KACF;IACD,KAAK,EAAE;QACL,YAAY,EAAE,EAAE,WAAW,EAAE,uCAAuC,EAAE;KACvE;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,EACX,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EAAE,WAAW,GACvB,GAAG,IAAI,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typespec/openapi",
|
|
3
|
-
"version": "1.13.0-dev.
|
|
3
|
+
"version": "1.13.0-dev.4",
|
|
4
4
|
"author": "Microsoft Corporation",
|
|
5
5
|
"description": "TypeSpec library providing OpenAPI concepts",
|
|
6
6
|
"homepage": "https://typespec.io",
|
|
@@ -39,12 +39,12 @@
|
|
|
39
39
|
"!dist/test/**"
|
|
40
40
|
],
|
|
41
41
|
"peerDependencies": {
|
|
42
|
-
"@typespec/compiler": "^1.12.0 || >= 1.13.0-dev.
|
|
42
|
+
"@typespec/compiler": "^1.12.0 || >= 1.13.0-dev.11",
|
|
43
43
|
"@typespec/http": "^1.12.0 || >= 1.13.0-dev.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@types/node": "^25.5.2",
|
|
47
|
-
"@typespec/compiler": "^1.12.0 || >= 1.13.0-dev.
|
|
47
|
+
"@typespec/compiler": "^1.12.0 || >= 1.13.0-dev.11",
|
|
48
48
|
"@typespec/http": "^1.12.0 || >= 1.13.0-dev.0",
|
|
49
49
|
"@typespec/library-linter": "^0.82.0 || >= 0.83.0-dev.0",
|
|
50
50
|
"@typespec/rest": "^0.82.0 || >= 0.83.0-dev.0",
|