@azure-tools/typespec-go 0.16.0-dev.9 → 0.17.0-dev.1

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 (108) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/src/codegen/core/cloud-config.js +1 -0
  3. package/dist/src/codegen/core/cloud-config.js.map +1 -1
  4. package/dist/src/codegen/core/errors.d.ts +1 -1
  5. package/dist/src/codegen/core/errors.d.ts.map +1 -1
  6. package/dist/src/codegen/core/example.d.ts.map +1 -1
  7. package/dist/src/codegen/core/example.js +179 -19
  8. package/dist/src/codegen/core/example.js.map +1 -1
  9. package/dist/src/codegen/core/gomod.js +2 -1
  10. package/dist/src/codegen/core/gomod.js.map +1 -1
  11. package/dist/src/codegen/core/helpers.d.ts +16 -4
  12. package/dist/src/codegen/core/helpers.d.ts.map +1 -1
  13. package/dist/src/codegen/core/helpers.js +163 -23
  14. package/dist/src/codegen/core/helpers.js.map +1 -1
  15. package/dist/src/codegen/core/index.d.ts +17 -0
  16. package/dist/src/codegen/core/index.d.ts.map +1 -0
  17. package/dist/src/codegen/core/index.js +21 -0
  18. package/dist/src/codegen/core/index.js.map +1 -0
  19. package/dist/src/codegen/core/interfaces.js +1 -0
  20. package/dist/src/codegen/core/interfaces.js.map +1 -1
  21. package/dist/src/codegen/core/license.js +1 -0
  22. package/dist/src/codegen/core/license.js.map +1 -1
  23. package/dist/src/codegen/core/metadata.js +1 -0
  24. package/dist/src/codegen/core/metadata.js.map +1 -1
  25. package/dist/src/codegen/core/models.d.ts.map +1 -1
  26. package/dist/src/codegen/core/models.js +62 -14
  27. package/dist/src/codegen/core/models.js.map +1 -1
  28. package/dist/src/codegen/core/operations.d.ts +0 -1
  29. package/dist/src/codegen/core/operations.d.ts.map +1 -1
  30. package/dist/src/codegen/core/operations.js +84 -1172
  31. package/dist/src/codegen/core/operations.js.map +1 -1
  32. package/dist/src/codegen/core/request-handler.d.ts +14 -0
  33. package/dist/src/codegen/core/request-handler.d.ts.map +1 -0
  34. package/dist/src/codegen/core/request-handler.js +912 -0
  35. package/dist/src/codegen/core/request-handler.js.map +1 -0
  36. package/dist/src/codegen/core/response-handler.d.ts +12 -0
  37. package/dist/src/codegen/core/response-handler.d.ts.map +1 -0
  38. package/dist/src/codegen/core/response-handler.js +288 -0
  39. package/dist/src/codegen/core/response-handler.js.map +1 -0
  40. package/dist/src/codegen/core/version.js +1 -0
  41. package/dist/src/codegen/core/version.js.map +1 -1
  42. package/dist/src/codegen/core/xml-additional-props.js +1 -0
  43. package/dist/src/codegen/core/xml-additional-props.js.map +1 -1
  44. package/dist/src/codegen/emitter.d.ts.map +1 -1
  45. package/dist/src/codegen/emitter.js +21 -37
  46. package/dist/src/codegen/emitter.js.map +1 -1
  47. package/dist/src/codegen/fake/index.d.ts +3 -0
  48. package/dist/src/codegen/fake/index.d.ts.map +1 -0
  49. package/dist/src/codegen/fake/index.js +7 -0
  50. package/dist/src/codegen/fake/index.js.map +1 -0
  51. package/dist/src/codegen/fake/internal.js +1 -0
  52. package/dist/src/codegen/fake/internal.js.map +1 -1
  53. package/dist/src/codegen/fake/servers.d.ts.map +1 -1
  54. package/dist/src/codegen/fake/servers.js +17 -16
  55. package/dist/src/codegen/fake/servers.js.map +1 -1
  56. package/dist/src/codemodel/client.d.ts +2 -0
  57. package/dist/src/codemodel/client.d.ts.map +1 -1
  58. package/dist/src/codemodel/client.js +7 -0
  59. package/dist/src/codemodel/client.js.map +1 -1
  60. package/dist/src/codemodel/code-model.js +2 -0
  61. package/dist/src/codemodel/code-model.js.map +1 -1
  62. package/dist/src/codemodel/docs.d.ts +9 -0
  63. package/dist/src/codemodel/docs.d.ts.map +1 -0
  64. package/dist/src/codemodel/docs.js +40 -0
  65. package/dist/src/codemodel/docs.js.map +1 -0
  66. package/dist/src/codemodel/examples.js +4 -0
  67. package/dist/src/codemodel/examples.js.map +1 -1
  68. package/dist/src/codemodel/index.d.ts +1 -0
  69. package/dist/src/codemodel/index.d.ts.map +1 -1
  70. package/dist/src/codemodel/index.js +1 -0
  71. package/dist/src/codemodel/index.js.map +1 -1
  72. package/dist/src/codemodel/method.js +2 -0
  73. package/dist/src/codemodel/method.js.map +1 -1
  74. package/dist/src/codemodel/module.js +3 -0
  75. package/dist/src/codemodel/module.js.map +1 -1
  76. package/dist/src/codemodel/param.js +1 -0
  77. package/dist/src/codemodel/param.js.map +1 -1
  78. package/dist/src/codemodel/result.js +3 -0
  79. package/dist/src/codemodel/result.js.map +1 -1
  80. package/dist/src/codemodel/type.d.ts +7 -2
  81. package/dist/src/codemodel/type.d.ts.map +1 -1
  82. package/dist/src/codemodel/type.js +3 -0
  83. package/dist/src/codemodel/type.js.map +1 -1
  84. package/dist/src/emitter.d.ts +2 -2
  85. package/dist/src/emitter.d.ts.map +1 -1
  86. package/dist/src/emitter.js +33 -3
  87. package/dist/src/emitter.js.map +1 -1
  88. package/dist/src/lib.js.map +1 -1
  89. package/dist/src/tcgcadapter/adapter.d.ts +1 -1
  90. package/dist/src/tcgcadapter/adapter.d.ts.map +1 -1
  91. package/dist/src/tcgcadapter/adapter.js +6 -1
  92. package/dist/src/tcgcadapter/adapter.js.map +1 -1
  93. package/dist/src/tcgcadapter/clients.d.ts +8 -0
  94. package/dist/src/tcgcadapter/clients.d.ts.map +1 -1
  95. package/dist/src/tcgcadapter/clients.js +46 -7
  96. package/dist/src/tcgcadapter/clients.js.map +1 -1
  97. package/dist/src/tcgcadapter/errors.d.ts +1 -1
  98. package/dist/src/tcgcadapter/errors.d.ts.map +1 -1
  99. package/dist/src/tcgcadapter/helpers.d.ts +5 -3
  100. package/dist/src/tcgcadapter/helpers.d.ts.map +1 -1
  101. package/dist/src/tcgcadapter/helpers.js +19 -4
  102. package/dist/src/tcgcadapter/helpers.js.map +1 -1
  103. package/dist/src/tcgcadapter/metadata.js +1 -0
  104. package/dist/src/tcgcadapter/metadata.js.map +1 -1
  105. package/dist/src/tcgcadapter/types.d.ts.map +1 -1
  106. package/dist/src/tcgcadapter/types.js +16 -8
  107. package/dist/src/tcgcadapter/types.js.map +1 -1
  108. package/package.json +34 -34
@@ -5,6 +5,7 @@
5
5
  import * as go from "../../codemodel/index.js";
6
6
  import * as naming from "../../naming/naming.js";
7
7
  import { CodegenError } from "./errors.js";
8
+ import { ImportManager } from "./imports.js";
8
9
  // variable to be used to determine comment length when calling comment from @azure-tools
9
10
  export const commentLength = 120;
10
11
  export const plainDateFormat = "time.DateOnly";
@@ -55,6 +56,19 @@ export function contentPreamble(pkg, doNotEdit = true) {
55
56
  export function sortAscending(a, b) {
56
57
  return a < b ? -1 : a > b ? 1 : 0;
57
58
  }
59
+ /** returns the header name using Go's canonical MIME header key casing */
60
+ export function canonicalizeHeaderName(name) {
61
+ if (!/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/.test(name)) {
62
+ return name;
63
+ }
64
+ let canonicalName = "";
65
+ let upper = true;
66
+ for (const char of name) {
67
+ canonicalName += upper ? char.toUpperCase() : char.toLowerCase();
68
+ upper = char === "-";
69
+ }
70
+ return canonicalName;
71
+ }
58
72
  /**
59
73
  * returns the parameter's type definition with a possible '*' prefix
60
74
  *
@@ -85,7 +99,7 @@ export function formatParameterTypeName(scope, param) {
85
99
  return required ? typeName : `*${typeName}`;
86
100
  }
87
101
  // sorts parameters by their required state, ordering required before optional
88
- export function sortParametersByRequired(a, b) {
102
+ function sortParametersByRequired(a, b) {
89
103
  let aRequired;
90
104
  let bRequired;
91
105
  switch (a.kind) {
@@ -136,6 +150,7 @@ export function sortClientParameters(params, type) {
136
150
  // returns the parameters for the internal request creator method.
137
151
  // e.g. "i int, s string"
138
152
  export function getCreateRequestParametersSig(method) {
153
+ // NOTE: keep in sync with getCreateRequestParameters
139
154
  const methodParams = getMethodParameters(method);
140
155
  const params = new Array();
141
156
  params.push("ctx context.Context");
@@ -150,6 +165,11 @@ export function getCreateRequestParametersSig(method) {
150
165
  }
151
166
  params.push(`${paramName} ${formatParameterTypeName(method.receiver.type.pkg, methodParam)}`);
152
167
  }
168
+ if ((method.kind === "lroPageableMethod" || method.kind === "pageableMethod") &&
169
+ method.strategy?.kind === "nextLink") {
170
+ // inject the nextLink param right before the options param
171
+ params.splice(-1, 0, "nextLink string");
172
+ }
153
173
  return params.join(", ");
154
174
  }
155
175
  /**
@@ -160,7 +180,7 @@ export function getCreateRequestParametersSig(method) {
160
180
  * @param optionsParam optional custom param name for the method options param
161
181
  * @returns the text for the parameters
162
182
  */
163
- export function getCreateRequestParameters(method, optionsParam) {
183
+ export function getCreateRequestParameters(method, nextLinkParam, optionsParam) {
164
184
  // NOTE: keep in sync with getCreateRequestParametersSig
165
185
  const methodParams = getMethodParameters(method);
166
186
  const params = new Array();
@@ -175,6 +195,10 @@ export function getCreateRequestParameters(method, optionsParam) {
175
195
  params.push(methodParam.name);
176
196
  }
177
197
  }
198
+ if (nextLinkParam) {
199
+ // inject the nextLink param right before the options param
200
+ params.splice(-1, 0, nextLinkParam);
201
+ }
178
202
  return params.join(", ");
179
203
  }
180
204
  // returns the complete collection of method parameters
@@ -253,6 +277,27 @@ export function getParamName(param) {
253
277
  }
254
278
  return paramName;
255
279
  }
280
+ export function fixUpMethodName(method) {
281
+ switch (method.kind) {
282
+ case "lroMethod":
283
+ case "lroPageableMethod":
284
+ return `Begin${method.name}`;
285
+ case "pageableMethod": {
286
+ let N = "N";
287
+ let name = method.name;
288
+ if (method.name[0] !== method.name[0].toUpperCase()) {
289
+ // the method isn't exported; don't export the pager ctor
290
+ N = "n";
291
+ // ensure correct casing of the emitted function name e.g.,
292
+ // "listThings" -> "newListThingsPager"
293
+ name = name[0].toUpperCase() + name.substring(1);
294
+ }
295
+ return `${N}ew${name}Pager`;
296
+ }
297
+ case "method":
298
+ return method.name;
299
+ }
300
+ }
256
301
  // converts the Go code model encoding type to the type name in the standard library
257
302
  export function formatBytesEncoding(enc) {
258
303
  if (enc === "URL") {
@@ -290,10 +335,14 @@ export function formatParamValue(param, imports, indent) {
290
335
  case "string":
291
336
  imports.add("strings");
292
337
  return `strings.Join(${paramName}, "${separator}")`;
293
- case "time":
338
+ case "time": {
294
339
  imports.add("strings");
295
340
  imports.add("github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/datetime");
296
- return emitConvertOver(param.name, `datetime.${param.type.elementType.format}(${param.name}[i]).String()`);
341
+ const elemVal = param.type.elementType.utc
342
+ ? `${param.name}[i].UTC()`
343
+ : `${param.name}[i]`;
344
+ return emitConvertOver(param.name, `datetime.${param.type.elementType.format}(${elemVal}).String()`);
345
+ }
297
346
  default:
298
347
  imports.add("fmt");
299
348
  imports.add("strings");
@@ -303,6 +352,15 @@ export function formatParamValue(param, imports, indent) {
303
352
  }
304
353
  return formatValue(paramName, param.type, imports);
305
354
  }
355
+ /**
356
+ * returns the receiver definition for a client
357
+ *
358
+ * @param receiver the receiver for which to emit the definition
359
+ * @returns the receiver definition
360
+ */
361
+ export function getClientReceiverDefinition(receiver) {
362
+ return `(${receiver.name} ${receiver.byValue ? "" : "*"}${receiver.type.name})`;
363
+ }
306
364
  export function getDelimiterForCollectionFormat(cf) {
307
365
  switch (cf) {
308
366
  case "csv":
@@ -317,6 +375,24 @@ export function getDelimiterForCollectionFormat(cf) {
317
375
  throw new CodegenError("InternalError", `unhandled CollectionFormat ${cf}`);
318
376
  }
319
377
  }
378
+ export function getMediaFormat(type, mediaType, param) {
379
+ let marshaller = mediaType;
380
+ let format = "";
381
+ if (type.kind === "encodedBytes") {
382
+ marshaller = "ByteArray";
383
+ format = `, runtime.Base64${type.encoding}Format`;
384
+ }
385
+ return `${marshaller}(${param}${format})`;
386
+ }
387
+ export function isMapOfDateTime(paramType) {
388
+ if (paramType.kind !== "map") {
389
+ return undefined;
390
+ }
391
+ if (paramType.valueType.kind !== "time") {
392
+ return undefined;
393
+ }
394
+ return { format: paramType.valueType.format, utc: paramType.valueType.utc };
395
+ }
320
396
  export function formatValue(paramName, type, imports, deref) {
321
397
  // callers don't have enough context to know if paramName needs to be
322
398
  // dereferenced so we track that here when specified. note that not all
@@ -366,9 +442,11 @@ export function formatValue(paramName, type, imports, deref) {
366
442
  default:
367
443
  throw new CodegenError("InternalError", `unhandled scalar type ${type.type}`);
368
444
  }
369
- case "time":
445
+ case "time": {
370
446
  imports.add("github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/datetime");
371
- return `datetime.${type.format}(${star}${paramName}).String()`;
447
+ const timeVal = type.utc ? `(${star}${paramName}).UTC()` : `${star}${paramName}`;
448
+ return `datetime.${type.format}(${timeVal}).String()`;
449
+ }
372
450
  default:
373
451
  return `${star}${paramName}`;
374
452
  }
@@ -418,18 +496,6 @@ export function formatLiteralValue(value, withCast) {
418
496
  return `"${value.literal}"`;
419
497
  }
420
498
  }
421
- // returns true if at least one of the responses has a schema
422
- export function hasSchemaResponse(method) {
423
- switch (method.returns.result?.kind) {
424
- case "anyResult":
425
- case "modelResult":
426
- case "monomorphicResult":
427
- case "polymorphicResult":
428
- return true;
429
- default:
430
- return false;
431
- }
432
- }
433
499
  // returns the name of the response field within the response envelope
434
500
  export function getResultFieldName(method) {
435
501
  const result = method.returns.result;
@@ -612,6 +678,80 @@ export function formatCommentAsBulletItem(prefix, docs) {
612
678
  }
613
679
  return chunks.join("\n");
614
680
  }
681
+ // renders a single list item per the Go doc convention, word-wrapping the text
682
+ // and aligning continuation lines beneath it:
683
+ //
684
+ // // - bullet item text that is wrapped
685
+ // // onto aligned continuation lines
686
+ // // 1. numbered item text
687
+ function formatDocListItem(item, prefix) {
688
+ const firstLead = item.kind === "bullet" ? `${prefix} - ` : `${prefix} ${item.marker} `;
689
+ const contLead = prefix + " ".repeat(firstLead.length - prefix.length);
690
+ // comment() emits `${prefix} word...` lines; swap that lead for the list lead
691
+ // so wrapping and its width stay consistent with the rest of the comments.
692
+ const wrapped = comment(item.text, prefix, undefined, commentLength).split("\n");
693
+ return wrapped
694
+ .map((chunk, i) => `${i === 0 ? firstLead : contLead}${chunk.slice(prefix.length + 1)}`)
695
+ .join("\n");
696
+ }
697
+ // reports whether text has a non-blank line that isn't a list item, i.e. a line
698
+ // go/doc/comment will see with zero indentation.
699
+ function hasProseLine(text) {
700
+ return text
701
+ .split("\n")
702
+ .some((line) => line.trim() !== "" && go.matchDocListItem(line) === undefined);
703
+ }
704
+ // renders doc text as Go doc comment lines, formatting bullet/numbered lists per
705
+ // the Go doc convention. Blank source lines aren't preserved (matching comment());
706
+ // blank comment lines are added only where Go needs them to delimit a list. Nested
707
+ // lists aren't supported: Go has no concept of them and gofmt flattens sub-items.
708
+ //
709
+ // go/doc/comment strips the common leading whitespace of every non-blank line
710
+ // before looking for lists, so a comment of nothing but list items loses its
711
+ // indentation and degrades into a paragraph that gofmt then rewrites. One prose
712
+ // line anywhere keeps the list intact, wherever the list sits. Lists are therefore
713
+ // only rendered when prose exists -- in text, or already emitted by the caller
714
+ // (hasPrecedingProse, e.g. a summary or a "Name -" lead-in). Otherwise the text
715
+ // falls back to plain wrapped prose, which is what gofmt produces.
716
+ function renderDocBody(text, prefix = "//", hasPrecedingProse = false) {
717
+ const out = new Array();
718
+ // whether a list is being accumulated; a blank source line ends it, yielding a
719
+ // "loose" list. afterList outlives blank lines, since prose following a list
720
+ // always needs a blank comment line to end that list.
721
+ let inList = false;
722
+ let afterList = false;
723
+ const renderLists = hasPrecedingProse || hasProseLine(text);
724
+ const lastIsBlank = () => out.length === 0 || out[out.length - 1] === prefix;
725
+ for (const raw of text.split("\n")) {
726
+ const line = raw.replace(/\s+$/, "");
727
+ if (line.trim() === "") {
728
+ inList = false;
729
+ continue;
730
+ }
731
+ const item = renderLists ? go.matchDocListItem(line) : undefined;
732
+ if (item) {
733
+ // a list must be separated from preceding prose to be recognized.
734
+ if (!inList && !lastIsBlank()) {
735
+ out.push(prefix);
736
+ }
737
+ out.push(formatDocListItem(item, prefix));
738
+ inList = true;
739
+ afterList = true;
740
+ continue;
741
+ }
742
+ if (afterList && !lastIsBlank()) {
743
+ out.push(prefix);
744
+ }
745
+ inList = false;
746
+ afterList = false;
747
+ out.push(comment(line.trim(), prefix, undefined, commentLength));
748
+ }
749
+ // drop any trailing blank comment lines.
750
+ while (out.length > 0 && out[out.length - 1] === prefix) {
751
+ out.pop();
752
+ }
753
+ return out.join("\n");
754
+ }
615
755
  // conditionally returns a doc comment on an entity that requires a prefix.
616
756
  // e.g.:
617
757
  // {Prefix} - {docs.summary}
@@ -631,10 +771,10 @@ export function formatDocCommentWithPrefix(prefix, docs) {
631
771
  docComment += "//\n";
632
772
  }
633
773
  else {
634
- // only apply the prefix to the description if there was no summary
635
- description = `${prefix} - ${description}`;
774
+ // only apply the prefix to the description if there was no summary.
775
+ description = go.prefixDocWithName(prefix, description);
636
776
  }
637
- docComment += `${comment(`${description}`, "//", undefined, commentLength)}\n`;
777
+ docComment += `${renderDocBody(description, "//", true)}\n`;
638
778
  }
639
779
  return docComment;
640
780
  }
@@ -654,7 +794,7 @@ export function formatDocComment(docs) {
654
794
  if (docs.summary) {
655
795
  docComment += "//\n";
656
796
  }
657
- docComment += `${comment(docs.description, "//", undefined, commentLength)}\n`;
797
+ docComment += `${renderDocBody(docs.description, "//", !!docs.summary)}\n`;
658
798
  }
659
799
  return docComment;
660
800
  }
@@ -1139,7 +1279,7 @@ export function camelCase(identifier) {
1139
1279
  }
1140
1280
  return `${naming.uncapitalize(identifier[0])}${pascalCase(identifier.slice(1))}`;
1141
1281
  }
1142
- export function pascalCase(identifier) {
1282
+ function pascalCase(identifier) {
1143
1283
  return identifier === undefined
1144
1284
  ? ""
1145
1285
  : typeof identifier === "string"
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/codegen/core/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/codegen/core/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export { generateClientFactory } from "./client-factory.js";
2
+ export { generateCloudConfig } from "./cloud-config.js";
3
+ export { generateConstants } from "./constants.js";
4
+ export { generateExamples } from "./example.js";
5
+ export { generateGoModFile } from "./gomod.js";
6
+ export { setCustomHeaderText } from "./helpers.js";
7
+ export { generateInterfaces } from "./interfaces.js";
8
+ export { generateLicenseTxt } from "./license.js";
9
+ export { generateMetadataFile } from "./metadata.js";
10
+ export { generateModels } from "./models.js";
11
+ export { generateOperations } from "./operations.js";
12
+ export { generateOptions } from "./options.js";
13
+ export { generatePolymorphicHelpers } from "./polymorphics.js";
14
+ export { generateResponses } from "./responses.js";
15
+ export { generateVersionInfo } from "./version.js";
16
+ export { generateXMLAdditionalPropsHelpers } from "./xml-additional-props.js";
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/codegen/core/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,21 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ export { generateClientFactory } from "./client-factory.js";
6
+ export { generateCloudConfig } from "./cloud-config.js";
7
+ export { generateConstants } from "./constants.js";
8
+ export { generateExamples } from "./example.js";
9
+ export { generateGoModFile } from "./gomod.js";
10
+ export { setCustomHeaderText } from "./helpers.js";
11
+ export { generateInterfaces } from "./interfaces.js";
12
+ export { generateLicenseTxt } from "./license.js";
13
+ export { generateMetadataFile } from "./metadata.js";
14
+ export { generateModels } from "./models.js";
15
+ export { generateOperations } from "./operations.js";
16
+ export { generateOptions } from "./options.js";
17
+ export { generatePolymorphicHelpers } from "./polymorphics.js";
18
+ export { generateResponses } from "./responses.js";
19
+ export { generateVersionInfo } from "./version.js";
20
+ export { generateXMLAdditionalPropsHelpers } from "./xml-additional-props.js";
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/core/index.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Licensed under the MIT License. See License.txt in the project root for license information.
4
4
  *--------------------------------------------------------------------------------------------*/
5
+ import * as go from "../../codemodel/index.js";
5
6
  import * as helpers from "./helpers.js";
6
7
  /**
7
8
  * Creates the content for the interfaces.go file.
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/codegen/core/interfaces.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAGhG,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAsB;IACvD,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,uBAAuB;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAExC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,IAAI,MAAM,KAAK,CAAC,IAAI,kDAAkD,CAAC;QAC3E,IAAI,IAAI,2BAA2B,UAAU,wCAAwC,CAAC;QACtF,IAAI,IAAI,iFAAiF,CAAC;QAC1F,MAAM,iBAAiB,GAAG,IAAI,KAAK,EAAU,CAAC;QAC9C,iBAAiB,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,KAAK,MAAM,YAAY,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YAC/C,iBAAiB,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QAC/D,IAAI,IAAI,UAAU,KAAK,CAAC,IAAI,gBAAgB,CAAC;QAC7C,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;QAClD,CAAC;QACD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,MAAM,UAAU,gBAAgB,KAAK,CAAC,QAAQ,CAAC,IAAI,oCAAoC,CAAC;QAC/G,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,UAAU,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;QACnE,IAAI,IAAI,OAAO,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/codegen/core/interfaces.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAsB;IACvD,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,uBAAuB;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAExC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,IAAI,MAAM,KAAK,CAAC,IAAI,kDAAkD,CAAC;QAC3E,IAAI,IAAI,2BAA2B,UAAU,wCAAwC,CAAC;QACtF,IAAI,IAAI,iFAAiF,CAAC;QAC1F,MAAM,iBAAiB,GAAG,IAAI,KAAK,EAAU,CAAC;QAC9C,iBAAiB,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,KAAK,MAAM,YAAY,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YAC/C,iBAAiB,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QAC/D,IAAI,IAAI,UAAU,KAAK,CAAC,IAAI,gBAAgB,CAAC;QAC7C,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;QAClD,CAAC;QACD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,MAAM,UAAU,gBAAgB,KAAK,CAAC,QAAQ,CAAC,IAAI,oCAAoC,CAAC;QAC/G,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,UAAU,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;QACnE,IAAI,IAAI,OAAO,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Licensed under the MIT License. See License.txt in the project root for license information.
4
4
  *--------------------------------------------------------------------------------------------*/
5
+ import * as go from "../../codemodel/index.js";
5
6
  /**
6
7
  * returns the content for the LICENSE.txt file.
7
8
  * NOTE: this is only required when emitting a module.
@@ -1 +1 @@
1
- {"version":3,"file":"license.js","sourceRoot":"","sources":["../../../../src/codegen/core/license.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAIhG;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAmB;IACpD,OAAO,OAAO,CAAC,WAAW,IAAI,iBAAiB,CAAC;AAClD,CAAC;AAED,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBzB,CAAC"}
1
+ {"version":3,"file":"license.js","sourceRoot":"","sources":["../../../../src/codegen/core/license.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAmB;IACpD,OAAO,OAAO,CAAC,WAAW,IAAI,iBAAiB,CAAC;AAClD,CAAC;AAED,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBzB,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Licensed under the MIT License. See License.txt in the project root for license information.
4
4
  *--------------------------------------------------------------------------------------------*/
5
+ import * as go from "../../codemodel/index.js";
5
6
  // Creates the content in _metadata.json
6
7
  export function generateMetadataFile(codeModel) {
7
8
  // Return the formatted JSON string
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../src/codegen/core/metadata.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAIhG,wCAAwC;AACxC,MAAM,UAAU,oBAAoB,CAAC,SAAuB;IAC1D,mCAAmC;IACnC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../src/codegen/core/metadata.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAE/C,wCAAwC;AACxC,MAAM,UAAU,oBAAoB,CAAC,SAAuB;IAC1D,mCAAmC;IACnC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAC5D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../src/codegen/core/models.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAI/C,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,EAAE,CAAC,cAAc,EACtB,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,OAAO,EAAE,SAAS,GAAG,KAAK,GACzB,WAAW,CAyMb"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../src/codegen/core/models.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAI/C,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,EAAE,CAAC,cAAc,EACtB,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,OAAO,EAAE,SAAS,GAAG,KAAK,GACzB,WAAW,CA6Mb"}