@typespec/openapi3 1.4.0-dev.1 → 1.4.0-dev.2

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.
@@ -12,7 +12,7 @@ export function generateMain(program, context) {
12
12
  using Http;
13
13
  using OpenAPI;
14
14
 
15
- ${generateServiceInformation(program.serviceInfo, program.servers)}
15
+ ${generateServiceInformation(program.serviceInfo, program.servers, program.tags)}
16
16
 
17
17
  ${program.types.map((t) => generateDataType(t, context)).join("\n\n")}
18
18
 
@@ -1 +1 @@
1
- {"version":3,"file":"generate-main.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/generators/generate-main.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAExE,MAAM,UAAU,YAAY,CAAC,OAAwB,EAAE,OAAgB;IACrE,OAAO;;;;;;;;IAQL,0BAA0B,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC;;IAEhE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;;IAEnE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;;IAEzE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;SACjC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;SACvE,IAAI,CAAC,MAAM,CAAC;IACb,eAAe,CAAC,OAAO,CAAC;GACzB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"generate-main.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/generators/generate-main.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAExE,MAAM,UAAU,YAAY,CAAC,OAAwB,EAAE,OAAgB;IACrE,OAAO;;;;;;;;IAQL,0BAA0B,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;;IAE9E,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;;IAEnE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;;IAEzE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;SACjC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;SACvE,IAAI,CAAC,MAAM,CAAC;IACb,eAAe,CAAC,OAAO,CAAC;GACzB,CAAC;AACJ,CAAC"}
@@ -1,3 +1,3 @@
1
- import { TypeSpecServer, TypeSpecServiceInfo } from "../interfaces.js";
2
- export declare function generateServiceInformation(serviceInfo: TypeSpecServiceInfo, servers?: TypeSpecServer[]): string;
1
+ import { TypeSpecServer, TypeSpecServiceInfo, TypeSpecTagMetadata } from "../interfaces.js";
2
+ export declare function generateServiceInformation(serviceInfo: TypeSpecServiceInfo, servers?: TypeSpecServer[], tags?: TypeSpecTagMetadata[]): string;
3
3
  //# sourceMappingURL=generate-service-info.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-service-info.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/generators/generate-service-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvE,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,mBAAmB,EAChC,OAAO,GAAE,cAAc,EAAO,GAC7B,MAAM,CAuBR"}
1
+ {"version":3,"file":"generate-service-info.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/generators/generate-service-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAO5F,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,mBAAmB,EAChC,OAAO,GAAE,cAAc,EAAO,EAC9B,IAAI,GAAE,mBAAmB,EAAO,GAC/B,MAAM,CA0BR"}
@@ -2,7 +2,8 @@ import { generateDocs } from "../utils/docs.js";
2
2
  import { generateNamespaceName } from "../utils/generate-namespace-name.js";
3
3
  import { toTspValues } from "../utils/tsp-values.js";
4
4
  import { generateServers } from "./generate-servers.js";
5
- export function generateServiceInformation(serviceInfo, servers = []) {
5
+ import { generateTags } from "./generate-tags.js";
6
+ export function generateServiceInformation(serviceInfo, servers = [], tags = []) {
6
7
  const definitions = [];
7
8
  const { name, doc, ...info } = serviceInfo;
8
9
  definitions.push(`
@@ -17,6 +18,9 @@ export function generateServiceInformation(serviceInfo, servers = []) {
17
18
  if (servers.length > 0) {
18
19
  definitions.push(generateServers(servers));
19
20
  }
21
+ if (tags.length > 0) {
22
+ definitions.push(generateTags(tags));
23
+ }
20
24
  definitions.push(`namespace ${generateNamespaceName(name)};`);
21
25
  return definitions.join("\n");
22
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate-service-info.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/generators/generate-service-info.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,UAAU,0BAA0B,CACxC,WAAgC,EAChC,UAA4B,EAAE;IAE9B,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,WAAW,CAAC;IAE3C,WAAW,CAAC,IAAI,CAAC;;gBAEH,IAAI;;YAER,WAAW,CAAC,IAAI,CAAC;KACxB,CAAC,CAAC;IAEL,IAAI,GAAG,EAAE,CAAC;QACR,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW,CAAC,IAAI,CAAC,aAAa,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE9D,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"generate-service-info.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/generators/generate-service-info.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,UAAU,0BAA0B,CACxC,WAAgC,EAChC,UAA4B,EAAE,EAC9B,OAA8B,EAAE;IAEhC,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,WAAW,CAAC;IAE3C,WAAW,CAAC,IAAI,CAAC;;gBAEH,IAAI;;YAER,WAAW,CAAC,IAAI,CAAC;KACxB,CAAC,CAAC;IAEL,IAAI,GAAG,EAAE,CAAC;QACR,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,WAAW,CAAC,IAAI,CAAC,aAAa,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE9D,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { TypeSpecTagMetadata } from "../interfaces.js";
2
+ export declare function generateTags(tags: TypeSpecTagMetadata[]): string;
3
+ //# sourceMappingURL=generate-tags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-tags.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/generators/generate-tags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAmB7E,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAYhE"}
@@ -0,0 +1,25 @@
1
+ function generateExternalDocs(externalDocs) {
2
+ if (!externalDocs) {
3
+ return "";
4
+ }
5
+ const externalDocsUrl = externalDocs.url ? `url: "${externalDocs.url}"` : "";
6
+ const externalDocsDescription = externalDocs.description
7
+ ? `description: "${externalDocs.description}"`
8
+ : "";
9
+ if (!externalDocsUrl && !externalDocsDescription) {
10
+ return "";
11
+ }
12
+ return `externalDocs: #{${[externalDocsUrl, externalDocsDescription].filter((x) => !!x).join(", ")}}`;
13
+ }
14
+ export function generateTags(tags) {
15
+ const definitions = tags.map((tag) => {
16
+ const description = tag.description ? `description: "${tag.description}"` : "";
17
+ const externalDocs = generateExternalDocs(tag.externalDocs);
18
+ const tagMetadata = description || externalDocs
19
+ ? `, #{${[description, externalDocs].filter((x) => !!x).join(", ")}}`
20
+ : "";
21
+ return `@tagMetadata("${tag.name}"${tagMetadata})`;
22
+ });
23
+ return definitions.join("\n");
24
+ }
25
+ //# sourceMappingURL=generate-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-tags.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/generators/generate-tags.ts"],"names":[],"mappings":"AAEA,SAAS,oBAAoB,CAAC,YAAmC;IAC/D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,uBAAuB,GAAG,YAAY,CAAC,WAAW;QACtD,CAAC,CAAC,iBAAiB,YAAY,CAAC,WAAW,GAAG;QAC9C,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,CAAC,eAAe,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,mBAAmB,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACxG,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAA2B;IACtD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACnC,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,YAAY,GAAG,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,WAAW,GACf,WAAW,IAAI,YAAY;YACzB,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACrE,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,iBAAiB,GAAG,CAAC,IAAI,IAAI,WAAW,GAAG,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC"}
@@ -4,6 +4,7 @@ export interface TypeSpecProgram {
4
4
  serviceInfo: TypeSpecServiceInfo;
5
5
  namespaces: Record<string, TypeSpecNamespace>;
6
6
  types: TypeSpecDataTypes[];
7
+ tags: TypeSpecTagMetadata[];
7
8
  augmentations: TypeSpecAugmentation[];
8
9
  operations: TypeSpecOperation[];
9
10
  servers: TypeSpecServer[];
@@ -18,6 +19,15 @@ export interface TypeSpecServerVariable {
18
19
  description?: string;
19
20
  enum?: string[];
20
21
  }
22
+ export interface TypeSpecTagMetadata {
23
+ name: string;
24
+ description?: string;
25
+ externalDocs?: TypeSpecExternalDocs;
26
+ }
27
+ export interface TypeSpecExternalDocs {
28
+ url: string;
29
+ description?: string;
30
+ }
21
31
  export interface TypeSpecDeclaration {
22
32
  name: string;
23
33
  doc?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../../src/cli/actions/convert/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../../src/cli/actions/convert/interfaces.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { OpenAPI3Tag } from "../../../../types.js";
2
+ import { TypeSpecTagMetadata } from "../interfaces.js";
3
+ export declare function transformTags(tags: OpenAPI3Tag[]): TypeSpecTagMetadata[];
4
+ //# sourceMappingURL=transform-tags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform-tags.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-tags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,mBAAmB,EAAE,CAYxE"}
@@ -0,0 +1,13 @@
1
+ export function transformTags(tags) {
2
+ return tags.map((tag) => ({
3
+ name: tag.name,
4
+ description: tag.description,
5
+ externalDocs: tag.externalDocs?.url || tag.externalDocs?.description
6
+ ? {
7
+ url: tag.externalDocs.url,
8
+ description: tag.externalDocs.description,
9
+ }
10
+ : undefined,
11
+ }));
12
+ }
13
+ //# sourceMappingURL=transform-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform-tags.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transform-tags.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,aAAa,CAAC,IAAmB;IAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,YAAY,EACV,GAAG,CAAC,YAAY,EAAE,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE,WAAW;YACpD,CAAC,CAAC;gBACE,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG;gBACzB,WAAW,EAAE,GAAG,CAAC,YAAY,CAAC,WAAW;aAC1C;YACH,CAAC,CAAC,SAAS;KAChB,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transforms.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transforms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAQ9C,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CAW3D"}
1
+ {"version":3,"file":"transforms.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transforms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAS9C,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CAY3D"}
@@ -4,6 +4,7 @@ import { transformNamespaces } from "./transform-namespaces.js";
4
4
  import { transformPaths } from "./transform-paths.js";
5
5
  import { transformServers } from "./transform-servers.js";
6
6
  import { transformServiceInfo } from "./transform-service-info.js";
7
+ import { transformTags } from "./transform-tags.js";
7
8
  export function transform(context) {
8
9
  const openapi = context.openApi3Doc;
9
10
  const models = collectDataTypes(context);
@@ -13,6 +14,7 @@ export function transform(context) {
13
14
  ...transformNamespaces(models, operations),
14
15
  augmentations: [],
15
16
  servers: transformServers(openapi.servers ?? []),
17
+ tags: transformTags(openapi.tags ?? []),
16
18
  };
17
19
  }
18
20
  function collectDataTypes(context) {
@@ -1 +1 @@
1
- {"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transforms.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,UAAU,SAAS,CAAC,OAAgB;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IACpC,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE1D,OAAO;QACL,WAAW,EAAE,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC;QAC/C,GAAG,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC;QAC1C,aAAa,EAAE,EAAE;QACjB,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAgB;IACxC,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,uCAAuC;IACvC,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3C,2CAA2C;IAC3C,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAE9C,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../../../../../src/cli/actions/convert/transforms/transforms.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,SAAS,CAAC,OAAgB;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IACpC,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE1D,OAAO;QACL,WAAW,EAAE,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC;QAC/C,GAAG,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC;QAC1C,aAAa,EAAE,EAAE;QACjB,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QAChD,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAgB;IACxC,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,uCAAuC;IACvC,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3C,2CAA2C;IAC3C,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAE9C,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/openapi3",
3
- "version": "1.4.0-dev.1",
3
+ "version": "1.4.0-dev.2",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec library for emitting OpenAPI 3.0 and OpenAPI 3.1 from the TypeSpec REST protocol binding and converting OpenAPI3 to TypeSpec",
6
6
  "homepage": "https://typespec.io",