@azure-tools/typespec-ts 0.28.0 → 0.29.0-alpha.20240531.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 (94) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/src/index.d.ts +2 -0
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +24 -18
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/lib.d.ts +14 -4
  7. package/dist/src/lib.d.ts.map +1 -1
  8. package/dist/src/lib.js +9 -2
  9. package/dist/src/lib.js.map +1 -1
  10. package/dist/src/modular/buildClassicalClient.d.ts.map +1 -1
  11. package/dist/src/modular/buildClassicalClient.js +2 -0
  12. package/dist/src/modular/buildClassicalClient.js.map +1 -1
  13. package/dist/src/modular/buildClassicalOperationGroups.d.ts.map +1 -1
  14. package/dist/src/modular/buildClassicalOperationGroups.js +3 -0
  15. package/dist/src/modular/buildClassicalOperationGroups.js.map +1 -1
  16. package/dist/src/modular/buildCodeModel.d.ts.map +1 -1
  17. package/dist/src/modular/buildCodeModel.js +80 -83
  18. package/dist/src/modular/buildCodeModel.js.map +1 -1
  19. package/dist/src/modular/buildLroFiles.d.ts +24 -0
  20. package/dist/src/modular/buildLroFiles.d.ts.map +1 -0
  21. package/dist/src/modular/buildLroFiles.js +399 -0
  22. package/dist/src/modular/buildLroFiles.js.map +1 -0
  23. package/dist/src/modular/buildOperations.d.ts +6 -0
  24. package/dist/src/modular/buildOperations.d.ts.map +1 -1
  25. package/dist/src/modular/buildOperations.js +64 -5
  26. package/dist/src/modular/buildOperations.js.map +1 -1
  27. package/dist/src/modular/buildPagingFiles.js +3 -3
  28. package/dist/src/modular/buildPagingFiles.js.map +1 -1
  29. package/dist/src/modular/buildProjectFiles.d.ts +0 -3
  30. package/dist/src/modular/buildProjectFiles.d.ts.map +1 -1
  31. package/dist/src/modular/buildProjectFiles.js +0 -399
  32. package/dist/src/modular/buildProjectFiles.js.map +1 -1
  33. package/dist/src/modular/buildRootIndex.d.ts.map +1 -1
  34. package/dist/src/modular/buildRootIndex.js +20 -0
  35. package/dist/src/modular/buildRootIndex.js.map +1 -1
  36. package/dist/src/modular/buildSubpathIndex.js +4 -3
  37. package/dist/src/modular/buildSubpathIndex.js.map +1 -1
  38. package/dist/src/modular/emitModels.d.ts +2 -0
  39. package/dist/src/modular/emitModels.d.ts.map +1 -1
  40. package/dist/src/modular/emitModels.js +73 -11
  41. package/dist/src/modular/emitModels.js.map +1 -1
  42. package/dist/src/modular/helpers/operationHelpers.d.ts +5 -5
  43. package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
  44. package/dist/src/modular/helpers/operationHelpers.js +171 -55
  45. package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
  46. package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
  47. package/dist/src/modular/helpers/typeHelpers.js +6 -1
  48. package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
  49. package/dist/src/modular/interfaces.d.ts +5 -0
  50. package/dist/src/modular/interfaces.d.ts.map +1 -1
  51. package/dist/src/modular/modularCodeModel.d.ts +9 -1
  52. package/dist/src/modular/modularCodeModel.d.ts.map +1 -1
  53. package/dist/src/transform/transformHelperFunctionDetails.js +1 -1
  54. package/dist/src/transform/transformParameters.js +2 -2
  55. package/dist/src/transform/transformParameters.js.map +1 -1
  56. package/dist/src/transform/transformPaths.js +1 -1
  57. package/dist/src/transform/transformPaths.js.map +1 -1
  58. package/dist/src/transform/transformResponses.js +2 -2
  59. package/dist/src/transform/transformResponses.js.map +1 -1
  60. package/dist/src/transform/transformSchemas.d.ts.map +1 -1
  61. package/dist/src/transform/transformSchemas.js +23 -31
  62. package/dist/src/transform/transformSchemas.js.map +1 -1
  63. package/dist/src/transform/transfromRLCOptions.d.ts.map +1 -1
  64. package/dist/src/transform/transfromRLCOptions.js +8 -1
  65. package/dist/src/transform/transfromRLCOptions.js.map +1 -1
  66. package/dist/src/utils/modelUtils.d.ts +12 -2
  67. package/dist/src/utils/modelUtils.d.ts.map +1 -1
  68. package/dist/src/utils/modelUtils.js +88 -49
  69. package/dist/src/utils/modelUtils.js.map +1 -1
  70. package/dist/tsconfig.tsbuildinfo +1 -1
  71. package/package.json +19 -18
  72. package/src/index.ts +36 -22
  73. package/src/lib.ts +10 -2
  74. package/src/modular/buildClassicalClient.ts +2 -0
  75. package/src/modular/buildClassicalOperationGroups.ts +4 -0
  76. package/src/modular/buildCodeModel.ts +100 -155
  77. package/src/modular/buildLroFiles.ts +433 -0
  78. package/src/modular/buildOperations.ts +91 -10
  79. package/src/modular/buildPagingFiles.ts +4 -4
  80. package/src/modular/buildProjectFiles.ts +0 -471
  81. package/src/modular/buildRootIndex.ts +49 -0
  82. package/src/modular/buildSubpathIndex.ts +4 -4
  83. package/src/modular/emitModels.ts +102 -15
  84. package/src/modular/helpers/operationHelpers.ts +207 -72
  85. package/src/modular/helpers/typeHelpers.ts +6 -2
  86. package/src/modular/interfaces.ts +6 -0
  87. package/src/modular/modularCodeModel.ts +10 -1
  88. package/src/transform/transformHelperFunctionDetails.ts +1 -1
  89. package/src/transform/transformParameters.ts +2 -2
  90. package/src/transform/transformPaths.ts +1 -1
  91. package/src/transform/transformResponses.ts +2 -2
  92. package/src/transform/transformSchemas.ts +22 -33
  93. package/src/transform/transfromRLCOptions.ts +10 -1
  94. package/src/utils/modelUtils.ts +107 -46
@@ -1,9 +1,9 @@
1
- import { getPagedResult } from "@azure-tools/typespec-azure-core";
2
- import { getDoc, getFriendlyName, getMaxLength, getMaxValue, getMinLength, getMinValue, getPattern, getSummary, getVisibility, ignoreDiagnostics, isErrorModel, isNeverType, getEffectiveModelType, getDiscriminator, isStringType, getPropertyType, isNumericType, getMinItems, getMaxItems, listServices, isNullType, getEncode, isTemplateDeclarationOrInstance, UsageFlags } from "@typespec/compiler";
3
- import { getAuthentication, getHeaderFieldName, getPathParamName, getQueryParamName, getServers, isStatusCode, getHttpOperation, isSharedRoute } from "@typespec/http";
1
+ import { getPagedResult, getLroMetadata } from "@azure-tools/typespec-azure-core";
2
+ import { getDoc, getFriendlyName, getMaxLength, getMaxValue, getMinLength, getMinValue, getPattern, getSummary, getVisibility, ignoreDiagnostics, isErrorModel, isNeverType, getDiscriminator, isStringType, getPropertyType, isNumericType, getMinItems, getMaxItems, listServices, isNullType, getEncode, isTemplateDeclarationOrInstance, UsageFlags, isVoidType } from "@typespec/compiler";
3
+ import { getAuthentication, getServers, getHttpOperation, isSharedRoute } from "@typespec/http";
4
4
  import { getAddedOnVersions } from "@typespec/versioning";
5
5
  import { listClients, listOperationGroups, listOperationsInOperationGroup, isApiVersion, getDefaultApiVersion, getClientNamespaceString, getSdkUnion, getAllModels, getSdkBuiltInType, getLibraryName, getWireName } from "@azure-tools/typespec-client-generator-core";
6
- import { getBodyType, getDefaultApiVersionString, isAzureCoreErrorType } from "../utils/modelUtils.js";
6
+ import { buildCoreTypeInfo, getBodyType, getDefaultApiVersionString, getEffectiveSchemaType, isAzureCoreErrorType, isSchemaProperty } from "../utils/modelUtils.js";
7
7
  import { camelToSnakeCase, toCamelCase } from "../utils/casingUtils.js";
8
8
  import { getClientName, NameType, normalizeName } from "@azure-tools/rlc-common";
9
9
  import { getOperationGroupName, getOperationName, isBinaryPayload, isIgnoredHeaderParam, isLongRunningOperation, parseItemName, parseNextLinkName } from "../utils/operationUtil.js";
@@ -11,6 +11,7 @@ import { buildRuntimeImports } from "@azure-tools/rlc-common";
11
11
  import { getModelNamespaceName } from "../utils/namespaceUtils.js";
12
12
  import { reportDiagnostic } from "../lib.js";
13
13
  import { getType as getTypeName } from "./helpers/typeHelpers.js";
14
+ import { isModelWithAdditionalProperties } from "./emitModels.js";
14
15
  let CASING = "snake";
15
16
  function applyCasing(name, options = { casing: "snake" }) {
16
17
  if (options.casing === "camel") {
@@ -87,43 +88,6 @@ function handleDiscriminator(context, type, usage) {
87
88
  }
88
89
  return undefined;
89
90
  }
90
- function isSchemaProperty(program, property) {
91
- const headerInfo = getHeaderFieldName(program, property);
92
- const queryInfo = getQueryParamName(program, property);
93
- const pathInfo = getPathParamName(program, property);
94
- const statusCodeinfo = isStatusCode(program, property);
95
- return !(headerInfo || queryInfo || pathInfo || statusCodeinfo);
96
- }
97
- function getEffectiveSchemaType(program, type) {
98
- var _a, _b;
99
- function isSchemaProperty(property) {
100
- const headerInfo = getHeaderFieldName(program, property);
101
- const queryInfo = getQueryParamName(program, property);
102
- const pathInfo = getPathParamName(program, property);
103
- const statusCodeinfo = isStatusCode(program, property);
104
- return !(headerInfo || queryInfo || pathInfo || statusCodeinfo);
105
- }
106
- // If type is an anonymous model, tries to find a named model that has the same properties
107
- let effective = undefined;
108
- if (type.kind === "Union") {
109
- const nonNullOptions = [...type.variants.values()]
110
- .map((x) => x.type)
111
- .filter((t) => !isNullType(t));
112
- if (nonNullOptions.length === 1 &&
113
- ((_a = nonNullOptions[0]) === null || _a === void 0 ? void 0 : _a.kind) === "Model" &&
114
- ((_b = nonNullOptions[0]) === null || _b === void 0 ? void 0 : _b.name) === "") {
115
- effective = getEffectiveModelType(program, nonNullOptions[0]);
116
- }
117
- return type;
118
- }
119
- else if (type.name === "") {
120
- effective = getEffectiveModelType(program, type, isSchemaProperty);
121
- }
122
- if (effective === null || effective === void 0 ? void 0 : effective.name) {
123
- return effective;
124
- }
125
- return type;
126
- }
127
91
  function processModelProperties(context, newValue, model, usage) {
128
92
  // need to do properties after insertion to avoid infinite recursion
129
93
  const discriminatorInfo = handleDiscriminator(context, model, usage);
@@ -178,6 +142,7 @@ function isEmptyAnonymousModel(type) {
178
142
  !type.indexer);
179
143
  }
180
144
  function getType(context, type, options = {}) {
145
+ var _a, _b;
181
146
  // don't cache simple type(string, int, etc) since decorators may change the result
182
147
  const enableCache = !isSimpleType(context.program, type);
183
148
  const effectiveModel = !options.disableEffectiveModel &&
@@ -215,6 +180,10 @@ function getType(context, type, options = {}) {
215
180
  if (type.kind === "Model") {
216
181
  // need to do properties after insertion to avoid infinite recursion
217
182
  processModelProperties(context, newValue, type, options.usage);
183
+ if (newValue.type === "dict") {
184
+ newValue = { ...emitModel(context, type, options.usage), ...newValue };
185
+ typesMap.set(effectiveModel, newValue);
186
+ }
218
187
  }
219
188
  }
220
189
  else {
@@ -227,6 +196,17 @@ function getType(context, type, options = {}) {
227
196
  simpleTypesMap.set(key, newValue);
228
197
  }
229
198
  }
199
+ if (type.kind === "Model" &&
200
+ isModelWithAdditionalProperties(newValue) &&
201
+ !((_a = context.rlcOptions) === null || _a === void 0 ? void 0 : _a.compatibilityMode)) {
202
+ reportDiagnostic(context.program, {
203
+ code: "compatible-additional-properties",
204
+ format: {
205
+ modelName: (_b = type === null || type === void 0 ? void 0 : type.name) !== null && _b !== void 0 ? _b : ""
206
+ },
207
+ target: type
208
+ });
209
+ }
230
210
  return newValue;
231
211
  }
232
212
  // To pass the yaml dump
@@ -363,11 +343,11 @@ function emitResponseHeaders(context, headers) {
363
343
  }
364
344
  return retval;
365
345
  }
366
- function emitResponse(context, response, innerResponse) {
346
+ function emitResponse(context, operation, response, innerResponse) {
367
347
  var _a, _b, _c, _d, _e, _f;
368
348
  let type = undefined;
369
349
  if (((_a = innerResponse.body) === null || _a === void 0 ? void 0 : _a.type) &&
370
- !isAzureCoreErrorType((_b = innerResponse.body) === null || _b === void 0 ? void 0 : _b.type)) {
350
+ !isAzureCoreErrorType(context.program, (_b = innerResponse.body) === null || _b === void 0 ? void 0 : _b.type)) {
371
351
  // temporary logic. It can be removed after compiler optimize the response
372
352
  const candidate = [
373
353
  "ResourceOkResponse",
@@ -380,10 +360,19 @@ function emitResponse(context, response, innerResponse) {
380
360
  const modelType = getEffectiveSchemaType(context.program, originType);
381
361
  type = getType(context, modelType, { usage: UsageFlags.Output });
382
362
  }
363
+ else if (isLroResponse()) {
364
+ const metadata = getLroMetadata(context.program, operation);
365
+ type =
366
+ (metadata === null || metadata === void 0 ? void 0 : metadata.finalResult) === "void" || (metadata === null || metadata === void 0 ? void 0 : metadata.finalResult) === undefined
367
+ ? undefined
368
+ : getType(context, metadata.finalResult);
369
+ }
383
370
  else {
384
- type = getType(context, innerResponse.body.type, {
385
- usage: UsageFlags.Output
386
- });
371
+ type = isVoidType(innerResponse.body.type)
372
+ ? undefined
373
+ : getType(context, innerResponse.body.type, {
374
+ usage: UsageFlags.Output
375
+ });
387
376
  }
388
377
  }
389
378
  const statusCodes = [];
@@ -403,13 +392,20 @@ function emitResponse(context, response, innerResponse) {
403
392
  ? isBinaryPayload(context, (_d = innerResponse.body) === null || _d === void 0 ? void 0 : _d.type, (_f = (_e = innerResponse.body) === null || _e === void 0 ? void 0 : _e.contentTypes[0]) !== null && _f !== void 0 ? _f : "application/json")
404
393
  : false
405
394
  };
395
+ function isLroResponse() {
396
+ var _a;
397
+ return (typeof response.statusCodes === "number" &&
398
+ ((_a = ["200", "201", "202"]) === null || _a === void 0 ? void 0 : _a.includes(`${response.statusCodes}`)) &&
399
+ !!getLroMetadata(context.program, operation));
400
+ }
406
401
  }
407
402
  function emitOperation(context, operation, operationGroupName, rlcModels, hierarchies) {
408
403
  var _a;
409
404
  const isAzureFlavor = ((_a = rlcModels.options) === null || _a === void 0 ? void 0 : _a.flavor) === "azure";
405
+ const emittedOperation = emitBasicOperation(context, operation, operationGroupName, rlcModels, hierarchies);
410
406
  // Skip to extract paging and lro information for non-branded clients.
411
407
  if (!isAzureFlavor) {
412
- return emitBasicOperation(context, operation, operationGroupName, rlcModels, hierarchies);
408
+ return emittedOperation;
413
409
  }
414
410
  const lro = isLongRunningOperation(context.program, ignoreDiagnostics(getHttpOperation(context.program, operation)));
415
411
  const pagingMetadata = getPagedResult(context.program, operation);
@@ -427,46 +423,40 @@ function emitOperation(context, operation, operationGroupName, rlcModels, hierar
427
423
  target: operation
428
424
  });
429
425
  }
430
- if (lro && paging) {
431
- return emitLroPagingOperation(context, operation, operationGroupName, rlcModels, hierarchies);
432
- }
433
- else if (paging) {
434
- return emitPagingOperation(context, operation, operationGroupName, rlcModels, hierarchies);
435
- }
436
- else if (lro) {
437
- return emitLroOperation(context, operation, operationGroupName, rlcModels, hierarchies);
426
+ emitExtraInfoForOperation(emittedOperation);
427
+ return emittedOperation;
428
+ function emitExtraInfoForOperation(emittedOperation) {
429
+ if (lro) {
430
+ addLroInformation(context, operation, emittedOperation);
431
+ }
432
+ if (paging) {
433
+ addPagingInformation(context, operation, emittedOperation);
434
+ }
435
+ if (lro && paging) {
436
+ emittedOperation["discriminator"] = "lropaging";
437
+ }
438
438
  }
439
- return emitBasicOperation(context, operation, operationGroupName, rlcModels, hierarchies);
440
439
  }
441
- function addLroInformation(emittedOperation) {
440
+ function addLroInformation(context, operation, emittedOperation) {
442
441
  emittedOperation["discriminator"] = "lro";
442
+ const metadata = getLroMetadata(context.program, operation);
443
+ emittedOperation["lroMetadata"] = {
444
+ finalResult: (metadata === null || metadata === void 0 ? void 0 : metadata.finalResult) === "void" || (metadata === null || metadata === void 0 ? void 0 : metadata.finalResult) === undefined
445
+ ? undefined
446
+ : getType(context, metadata.finalResult),
447
+ finalStateVia: metadata === null || metadata === void 0 ? void 0 : metadata.finalStateVia,
448
+ finalResultPath: metadata === null || metadata === void 0 ? void 0 : metadata.finalResultPath
449
+ };
443
450
  }
444
- function addPagingInformation(program, operation, emittedOperation) {
451
+ function addPagingInformation(context, operation, emittedOperation) {
445
452
  emittedOperation["discriminator"] = "paging";
446
- const pagedResult = getPagedResult(program, operation);
453
+ const pagedResult = getPagedResult(context.program, operation);
447
454
  if (pagedResult === undefined) {
448
455
  throw Error("Trying to add paging information, but not paging metadata for this operation");
449
456
  }
450
457
  emittedOperation["itemName"] = parseItemName(pagedResult);
451
458
  emittedOperation["continuationTokenName"] = parseNextLinkName(pagedResult);
452
459
  }
453
- function emitLroPagingOperation(context, operation, operationGroupName, rlcModels, hierarchies) {
454
- const emittedOperation = emitBasicOperation(context, operation, operationGroupName, rlcModels, hierarchies);
455
- addLroInformation(emittedOperation);
456
- addPagingInformation(context.program, operation, emittedOperation);
457
- emittedOperation["discriminator"] = "lropaging";
458
- return emittedOperation;
459
- }
460
- function emitLroOperation(context, operation, operationGroupName, rlcModels, hierarchies) {
461
- const emittedOperation = emitBasicOperation(context, operation, operationGroupName, rlcModels, hierarchies);
462
- addLroInformation(emittedOperation);
463
- return emittedOperation;
464
- }
465
- function emitPagingOperation(context, operation, operationGroupName, rlcModels, hierarchies) {
466
- const emittedOperation = emitBasicOperation(context, operation, operationGroupName, rlcModels, hierarchies);
467
- addPagingInformation(context.program, operation, emittedOperation);
468
- return emittedOperation;
469
- }
470
460
  function emitBasicOperation(context, operation, operationGroupName, rlcModels, hierarchies) {
471
461
  var _a, _b, _c, _d, _e;
472
462
  // Set up parameters for operation
@@ -513,7 +503,7 @@ function emitBasicOperation(context, operation, operationGroupName, rlcModels, h
513
503
  const isOverload = isSharedRoute(context.program, operation);
514
504
  for (const response of httpOperation.responses) {
515
505
  for (const innerResponse of response.responses) {
516
- const emittedResponse = emitResponse(context, response, innerResponse);
506
+ const emittedResponse = emitResponse(context, operation, response, innerResponse);
517
507
  if (isErrorModel(context.program, response.type)) {
518
508
  // * is valid status code in typespec but invalid for autorest.python
519
509
  if (response.statusCode === "*") {
@@ -526,7 +516,8 @@ function emitBasicOperation(context, operation, operationGroupName, rlcModels, h
526
516
  }
527
517
  }
528
518
  let bodyParameter;
529
- if (httpOperation.parameters.body === undefined) {
519
+ if (httpOperation.parameters.body === undefined ||
520
+ isVoidType(httpOperation.parameters.body.type)) {
530
521
  bodyParameter = undefined;
531
522
  }
532
523
  else {
@@ -709,7 +700,7 @@ function emitModel(context, type, usage) {
709
700
  ? applyCasing(modelName, { casing: CASING })
710
701
  : modelName,
711
702
  base: modelName === "" ? "json" : "dpg",
712
- isCoreErrorType: isAzureCoreErrorType(type),
703
+ coreTypeInfo: buildCoreTypeInfo(context.program, type),
713
704
  usage
714
705
  };
715
706
  }
@@ -739,7 +730,8 @@ function emitEnum(context, type) {
739
730
  description: getDocStr(program, type),
740
731
  valueType: { type: enumMemberType(type.members.values().next().value) },
741
732
  values: enumValues,
742
- isFixed: true
733
+ isFixed: true,
734
+ coreTypeInfo: buildCoreTypeInfo(program, type)
743
735
  };
744
736
  }
745
737
  function enumMemberType(member) {
@@ -930,6 +922,7 @@ function emitListOrDict(context, type, usage) {
930
922
  if (name === "string") {
931
923
  return {
932
924
  type: "dict",
925
+ name: type.name,
933
926
  elementType: getType(context, type.indexer.value, { usage })
934
927
  };
935
928
  }
@@ -1221,6 +1214,7 @@ function emitServerParams(context, namespace) {
1221
1214
  if (isApiVersion(context, serverParameter)) {
1222
1215
  emittedParameter.isApiVersion = true;
1223
1216
  serverApiVersionParam = emittedParameter;
1217
+ emittedParameter.isApiVersion = true;
1224
1218
  }
1225
1219
  params.push(emittedParameter);
1226
1220
  }
@@ -1364,19 +1358,22 @@ function getNamespaces(context) {
1364
1358
  return namespaces;
1365
1359
  }
1366
1360
  export function emitCodeModel(dpgContext, rlcModelsMap, modularSourcesRoot, project, options = { casing: "snake" }) {
1367
- var _a, _b, _c, _d;
1361
+ var _a, _b, _c, _d, _e;
1368
1362
  CASING = (_a = options.casing) !== null && _a !== void 0 ? _a : CASING;
1369
1363
  const clientNamespaceString = (_b = getClientNamespaceString(dpgContext)) === null || _b === void 0 ? void 0 : _b.toLowerCase();
1370
1364
  // Get types
1371
1365
  const codeModel = {
1372
1366
  options: (_c = dpgContext.rlcOptions) !== null && _c !== void 0 ? _c : {},
1373
- modularOptions: { sourceRoot: modularSourcesRoot },
1367
+ modularOptions: {
1368
+ sourceRoot: modularSourcesRoot,
1369
+ compatibilityMode: !!((_d = dpgContext.rlcOptions) === null || _d === void 0 ? void 0 : _d.compatibilityMode)
1370
+ },
1374
1371
  namespace: clientNamespaceString,
1375
1372
  subnamespaceToClients: {},
1376
1373
  clients: [],
1377
1374
  types: [],
1378
1375
  project,
1379
- runtimeImports: buildRuntimeImports((_d = dpgContext.rlcOptions) === null || _d === void 0 ? void 0 : _d.flavor)
1376
+ runtimeImports: buildRuntimeImports((_e = dpgContext.rlcOptions) === null || _e === void 0 ? void 0 : _e.flavor)
1380
1377
  };
1381
1378
  typesMap.clear();
1382
1379
  simpleTypesMap.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"buildCodeModel.js","sourceRoot":"","sources":["../../../src/modular/buildCodeModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildCodeModel.js","sourceRoot":"","sources":["../../../src/modular/buildCodeModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { SourceFile } from "ts-morph";
2
+ import { ModularCodeModel, Client } from "./modularCodeModel.js";
3
+ /**
4
+ * Always import LRO dependencies and remember to remove if unused.
5
+ * @param clientFile - The file to add the imports to.
6
+ */
7
+ export declare function importLroCoreDependencies(clientFile: SourceFile): void;
8
+ /**
9
+ * Generate `restorePollerHelpers.ts` file
10
+ * @param codeModel - The code model.
11
+ * @param client - The client.
12
+ * @returns
13
+ */
14
+ export declare function buildRestorePollerHelper(codeModel: ModularCodeModel, client: Client): void;
15
+ /**
16
+ * Generate `api/pollingHelpers.ts` file
17
+ * @param codeModel - The code model.
18
+ * @param client - The client.
19
+ * @param needUnexpectedHelper - Whether need to import unexpected helper.
20
+ * @param isMultiClients - Whether the client is multi-clients.
21
+ * @returns
22
+ */
23
+ export declare function buildGetPollerHelper(codeModel: ModularCodeModel, client: Client, needUnexpectedHelper?: boolean, isMultiClients?: boolean): void;
24
+ //# sourceMappingURL=buildLroFiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildLroFiles.d.ts","sourceRoot":"","sources":["../../../src/modular/buildLroFiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAKjE;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,UAAU,QAa/D;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,MAAM,QA+Kf;AA8CD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,MAAM,EACd,oBAAoB,GAAE,OAAc,EACpC,cAAc,GAAE,OAAe,QAoKhC"}