Skip to content

Commit 1d31ff7

Browse files
authoredMar 17, 2025
Merge branch 'main' into mini-website-refresh
2 parents 677bcc5 + 92b7a73 commit 1d31ff7

File tree

6 files changed

+93
-4
lines changed

6 files changed

+93
-4
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
changeKind: internal
3+
packages:
4+
- "@typespec/openapi3"
5+
---
6+

‎.chronus/changes/reserve-keywords-2025-2-12-22-22-24.md

+4
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ Adding new keywords for future use:
1717
- `struct`
1818
- `record`
1919
- `module`
20+
- `mod`
21+
- `pub`
22+
- `sub`
23+
- `typeref`
2024
- `trait`
2125
- `this`
2226
- `self`

‎packages/compiler/src/core/scanner.ts

+12
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,10 @@ export enum Token {
174174
StructKeyword,
175175
RecordKeyword,
176176
ModuleKeyword,
177+
ModKeyword,
178+
PubKeyword,
179+
SubKeyword,
180+
TypeRefKeyword,
177181
TraitKeyword,
178182
ThisKeyword,
179183
SelfKeyword,
@@ -314,6 +318,10 @@ export const TokenDisplay = getTokenDisplayTable([
314318
[Token.StructKeyword, "'struct'"],
315319
[Token.RecordKeyword, "'record'"],
316320
[Token.ModuleKeyword, "'module'"],
321+
[Token.ModKeyword, "'mod'"],
322+
[Token.PubKeyword, "'pub'"],
323+
[Token.SubKeyword, "'sub'"],
324+
[Token.TypeRefKeyword, "'typeref'"],
317325
[Token.TraitKeyword, "'trait'"],
318326
[Token.ThisKeyword, "'this'"],
319327
[Token.SelfKeyword, "'self'"],
@@ -378,6 +386,10 @@ export const Keywords: ReadonlyMap<string, Token> = new Map([
378386
["struct", Token.StructKeyword],
379387
["record", Token.RecordKeyword],
380388
["module", Token.ModuleKeyword],
389+
["mod", Token.ModKeyword],
390+
["pub", Token.PubKeyword],
391+
["sub", Token.SubKeyword],
392+
["typeref", Token.TypeRefKeyword],
381393
["trait", Token.TraitKeyword],
382394
["this", Token.ThisKeyword],
383395
["self", Token.SelfKeyword],

‎packages/openapi3/api-extractor.json

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3+
"extends": "../../api-extractor.base.json"
4+
}

‎packages/openapi3/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@
5050
"lint:fix": "eslint . --fix",
5151
"regen-docs": "tspd doc . --enable-experimental --output-dir ../../website/src/content/docs/docs/emitters/openapi3/reference",
5252
"regen-specs": "cross-env RECORD=true vitest run",
53-
"gen-version": "node scripts/generate-version.js"
53+
"gen-version": "node scripts/generate-version.js",
54+
"api-extractor": "api-extractor run --local --verbose"
5455
},
5556
"files": [
5657
"lib/*.tsp",

‎packages/openapi3/src/index.ts

+65-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,73 @@
11
export const namespace = "TypeSpec.OpenAPI";
22

33
export { convertOpenAPI3Document } from "./cli/actions/convert/convert.js";
4-
export * from "./decorators.js";
4+
export { $oneOf, $useRef, getOneOf, getRef } from "./decorators.js";
55
export { $lib } from "./lib.js";
6-
export * from "./openapi.js";
6+
export {
7+
$onEmit,
8+
getOpenAPI3,
9+
resolveOptions,
10+
type ResolvedOpenAPI3EmitterOptions,
11+
} from "./openapi.js";
712

8-
export * from "./types.js";
13+
export type {
14+
CommonOpenAPI3Schema,
15+
Extensions,
16+
HttpMethod,
17+
JsonSchema,
18+
JsonSchemaType,
19+
JsonType,
20+
OpenAPI3ApiKeySecurityScheme,
21+
OpenAPI3AuthorizationCodeOAuthFlow,
22+
OpenAPI3ClientCredentialsFlow,
23+
OpenAPI3Components,
24+
OpenAPI3Discriminator,
25+
OpenAPI3Document,
26+
OpenAPI3Encoding,
27+
OpenAPI3Example,
28+
OpenAPI3ExternalDocs,
29+
OpenAPI3Header,
30+
OpenAPI3HeaderParameter,
31+
OpenAPI3HttpSecurityScheme,
32+
OpenAPI3ImplicitOAuthFlow,
33+
OpenAPI3Info,
34+
OpenAPI3Link,
35+
OpenAPI3MediaType,
36+
OpenAPI3OAuth2Flow,
37+
OpenAPI3OAuth2SecurityScheme,
38+
OpenAPI3OAuthFlows,
39+
OpenAPI3OpenIdConnectSecurityScheme,
40+
OpenAPI3Operation,
41+
OpenAPI3Parameter,
42+
OpenAPI3ParameterBase,
43+
OpenAPI3ParameterType,
44+
OpenAPI3PasswordOAuthFlow,
45+
OpenAPI3PathItem,
46+
OpenAPI3PathParameter,
47+
OpenAPI3QueryParameter,
48+
OpenAPI3RequestBody,
49+
OpenAPI3Response,
50+
OpenAPI3Responses,
51+
OpenAPI3Schema,
52+
OpenAPI3SchemaProperty,
53+
OpenAPI3SecurityScheme,
54+
OpenAPI3SecuritySchemeBase,
55+
OpenAPI3Server,
56+
OpenAPI3ServerVariable,
57+
OpenAPI3ServiceRecord,
58+
OpenAPI3StatusCode,
59+
OpenAPI3Tag,
60+
OpenAPI3UnversionedServiceRecord,
61+
OpenAPI3VersionedDocumentRecord,
62+
OpenAPI3VersionedServiceRecord,
63+
OpenAPI3XmlSchema,
64+
OpenAPIComponents3_1,
65+
OpenAPIDocument3_1,
66+
OpenAPISchema3_1,
67+
Ref,
68+
Refable,
69+
SupportedOpenAPIDocuments,
70+
} from "./types.js";
971

1072
/** @internal */
1173
export { $decorators } from "./tsp-index.js";

0 commit comments

Comments
 (0)