@typespec/openapi 0.66.0-dev.1 → 0.66.0-dev.3
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/README.md +4 -4
- package/dist/generated-defs/TypeSpec.OpenAPI.d.ts +21 -1
- package/dist/generated-defs/TypeSpec.OpenAPI.d.ts.map +1 -1
- package/dist/src/decorators.d.ts.map +1 -1
- package/dist/src/decorators.js +1 -3
- package/dist/src/decorators.js.map +1 -1
- package/dist/src/helpers.d.ts +5 -5
- package/dist/src/helpers.js +5 -5
- package/lib/decorators.tsp +7 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -107,7 +107,7 @@ Specify OpenAPI additional information.
|
|
|
107
107
|
The service `title` and `version` are already specified using `@service`.
|
|
108
108
|
|
|
109
109
|
```typespec
|
|
110
|
-
@TypeSpec.OpenAPI.info(additionalInfo: TypeSpec.OpenAPI.AdditionalInfo)
|
|
110
|
+
@TypeSpec.OpenAPI.info(additionalInfo: valueof TypeSpec.OpenAPI.AdditionalInfo)
|
|
111
111
|
```
|
|
112
112
|
|
|
113
113
|
##### Target
|
|
@@ -116,9 +116,9 @@ The service `title` and `version` are already specified using `@service`.
|
|
|
116
116
|
|
|
117
117
|
##### Parameters
|
|
118
118
|
|
|
119
|
-
| Name | Type
|
|
120
|
-
| -------------- |
|
|
121
|
-
| additionalInfo | [`AdditionalInfo`](#additionalinfo) | Additional information |
|
|
119
|
+
| Name | Type | Description |
|
|
120
|
+
| -------------- | ------------------------------------------- | ---------------------- |
|
|
121
|
+
| additionalInfo | [valueof `AdditionalInfo`](#additionalinfo) | Additional information |
|
|
122
122
|
|
|
123
123
|
#### `@operationId`
|
|
124
124
|
|
|
@@ -1,9 +1,29 @@
|
|
|
1
1
|
import type { DecoratorContext, Model, Namespace, Operation, Type } from "@typespec/compiler";
|
|
2
|
+
export interface AdditionalInfo {
|
|
3
|
+
readonly [key: string]: unknown;
|
|
4
|
+
readonly title?: string;
|
|
5
|
+
readonly summary?: string;
|
|
6
|
+
readonly version?: string;
|
|
7
|
+
readonly termsOfService?: string;
|
|
8
|
+
readonly contact?: Contact;
|
|
9
|
+
readonly license?: License;
|
|
10
|
+
}
|
|
2
11
|
export interface TagMetadata {
|
|
3
12
|
readonly [key: string]: unknown;
|
|
4
13
|
readonly description?: string;
|
|
5
14
|
readonly externalDocs?: ExternalDocs;
|
|
6
15
|
}
|
|
16
|
+
export interface Contact {
|
|
17
|
+
readonly [key: string]: unknown;
|
|
18
|
+
readonly name?: string;
|
|
19
|
+
readonly url?: string;
|
|
20
|
+
readonly email?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface License {
|
|
23
|
+
readonly [key: string]: unknown;
|
|
24
|
+
readonly name: string;
|
|
25
|
+
readonly url?: string;
|
|
26
|
+
}
|
|
7
27
|
export interface ExternalDocs {
|
|
8
28
|
readonly [key: string]: unknown;
|
|
9
29
|
readonly url: string;
|
|
@@ -64,7 +84,7 @@ export type ExternalDocsDecorator = (context: DecoratorContext, target: Type, ur
|
|
|
64
84
|
*
|
|
65
85
|
* @param additionalInfo Additional information
|
|
66
86
|
*/
|
|
67
|
-
export type InfoDecorator = (context: DecoratorContext, target: Namespace, additionalInfo:
|
|
87
|
+
export type InfoDecorator = (context: DecoratorContext, target: Namespace, additionalInfo: AdditionalInfo) => void;
|
|
68
88
|
/**
|
|
69
89
|
* Specify OpenAPI additional information.
|
|
70
90
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeSpec.OpenAPI.d.ts","sourceRoot":"","sources":["../../generated-defs/TypeSpec.OpenAPI.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE9F,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;CACtC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,MAAM,KAChB,IAAI,CAAC;AAEV;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,IAAI,EACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,KACX,IAAI,CAAC;AAEV;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAE1F;;;;;;;;;;GAUG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAClC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,IAAI,EACZ,GAAG,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,MAAM,KACjB,IAAI,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"TypeSpec.OpenAPI.d.ts","sourceRoot":"","sources":["../../generated-defs/TypeSpec.OpenAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI,
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI,EAEL,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,oBAAoB,EACrB,MAAM,uCAAuC,CAAC;AAG/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGxE;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,oBAM1B,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAEtF;AAID,uCAAuC;AACvC,eAAO,MAAM,UAAU,EAAE,kBAgBxB,CAAC;AAEF;;;;;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,wBAO9B,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,CAW3F;AAMD,yDAAyD;AACzD,QAAA,MAAO,eAAe;;aAErB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,oBA4DlC,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
package/dist/src/decorators.js
CHANGED
|
@@ -106,9 +106,7 @@ export function getExternalDocs(program, entity) {
|
|
|
106
106
|
}
|
|
107
107
|
const infoKey = createStateSymbol("info");
|
|
108
108
|
/** {@inheritdoc InfoDecorator} */
|
|
109
|
-
export const $info = (context, entity,
|
|
110
|
-
const [data, diagnostics] = typespecTypeToJson(model, context.getArgumentTarget(0));
|
|
111
|
-
context.program.reportDiagnostics(diagnostics);
|
|
109
|
+
export const $info = (context, entity, data) => {
|
|
112
110
|
if (data === undefined) {
|
|
113
111
|
return;
|
|
114
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAER,MAAM,EACN,UAAU,EACV,UAAU,EACV,MAAM,EAMN,kBAAkB,
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
|
package/dist/src/helpers.d.ts
CHANGED
|
@@ -47,12 +47,12 @@ export declare function getParameterKey(program: Program, property: ModelPropert
|
|
|
47
47
|
*/
|
|
48
48
|
export declare function resolveOperationId(program: Program, operation: Operation): string;
|
|
49
49
|
/**
|
|
50
|
-
* Determines if a property is read-only, which is defined as
|
|
51
|
-
*
|
|
50
|
+
* Determines if a property is read-only, which is defined as having the
|
|
51
|
+
* only the `Lifecycle.Read` modifier.
|
|
52
52
|
*
|
|
53
|
-
* If there is more than
|
|
54
|
-
* read-only. For example, `@visibility(
|
|
55
|
-
* designate a read-only property.
|
|
53
|
+
* If there is more than one Lifecycle visibility modifier active on the property,
|
|
54
|
+
* then the property is not read-only. For example, `@visibility(Lifecycle.Read, Lifecycle.Update)`
|
|
55
|
+
* does not designate a read-only property.
|
|
56
56
|
*/
|
|
57
57
|
export declare function isReadonlyProperty(program: Program, property: ModelProperty): boolean;
|
|
58
58
|
/**
|
package/dist/src/helpers.js
CHANGED
|
@@ -109,12 +109,12 @@ export function resolveOperationId(program, operation) {
|
|
|
109
109
|
return `${namespace.name}_${operation.name}`;
|
|
110
110
|
}
|
|
111
111
|
/**
|
|
112
|
-
* Determines if a property is read-only, which is defined as
|
|
113
|
-
*
|
|
112
|
+
* Determines if a property is read-only, which is defined as having the
|
|
113
|
+
* only the `Lifecycle.Read` modifier.
|
|
114
114
|
*
|
|
115
|
-
* If there is more than
|
|
116
|
-
* read-only. For example, `@visibility(
|
|
117
|
-
* designate a read-only property.
|
|
115
|
+
* If there is more than one Lifecycle visibility modifier active on the property,
|
|
116
|
+
* then the property is not read-only. For example, `@visibility(Lifecycle.Read, Lifecycle.Update)`
|
|
117
|
+
* does not designate a read-only property.
|
|
118
118
|
*/
|
|
119
119
|
export function isReadonlyProperty(program, property) {
|
|
120
120
|
const Lifecycle = getLifecycleVisibilityEnum(program);
|
package/lib/decorators.tsp
CHANGED
|
@@ -80,6 +80,8 @@ model AdditionalInfo {
|
|
|
80
80
|
|
|
81
81
|
/** The license information for the exposed API. */
|
|
82
82
|
license?: License;
|
|
83
|
+
|
|
84
|
+
...Record<unknown>;
|
|
83
85
|
}
|
|
84
86
|
|
|
85
87
|
/** Contact information for the exposed API. */
|
|
@@ -92,6 +94,8 @@ model Contact {
|
|
|
92
94
|
|
|
93
95
|
/** The email address of the contact person/organization. MUST be in the format of an email address. */
|
|
94
96
|
email?: string;
|
|
97
|
+
|
|
98
|
+
...Record<unknown>;
|
|
95
99
|
}
|
|
96
100
|
|
|
97
101
|
/** License information for the exposed API. */
|
|
@@ -101,6 +105,8 @@ model License {
|
|
|
101
105
|
|
|
102
106
|
/** A URL to the license used for the API. MUST be in the format of a URL. */
|
|
103
107
|
url?: url;
|
|
108
|
+
|
|
109
|
+
...Record<unknown>;
|
|
104
110
|
}
|
|
105
111
|
|
|
106
112
|
/**
|
|
@@ -108,7 +114,7 @@ model License {
|
|
|
108
114
|
* The service `title` and `version` are already specified using `@service`.
|
|
109
115
|
* @param additionalInfo Additional information
|
|
110
116
|
*/
|
|
111
|
-
extern dec info(target: Namespace, additionalInfo: AdditionalInfo);
|
|
117
|
+
extern dec info(target: Namespace, additionalInfo: valueof AdditionalInfo);
|
|
112
118
|
|
|
113
119
|
/** Metadata to a single tag that is used by operations. */
|
|
114
120
|
model TagMetadata {
|