@azure-tools/typespec-go 0.5.1 → 0.6.0

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 (71) hide show
  1. package/dist/codegen.go/src/example.js +75 -75
  2. package/dist/codegen.go/src/example.js.map +1 -1
  3. package/dist/codegen.go/src/fake/factory.d.ts.map +1 -1
  4. package/dist/codegen.go/src/fake/factory.js +29 -24
  5. package/dist/codegen.go/src/fake/factory.js.map +1 -1
  6. package/dist/codegen.go/src/fake/servers.js +106 -98
  7. package/dist/codegen.go/src/fake/servers.js.map +1 -1
  8. package/dist/codegen.go/src/helpers.d.ts +57 -4
  9. package/dist/codegen.go/src/helpers.d.ts.map +1 -1
  10. package/dist/codegen.go/src/helpers.js +200 -128
  11. package/dist/codegen.go/src/helpers.js.map +1 -1
  12. package/dist/codegen.go/src/imports.d.ts +1 -1
  13. package/dist/codegen.go/src/imports.d.ts.map +1 -1
  14. package/dist/codegen.go/src/imports.js +13 -12
  15. package/dist/codegen.go/src/imports.js.map +1 -1
  16. package/dist/codegen.go/src/interfaces.js +2 -2
  17. package/dist/codegen.go/src/interfaces.js.map +1 -1
  18. package/dist/codegen.go/src/models.d.ts.map +1 -1
  19. package/dist/codegen.go/src/models.js +81 -81
  20. package/dist/codegen.go/src/models.js.map +1 -1
  21. package/dist/codegen.go/src/operations.d.ts.map +1 -1
  22. package/dist/codegen.go/src/operations.js +100 -113
  23. package/dist/codegen.go/src/operations.js.map +1 -1
  24. package/dist/codegen.go/src/options.js +2 -2
  25. package/dist/codegen.go/src/options.js.map +1 -1
  26. package/dist/codegen.go/src/polymorphics.d.ts.map +1 -1
  27. package/dist/codegen.go/src/polymorphics.js +29 -24
  28. package/dist/codegen.go/src/polymorphics.js.map +1 -1
  29. package/dist/codegen.go/src/responses.js +2 -2
  30. package/dist/codegen.go/src/responses.js.map +1 -1
  31. package/dist/codegen.go/src/time.js +13 -14
  32. package/dist/codegen.go/src/time.js.map +1 -1
  33. package/dist/codegen.go/src/xmlAdditionalProps.js +1 -2
  34. package/dist/codegen.go/src/xmlAdditionalProps.js.map +1 -1
  35. package/dist/codemodel.go/src/examples.d.ts +20 -20
  36. package/dist/codemodel.go/src/examples.d.ts.map +1 -1
  37. package/dist/codemodel.go/src/examples.js +2 -2
  38. package/dist/codemodel.go/src/examples.js.map +1 -1
  39. package/dist/codemodel.go/src/package.d.ts +4 -4
  40. package/dist/codemodel.go/src/package.d.ts.map +1 -1
  41. package/dist/codemodel.go/src/package.js +3 -3
  42. package/dist/codemodel.go/src/package.js.map +1 -1
  43. package/dist/codemodel.go/src/param.d.ts +32 -24
  44. package/dist/codemodel.go/src/param.d.ts.map +1 -1
  45. package/dist/codemodel.go/src/param.js +54 -1
  46. package/dist/codemodel.go/src/param.js.map +1 -1
  47. package/dist/codemodel.go/src/result.d.ts +12 -10
  48. package/dist/codemodel.go/src/result.d.ts.map +1 -1
  49. package/dist/codemodel.go/src/result.js +21 -4
  50. package/dist/codemodel.go/src/result.js.map +1 -1
  51. package/dist/codemodel.go/src/type.d.ts +219 -86
  52. package/dist/codemodel.go/src/type.d.ts.map +1 -1
  53. package/dist/codemodel.go/src/type.js +137 -127
  54. package/dist/codemodel.go/src/type.js.map +1 -1
  55. package/dist/typespec-go/src/emitter.d.ts.map +1 -1
  56. package/dist/typespec-go/src/emitter.js +80 -0
  57. package/dist/typespec-go/src/emitter.js.map +1 -1
  58. package/dist/typespec-go/src/lib.d.ts +1 -0
  59. package/dist/typespec-go/src/lib.d.ts.map +1 -1
  60. package/dist/typespec-go/src/lib.js +5 -0
  61. package/dist/typespec-go/src/lib.js.map +1 -1
  62. package/dist/typespec-go/src/tcgcadapter/adapter.js +5 -0
  63. package/dist/typespec-go/src/tcgcadapter/adapter.js.map +1 -1
  64. package/dist/typespec-go/src/tcgcadapter/clients.d.ts.map +1 -1
  65. package/dist/typespec-go/src/tcgcadapter/clients.js +71 -58
  66. package/dist/typespec-go/src/tcgcadapter/clients.js.map +1 -1
  67. package/dist/typespec-go/src/tcgcadapter/types.d.ts +3 -3
  68. package/dist/typespec-go/src/tcgcadapter/types.d.ts.map +1 -1
  69. package/dist/typespec-go/src/tcgcadapter/types.js +47 -46
  70. package/dist/typespec-go/src/tcgcadapter/types.js.map +1 -1
  71. package/package.json +5 -5
@@ -158,7 +158,7 @@ export async function generateExamples(codeModel) {
158
158
  if (method.kind === 'lroPageableMethod') {
159
159
  resultName = 'res';
160
160
  }
161
- const itemType = method.responseEnvelope.result.modelType.fields.find(f => go.isSliceType(f.type));
161
+ const itemType = method.responseEnvelope.result.modelType.fields.find(f => f.type.kind === 'slice');
162
162
  exampleText += `\tfor ${resultName}.More() {\n`;
163
163
  exampleText += `\t\tpage, err := ${resultName}.NextPage(ctx)\n`;
164
164
  exampleText += `\t\tif err != nil {\n`;
@@ -209,33 +209,35 @@ export async function generateExamples(codeModel) {
209
209
  function getExampleValue(codeModel, example, indent, imports, byValue = false, inArray = false) {
210
210
  if (example.kind === 'string') {
211
211
  let exampleText = `"${escapeString(example.value)}"`;
212
- if (go.isConstantType(example.type)) {
212
+ if (example.type.kind === 'constant') {
213
213
  exampleText = getConstantValue(codeModel, example.type, example.value);
214
214
  }
215
- else if (go.isTimeType(example.type)) {
215
+ else if (example.type.kind === 'time') {
216
216
  exampleText = getTimeValue(example.type, example.value, imports);
217
217
  }
218
- else if (go.isBytesType(example.type)) {
218
+ else if (example.type.kind === 'encodedBytes') {
219
219
  exampleText = `[]byte("${escapeString(example.value)}")`;
220
220
  }
221
- else if (go.isLiteralValue(example.type) && go.isConstantType(example.type.type)) {
221
+ else if (example.type.kind === 'literal' && example.type.type.kind === 'constant') {
222
222
  exampleText = getConstantValue(codeModel, example.type.type, example.type.literal.value);
223
223
  }
224
224
  return `${indent}${getPointerValue(example.type, exampleText, byValue, imports)}`;
225
225
  }
226
226
  else if (example.kind === 'number') {
227
227
  let exampleText = `${example.value}`;
228
- if (go.isConstantType(example.type)) {
229
- exampleText = `${indent}${getConstantValue(codeModel, example.type, example.value)}`;
230
- }
231
- else if (go.isTimeType(example.type)) {
232
- exampleText = getTimeValue(example.type, example.value, imports);
228
+ switch (example.type.kind) {
229
+ case 'constant':
230
+ exampleText = `${indent}${getConstantValue(codeModel, example.type, example.value)}`;
231
+ break;
232
+ case 'time':
233
+ exampleText = getTimeValue(example.type, example.value, imports);
234
+ break;
233
235
  }
234
236
  return `${indent}${getPointerValue(example.type, exampleText, byValue, imports)}`;
235
237
  }
236
238
  else if (example.kind === 'boolean') {
237
239
  let exampleText = `${example.value}`;
238
- if (go.isConstantType(example.type)) {
240
+ if (example.type.kind === 'constant') {
239
241
  exampleText = `${indent}${getConstantValue(codeModel, example.type, example.value)}`;
240
242
  }
241
243
  return `${indent}${getPointerValue(example.type, exampleText, byValue, imports)}`;
@@ -250,7 +252,7 @@ function getExampleValue(codeModel, example, indent, imports, byValue = false, i
250
252
  const isElementByValue = example.type.elementTypeByValue;
251
253
  // if polymorphic, need to add type name in array, so inArray will be set to false
252
254
  // if other case, no need to add type name in array, so inArray will be set to true
253
- const isElementPolymorphic = go.isInterfaceType(example.type.elementType);
255
+ const isElementPolymorphic = example.type.elementType.kind === 'interface';
254
256
  let exampleText = `${indent}${getRef(byValue)}${go.getTypeDeclaration(example.type, codeModel.packageName)}{\n`;
255
257
  for (const element of example.value) {
256
258
  exampleText += `${getExampleValue(codeModel, element, indent + '\t', imports, isElementByValue && !isElementPolymorphic, !isElementPolymorphic)},\n`;
@@ -261,7 +263,7 @@ function getExampleValue(codeModel, example, indent, imports, byValue = false, i
261
263
  else if (example.kind === 'dictionary') {
262
264
  let exampleText = `${indent}${getRef(byValue)}${go.getTypeDeclaration(example.type, codeModel.packageName)}{\n`;
263
265
  const isValueByValue = example.type.valueTypeByValue;
264
- const isValuePolymorphic = go.isInterfaceType(example.type.valueType);
266
+ const isValuePolymorphic = example.type.valueType.kind === 'interface';
265
267
  for (const key in example.value) {
266
268
  exampleText += `${indent}\t"${key}": ${getExampleValue(codeModel, example.value[key], indent + '\t', imports, isValueByValue && !isValuePolymorphic).slice(indent.length + 1)},\n`;
267
269
  }
@@ -276,16 +278,16 @@ function getExampleValue(codeModel, example, indent, imports, byValue = false, i
276
278
  for (const field in example.value) {
277
279
  const goField = example.type.fields.find(f => f.name === field);
278
280
  const isFieldByValue = goField.byValue ?? false;
279
- const isFieldPolymorphic = go.isInterfaceType(goField.type);
281
+ const isFieldPolymorphic = goField.type.kind === 'interface';
280
282
  exampleText += `${indent}\t${field}: ${getExampleValue(codeModel, example.value[field], indent + '\t', imports, isFieldByValue && !isFieldPolymorphic).slice(indent.length + 1)},\n`;
281
283
  }
282
284
  if (example.additionalProperties) {
283
285
  const additionalPropertiesField = example.type.fields.find(f => f.annotations.isAdditionalProperties);
284
- if (!go.isMapType(additionalPropertiesField.type)) {
286
+ if (additionalPropertiesField.type.kind !== 'map') {
285
287
  throw new CodegenError('InternalError', `additional properties field type should be map type`);
286
288
  }
287
289
  const isAdditionalPropertiesFieldByValue = additionalPropertiesField.type.valueTypeByValue ?? false;
288
- const isAdditionalPropertiesPolymorphic = go.isInterfaceType(additionalPropertiesField.type);
290
+ const isAdditionalPropertiesPolymorphic = additionalPropertiesField.type.valueType.kind === 'interface';
289
291
  exampleText += `${indent}\t${additionalPropertiesField.name}: ${getRef(additionalPropertiesField.byValue)}${go.getTypeDeclaration(additionalPropertiesField.type, codeModel.packageName)}{\n`;
290
292
  for (const key in example.additionalProperties) {
291
293
  exampleText += `${indent}\t"${key}": ${getExampleValue(codeModel, example.additionalProperties[key], indent + '\t', imports, isAdditionalPropertiesFieldByValue && !isAdditionalPropertiesPolymorphic).slice(indent.length + 1)},\n`;
@@ -331,20 +333,20 @@ function getConstantValue(codeModel, type, value) {
331
333
  }
332
334
  }
333
335
  function getTimeValue(type, value, imports) {
334
- if (type.dateTimeFormat === 'dateType' || type.dateTimeFormat === 'timeRFC3339') {
336
+ if (type.format === 'dateType' || type.format === 'timeRFC3339') {
335
337
  if (imports)
336
338
  imports.add('time');
337
339
  let format = helpers.dateFormat;
338
- if (type.dateTimeFormat === 'timeRFC3339') {
340
+ if (type.format === 'timeRFC3339') {
339
341
  format = helpers.timeRFC3339Format;
340
342
  }
341
343
  return `func() time.Time { t, _ := time.Parse("${format}", "${value}"); return t}()`;
342
344
  }
343
- else if (type.dateTimeFormat === 'dateTimeRFC1123' || type.dateTimeFormat === 'dateTimeRFC3339') {
345
+ else if (type.format === 'dateTimeRFC1123' || type.format === 'dateTimeRFC3339') {
344
346
  if (imports)
345
347
  imports.add('time');
346
348
  let format = helpers.datetimeRFC3339Format;
347
- if (type.dateTimeFormat === 'dateTimeRFC1123') {
349
+ if (type.format === 'dateTimeRFC1123') {
348
350
  format = helpers.datetimeRFC1123Format;
349
351
  }
350
352
  return `func() time.Time { t, _ := time.Parse(${format}, "${value}"); return t}()`;
@@ -361,35 +363,32 @@ function getPointerValue(type, valueString, byValue, imports) {
361
363
  if (byValue) {
362
364
  return valueString;
363
365
  }
364
- if (go.isPrimitiveType(type)) {
365
- let prtType = '';
366
- switch (type.typeName) {
367
- case 'any':
368
- case `bool`:
369
- case `byte`:
370
- case `rune`:
371
- case `string`:
372
- prtType = 'Ptr';
373
- break;
374
- default:
375
- prtType = `Ptr[${type.typeName}]`;
366
+ switch (type.kind) {
367
+ case 'any':
368
+ case 'constant':
369
+ case 'literal':
370
+ case 'string':
371
+ case 'time':
372
+ if (imports)
373
+ imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/to');
374
+ return `to.Ptr(${valueString})`;
375
+ case 'scalar': {
376
+ let prtType = '';
377
+ switch (type.type) {
378
+ case `bool`:
379
+ case `byte`:
380
+ case `rune`:
381
+ prtType = 'Ptr';
382
+ break;
383
+ default:
384
+ prtType = `Ptr[${type.type}]`;
385
+ }
386
+ if (imports)
387
+ imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/to');
388
+ return `to.${prtType}(${valueString})`;
376
389
  }
377
- if (imports)
378
- imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/to');
379
- return `to.${prtType}(${valueString})`;
380
- }
381
- else if (go.isConstantType(type) || go.isTimeType(type)) {
382
- if (imports)
383
- imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/to');
384
- return `to.Ptr(${valueString})`;
385
- }
386
- else if (go.isLiteralValue(type)) {
387
- if (imports)
388
- imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/to');
389
- return `to.Ptr(${valueString})`;
390
- }
391
- else {
392
- return `&${valueString}`;
390
+ default:
391
+ return `&${valueString}`;
393
392
  }
394
393
  }
395
394
  function jsonToGo(value, indent) {
@@ -429,34 +428,35 @@ function jsonToGo(value, indent) {
429
428
  return '';
430
429
  }
431
430
  function generateFakeExample(goType, name) {
432
- if (go.isPrimitiveType(goType)) {
433
- switch (goType.typeName) {
434
- case 'any':
435
- return new go.NullExample(goType);
436
- case 'bool':
437
- return new go.BooleanExample(false, goType);
438
- case 'byte':
439
- case 'string':
440
- case 'rune':
441
- return new go.StringExample(`<${name ?? 'test'}>`, goType);
442
- default:
443
- return new go.NumberExample(0, goType);
444
- }
445
- }
446
- else if (go.isLiteralValue(goType)) {
447
- return new go.StringExample(goType.literal, goType);
448
- }
449
- else if (go.isConstantType(goType)) {
450
- switch (goType.type) {
451
- case 'bool':
452
- return new go.BooleanExample(goType.values[0].value, goType);
453
- case 'string':
454
- return new go.StringExample(goType.values[0].value, goType);
455
- default:
456
- return new go.NumberExample(goType.values[0].value, goType);
457
- }
431
+ switch (goType.kind) {
432
+ case 'any':
433
+ return new go.NullExample(goType);
434
+ case 'constant':
435
+ switch (goType.type) {
436
+ case 'bool':
437
+ return new go.BooleanExample(goType.values[0].value, goType);
438
+ case 'string':
439
+ return new go.StringExample(goType.values[0].value, goType);
440
+ default:
441
+ return new go.NumberExample(goType.values[0].value, goType);
442
+ }
443
+ case 'literal':
444
+ return new go.StringExample(goType.literal, goType);
445
+ case 'scalar':
446
+ switch (goType.type) {
447
+ case 'bool':
448
+ return new go.BooleanExample(false, goType);
449
+ case 'byte':
450
+ case 'rune':
451
+ return new go.StringExample(`<${name ?? 'test'}>`, goType);
452
+ default:
453
+ return new go.NumberExample(0, goType);
454
+ }
455
+ case 'string':
456
+ return new go.StringExample(`<${name ?? 'test'}>`, goType);
457
+ default:
458
+ throw new CodegenError('InternalError', `unhandled fake example kind ${goType.kind}`);
458
459
  }
459
- throw new CodegenError('InternalError', `fake example does not support non primitive type: ${go.getTypeDeclaration(goType)}`);
460
460
  }
461
461
  function escapeString(str) {
462
462
  return str.split('\\').join('\\\\').split('"').join('\\"').replace(/\n/g, '\\n').replace(/\r/g, '\\r');
@@ -1 +1 @@
1
- {"version":3,"file":"example.js","sourceRoot":"","sources":["../../../../codegen.go/src/example.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"example.js","sourceRoot":"","sources":["../../../../codegen.go/src/example.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/fake/factory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAKzD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,GAAG,MAAM,CAmErE"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/fake/factory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAKzD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,GAAG,MAAM,CAwErE"}
@@ -3,7 +3,7 @@
3
3
  * Licensed under the MIT License. See License.txt in the project root for license information.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import { getServerName } from './servers.js';
6
- import { contentPreamble } from '../helpers.js';
6
+ import * as helpers from '../helpers.js';
7
7
  import { ImportManager } from '../imports.js';
8
8
  export function generateServerFactory(codeModel) {
9
9
  // generate server factory only for ARM
@@ -11,59 +11,64 @@ export function generateServerFactory(codeModel) {
11
11
  return '';
12
12
  }
13
13
  const imports = new ImportManager();
14
+ const indent = new helpers.indentation();
14
15
  imports.add('errors');
15
16
  imports.add('fmt');
16
17
  imports.add('net/http');
17
18
  imports.add('strings');
18
19
  imports.add('sync');
19
20
  imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime');
20
- let text = contentPreamble(codeModel, 'fake');
21
+ let text = helpers.contentPreamble(codeModel, 'fake');
21
22
  text += imports.text();
22
23
  text += `// ServerFactory is a fake server for instances of the ${codeModel.packageName}.ClientFactory type.\n`;
23
24
  text += 'type ServerFactory struct {\n';
24
25
  for (const client of codeModel.clients) {
25
26
  const serverName = getServerName(client);
26
- text += `\t// ${serverName} contains the fakes for client ${client.name}\n`;
27
- text += `\t${serverName} ${serverName}\n\n`;
27
+ text += `${indent.get()}// ${serverName} contains the fakes for client ${client.name}\n`;
28
+ text += `${indent.get()}${serverName} ${serverName}\n\n`;
28
29
  }
29
30
  text += '}\n\n';
30
31
  text += '// NewServerFactoryTransport creates a new instance of ServerFactoryTransport with the provided implementation.\n';
31
32
  text += `// The returned ServerFactoryTransport instance is connected to an instance of ${codeModel.packageName}.ClientFactory via the\n`;
32
33
  text += '// azcore.ClientOptions.Transporter field in the client\'s constructor parameters.\n';
33
34
  text += 'func NewServerFactoryTransport(srv *ServerFactory) *ServerFactoryTransport {\n';
34
- text += '\treturn &ServerFactoryTransport{\n\t\tsrv: srv,\n\t}\n}\n\n';
35
+ text += `${indent.get()}return &ServerFactoryTransport{\n${indent.push().get()}srv: srv,\n${indent.pop().get()}}\n}\n\n`;
35
36
  text += `// ServerFactoryTransport connects instances of ${codeModel.packageName}.ClientFactory to instances of ServerFactory.\n`;
36
37
  text += '// Don\'t use this type directly, use NewServerFactoryTransport instead.\n';
37
38
  text += 'type ServerFactoryTransport struct {\n';
38
- text += '\tsrv *ServerFactory\n';
39
- text += '\ttrMu sync.Mutex\n';
39
+ text += `${indent.get()}srv *ServerFactory\n`;
40
+ text += `${indent.get()}trMu sync.Mutex\n`;
40
41
  for (const client of codeModel.clients) {
41
42
  const serverName = getServerName(client);
42
- text += `\ttr${serverName} *${serverName}Transport\n`;
43
+ text += `${indent.get()}tr${serverName} *${serverName}Transport\n`;
43
44
  }
44
45
  text += '}\n\n';
45
46
  text += '// Do implements the policy.Transporter interface for ServerFactoryTransport.\n';
46
47
  text += 'func (s *ServerFactoryTransport) Do(req *http.Request) (*http.Response, error) {\n';
47
- text += '\trawMethod := req.Context().Value(runtime.CtxAPINameKey{})\n';
48
- text += '\tmethod, ok := rawMethod.(string)\n';
49
- text += '\tif !ok {\n\t\treturn nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")}\n\t}\n\n';
50
- text += '\tclient := method[:strings.Index(method, ".")]\n';
51
- text += '\tvar resp *http.Response\n\tvar err error\n\n';
52
- text += '\tswitch client {\n';
48
+ text += `${indent.get()}rawMethod := req.Context().Value(runtime.CtxAPINameKey{})\n`;
49
+ text += `${indent.get()}method, ok := rawMethod.(string)\n`;
50
+ text += `${indent.get()}if !ok {\n${indent.push().get()}return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")}\n${indent.pop().get()}}\n\n`;
51
+ text += `${indent.get()}client := method[:strings.Index(method, ".")]\n`;
52
+ text += `${indent.get()}var resp *http.Response\n${indent.get()}var err error\n\n`;
53
+ text += `${indent.get()}switch client {\n`;
53
54
  for (const client of codeModel.clients) {
54
- text += `\tcase "${client.name}":\n`;
55
+ text += `${indent.get()}case "${client.name}":\n`;
55
56
  const serverName = getServerName(client);
56
- text += `\t\tinitServer(s, &s.tr${serverName}, func() *${serverName}Transport { return New${serverName}Transport(&s.srv.${serverName}) })\n`;
57
- text += `\t\tresp, err = s.tr${serverName}.Do(req)\n`;
57
+ text += `${indent.push().get()}initServer(s, &s.tr${serverName}, func() *${serverName}Transport { return New${serverName}Transport(&s.srv.${serverName}) })\n`;
58
+ text += `${indent.get()}resp, err = s.tr${serverName}.Do(req)\n`;
59
+ indent.pop();
58
60
  }
59
- text += '\tdefault:\n\t\terr = fmt.Errorf("unhandled client %s", client)\n';
60
- text += '\t}\n\n';
61
- text += '\tif err != nil {\n\t\treturn nil, err\n\t}\n\n';
62
- text += '\treturn resp, nil\n}\n\n';
61
+ text += `${indent.get()}default:\n${indent.push().get()}err = fmt.Errorf("unhandled client %s", client)\n`;
62
+ text += `${indent.pop().get()}}\n\n`;
63
+ text += `${indent.get()}${helpers.buildErrCheck(indent, 'err', 'nil, err')}\n\n`;
64
+ text += `${indent.get()}return resp, nil\n}\n\n`;
63
65
  text += 'func initServer[T any](s *ServerFactoryTransport, dst **T, src func() *T) {\n';
64
- text += '\ts.trMu.Lock()\n';
65
- text += '\tif *dst == nil {\n\t\t*dst = src()\n\t}\n';
66
- text += '\ts.trMu.Unlock()\n}\n';
66
+ text += `${indent.get()}s.trMu.Lock()\n`;
67
+ text += `${indent.get()}${helpers.buildIfBlock(indent, {
68
+ condition: '*dst == nil',
69
+ body: (indent) => `${indent.get()}*dst = src()\n`,
70
+ })}\n`;
71
+ text += `${indent.get()}s.trMu.Unlock()\n}\n`;
67
72
  return text;
68
73
  }
69
74
  //# sourceMappingURL=factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../codegen.go/src/fake/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../codegen.go/src/fake/factory.ts"],"names":[],"mappings":"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"}