@azure-tools/typespec-azure-core 0.37.1 → 0.37.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.
package/README.md CHANGED
@@ -91,7 +91,7 @@ Available ruleSets:
91
91
  Identifies a ModelProperty as containing the final location for the operation result.
92
92
 
93
93
  ```typespec
94
- @Azure.Core.finalLocation
94
+ @Azure.Core.finalLocation(finalResult?: Model | void)
95
95
  ```
96
96
 
97
97
  ##### Target
@@ -100,7 +100,9 @@ Identifies a ModelProperty as containing the final location for the operation re
100
100
 
101
101
  ##### Parameters
102
102
 
103
- None
103
+ | Name | Type | Description |
104
+ | ----------- | --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
105
+ | finalResult | `union Model \| void` | Sets the expected return value for the final result. Overrides<br />any value provided in the decorated property, if the property uses ResourceLocation<T>. |
104
106
 
105
107
  #### `@finalOperation`
106
108
 
@@ -335,7 +337,7 @@ None
335
337
  Identifies a model property as containing the location to poll for operation state.
336
338
 
337
339
  ```typespec
338
- @Azure.Core.pollingLocation
340
+ @Azure.Core.pollingLocation(options?: Azure.Core.PollingOptions)
339
341
  ```
340
342
 
341
343
  ##### Target
@@ -344,7 +346,9 @@ Identifies a model property as containing the location to poll for operation sta
344
346
 
345
347
  ##### Parameters
346
348
 
347
- None
349
+ | Name | Type | Description |
350
+ | ------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
351
+ | options | `model Azure.Core.PollingOptions` | PollingOptions for the poller pointed to by this link. Overrides<br />settings derived from property value it is decorating, if the value of the<br />property is ResourceLocation<T> |
348
352
 
349
353
  #### `@pollingOperation`
350
354
 
@@ -1,6 +1,6 @@
1
- import { DecoratorContext, Diagnostic, Enum, EnumMember, Model, ModelProperty, Operation, Program, Scalar, StringLiteral, Type } from "@typespec/compiler";
1
+ import { DecoratorContext, Diagnostic, Enum, EnumMember, IntrinsicType, Model, ModelProperty, Operation, Program, Scalar, StringLiteral, Type } from "@typespec/compiler";
2
2
  import { OperationLink } from "./lro-helpers.js";
3
- import { PropertyMap, ResultInfo } from "./lro-info.js";
3
+ import { PropertyMap, ResultInfo, StatusMonitorMetadata } from "./lro-info.js";
4
4
  export declare const namespace = "Azure.Core";
5
5
  export declare const PollingOperationKey: string;
6
6
  export declare const FinalOperationKey = "final";
@@ -106,16 +106,46 @@ export declare function $lroFailed(context: DecoratorContext, entity: EnumMember
106
106
  * Returns `true` if the enum member represents a "failed" state.
107
107
  */
108
108
  export declare function isLroFailedState(program: Program, entity: EnumMember): boolean;
109
- export declare function $pollingLocation(context: DecoratorContext, entity: ModelProperty): void;
109
+ /** Extra information about polling control stored with a polling link */
110
+ export type PollingLocationInfo = StatusMonitorPollingLocationInfo;
111
+ /** The abstract type for polling control information */
112
+ export interface PollingLocationBase {
113
+ /** The kind of polling being done */
114
+ kind: pollingOptionsKind;
115
+ /** The model property containing the polling link */
116
+ target: ModelProperty;
117
+ /** The type of the poller */
118
+ pollingModel?: Model | IntrinsicType;
119
+ /** The type of the final result after polling completes */
120
+ finalResult?: Model | IntrinsicType;
121
+ }
122
+ /** Collected data for status monitor polling links */
123
+ export interface StatusMonitorPollingLocationInfo extends PollingLocationBase {
124
+ /** The kind of status monitor */
125
+ kind: pollingOptionsKind.StatusMonitor;
126
+ /** The status monitor detailed data for control of polling. */
127
+ info: StatusMonitorMetadata;
128
+ }
129
+ export declare enum pollingOptionsKind {
130
+ StatusMonitor = "statusMonitor"
131
+ }
132
+ export declare function $pollingLocation(context: DecoratorContext, entity: ModelProperty, options?: Model): void;
133
+ /**
134
+ * Gets polling information stored with a field that contains a link to an Lro polling endpoint
135
+ * @param program The program to check
136
+ * @param target The ModelProperty to check for polling info
137
+ */
138
+ export declare function getPollingLocationInfo(program: Program, target: ModelProperty): PollingLocationInfo | undefined;
110
139
  /**
111
140
  * Returns `true` if the property is marked with @pollingLocation.
112
141
  */
113
142
  export declare function isPollingLocation(program: Program, entity: ModelProperty): boolean;
114
- export declare function $finalLocation(context: DecoratorContext, entity: ModelProperty): void;
143
+ export declare function $finalLocation(context: DecoratorContext, entity: ModelProperty, finalResult?: Model | IntrinsicType): void;
115
144
  /**
116
145
  * Returns `true` if the property is marked with @finalLocation.
117
146
  */
118
147
  export declare function isFinalLocation(program: Program, entity: ModelProperty): boolean;
148
+ export declare function getFinalLocationValue(program: Program, entity: ModelProperty): Model | IntrinsicType | undefined;
119
149
  export declare function $omitKeyProperties(context: DecoratorContext, entity: Model): void;
120
150
  export interface OperationLinkMetadata {
121
151
  parameters?: Type;
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,gBAAgB,EAChB,UAAU,EACV,IAAI,EACJ,UAAU,EAOV,KAAK,EACL,aAAa,EACb,SAAS,EACT,OAAO,EACP,MAAM,EAEN,aAAa,EACb,IAAI,EAEL,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAuB,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE7E,eAAO,MAAM,SAAS,eAAe,CAAC;AAKtC,eAAO,MAAM,mBAAmB,EAAE,MAAkB,CAAC;AACrD,eAAO,MAAM,iBAAiB,UAAU,CAAC;AAMzC,wBAAgB,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,QAE7D;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAE/D;AAMD,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,QAEpE;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,KAAK,CAAC;IACjB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,aAAa,CAAC;IACjC,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,SAAS,CAAC;CAC/B;AA6DD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,GAAG,SAAS,GACxB,mBAAmB,GAAG,SAAS,CA0EjC;AAID,wBAAgB,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,QAEtE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,SAAS,CAE5E;AAID,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,QAEzE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,SAAS,CAE/E;AAED;;;IAGI;AACJ,MAAM,WAAW,iBAAiB;IAEhC,cAAc,EAAE,MAAM,EAAE,CAAC;IAGzB,WAAW,EAAE,MAAM,EAAE,CAAC;IAGtB,aAAa,EAAE,MAAM,EAAE,CAAC;IAGxB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAID,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,GAAG,aAAa,QAIjF;AA+BD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,IAAI,GACX,CAAC,iBAAiB,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CAwExD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,aAAa,GAC5C,iBAAiB,GAAG,SAAS,CAU/B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAG,aAAa,GAAG,SAAS,CAkB/F;AAMD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,QAG1E;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,EACb,UAAU,GAAE,OAAc,GACzB,CAAC,aAAa,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CA2BpD;AAMD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,QAG/E;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,EACb,UAAU,GAAE,OAAc,GACzB,CAAC,aAAa,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CA2BpD;AAKD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,aAAa,GAAG,aAAa,QAevC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,aAAa,GACpB,MAAM,GAAG,aAAa,GAAG,SAAS,CAEpC;AAMD,wBAAgB,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,QAE1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,WAEvE;AAMD,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,QAEzE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,WAEtE;AAMD,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,QAEvE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAE9E;AAMD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,QAEhF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAElF;AAMD,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,QAE9E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAEhF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,QAO1E;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,eAAe,EAAE,SAAS,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IAEjB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACxC,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAID,wBAAgB,cAAc,CAC5B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,eAAe,EAAE,SAAS,EAC1B,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,KAAK,QA8BnB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,GACf,qBAAqB,GAAG,SAAS,CASnC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,GAChB,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,SAAS,CAEhD;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,eAAe,EAAE,SAAS,EAC1B,UAAU,CAAC,EAAE,KAAK,QAqDnB;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,eAAe,EAAE,SAAS,EAC1B,UAAU,CAAC,EAAE,KAAK,QAYnB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,eAAe,EAAE,SAAS,EAC1B,UAAU,CAAC,EAAE,KAAK,QAGnB;AAID,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,QAEvF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAI/F;AAID,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,QAEvF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAI/F;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,cAAc,EAAE,KAAK,QAsBtB;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,cAAc,EAAE,KAAK,QAuBtB;AAID,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,IAAI,QAkDnB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAEnF;AAID,wBAAgB,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,QAMvE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,QAa9C;AAID,wBAAgB,WAAW,CACzB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,QAGb;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,QAkB/C;AAID,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,IAAI,CAAC;CACnB;AAUD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,GACX,uBAAuB,GAAG,SAAS,CAErC"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { createDiagnostic, createStateSymbol, reportDiagnostic } from "./lib.js";
2
2
  import { getAllProperties } from "./utils.js";
3
- import { createDiagnosticCollector, getKnownValues, getNamespaceFullName, getTypeName, isKey, isStringType, isTemplateDeclarationOrInstance, setTypeSpecNamespace, walkPropertiesInherited, } from "@typespec/compiler";
3
+ import { createDiagnosticCollector, getKnownValues, getNamespaceFullName, getTypeName, ignoreDiagnostics, isKey, isNeverType, isStringType, isTemplateDeclarationOrInstance, isVoidType, setTypeSpecNamespace, walkPropertiesInherited, } from "@typespec/compiler";
4
4
  import { getHttpOperation, getRoutePath } from "@typespec/http";
5
5
  import { getResourceTypeKey, getSegment, isAutoRoute } from "@typespec/rest";
6
- import { getLroOperationInfo } from "./lro-info.js";
6
+ import { extractStatusMonitorInfo, getLroOperationInfo, } from "./lro-info.js";
7
7
  export const namespace = "Azure.Core";
8
8
  /*
9
9
  * Constants for polling and final operation links
@@ -274,6 +274,21 @@ export function getLongRunningStates(program, entity) {
274
274
  * @param target The model to check for lro status
275
275
  */
276
276
  export function getLroStatusProperty(program, target) {
277
+ var _a;
278
+ function getProvisioningState(props) {
279
+ var _a;
280
+ let innerProps = undefined;
281
+ let result = undefined;
282
+ const innerProperty = props.get("properties");
283
+ result = props.get("provisioningState");
284
+ if (result === undefined &&
285
+ innerProperty !== undefined &&
286
+ ((_a = innerProperty.type) === null || _a === void 0 ? void 0 : _a.kind) === "Model") {
287
+ innerProps = getAllProperties(innerProperty.type);
288
+ result = innerProps.get("provisioningState");
289
+ }
290
+ return result;
291
+ }
277
292
  const props = getAllProperties(target);
278
293
  for (const [_, prop] of props.entries()) {
279
294
  let values = program.stateMap(lroStatusKey).get(prop);
@@ -285,7 +300,7 @@ export function getLroStatusProperty(program, target) {
285
300
  return prop;
286
301
  }
287
302
  }
288
- const statusProp = props.get("status");
303
+ const statusProp = (_a = props.get("status")) !== null && _a !== void 0 ? _a : getProvisioningState(props);
289
304
  if (statusProp) {
290
305
  const [states, _] = extractLroStates(program, statusProp);
291
306
  if (states !== undefined)
@@ -335,6 +350,8 @@ export function getLroResult(program, entity, useDefault = true) {
335
350
  }
336
351
  if (resultProperty === undefined && useDefault)
337
352
  resultProperty = defaultProperty;
353
+ if (resultProperty && isNeverType(resultProperty.type))
354
+ resultProperty = undefined;
338
355
  return diagnostics.wrap(resultProperty);
339
356
  }
340
357
  //@lroErrorResult
@@ -436,8 +453,99 @@ export function isLroFailedState(program, entity) {
436
453
  }
437
454
  // @pollingLocation
438
455
  const pollingLocationsKey = createStateSymbol("pollingLocations");
439
- export function $pollingLocation(context, entity) {
440
- context.program.stateSet(pollingLocationsKey).add(entity);
456
+ const pollingLocationInfoKey = createStateSymbol("pollingLocationInfo");
457
+ // keys of the pollingOptions type
458
+ const optionsKindKey = "kind";
459
+ const finalPropertyKey = "finalProperty";
460
+ const pollingModelKey = "pollingModel";
461
+ const finalResultKey = "finalResult";
462
+ export var pollingOptionsKind;
463
+ (function (pollingOptionsKind) {
464
+ pollingOptionsKind["StatusMonitor"] = "statusMonitor";
465
+ })(pollingOptionsKind || (pollingOptionsKind = {}));
466
+ export function $pollingLocation(context, entity, options) {
467
+ const { program } = context;
468
+ if (options) {
469
+ if (isNeverType(options))
470
+ return;
471
+ const info = extractPollingLocationInfo(program, entity, options);
472
+ if (info) {
473
+ program.stateMap(pollingLocationInfoKey).set(entity, info);
474
+ }
475
+ }
476
+ program.stateSet(pollingLocationsKey).add(entity);
477
+ }
478
+ /**
479
+ * Gets polling information stored with a field that contains a link to an Lro polling endpoint
480
+ * @param program The program to check
481
+ * @param target The ModelProperty to check for polling info
482
+ */
483
+ export function getPollingLocationInfo(program, target) {
484
+ return program.stateMap(pollingLocationInfoKey).get(target);
485
+ }
486
+ function extractUnionVariantValue(type) {
487
+ if (type.kind === "UnionVariant" && type.type.kind === "String")
488
+ return type.type.value;
489
+ return undefined;
490
+ }
491
+ function extractPollingLocationInfo(program, target, options) {
492
+ var _a, _b;
493
+ const kind = options.properties.get(optionsKindKey);
494
+ if (kind === undefined)
495
+ return undefined;
496
+ const kindValue = extractUnionVariantValue(kind.type);
497
+ if (kindValue === undefined)
498
+ return undefined;
499
+ const pollingInfo = { target: target };
500
+ const pollingModel = (_a = options.properties.get(pollingModelKey)) === null || _a === void 0 ? void 0 : _a.type;
501
+ if (pollingModel && pollingModel.kind === "Model")
502
+ pollingInfo.pollingModel = pollingModel;
503
+ if (pollingModel && isVoidType(pollingModel))
504
+ pollingInfo.pollingModel = program.checker.voidType;
505
+ const finalResult = (_b = options.properties.get(finalResultKey)) === null || _b === void 0 ? void 0 : _b.type;
506
+ if (finalResult && finalResult.kind === "Model")
507
+ pollingInfo.finalResult = finalResult;
508
+ if (finalResult && isVoidType(finalResult))
509
+ pollingInfo.finalResult = program.checker.voidType;
510
+ switch (kindValue) {
511
+ case pollingOptionsKind.StatusMonitor:
512
+ return extractStatusMonitorLocationInfo(program, options, pollingInfo);
513
+ default:
514
+ return undefined;
515
+ }
516
+ }
517
+ function extractStatusMonitorLocationInfo(program, options, baseInfo) {
518
+ var _a, _b;
519
+ const kind = options.properties.get(optionsKindKey);
520
+ if (kind === undefined || extractUnionVariantValue(kind.type) !== "statusMonitor")
521
+ return undefined;
522
+ if (baseInfo.pollingModel === undefined || baseInfo.pollingModel.kind === "Intrinsic")
523
+ return undefined;
524
+ const finalProperty = (_a = options.properties.get(finalPropertyKey)) === null || _a === void 0 ? void 0 : _a.type;
525
+ let finalPropertyValue = undefined;
526
+ if (finalProperty && finalProperty.kind === "ModelProperty")
527
+ finalPropertyValue = finalProperty;
528
+ if (finalProperty &&
529
+ finalProperty.kind === "String" &&
530
+ baseInfo.pollingModel.properties.has(finalProperty.value)) {
531
+ finalPropertyValue = baseInfo.pollingModel.properties.get(finalProperty.value);
532
+ }
533
+ if (finalPropertyValue === undefined)
534
+ finalPropertyValue = ignoreDiagnostics(getLroResult(program, baseInfo.pollingModel, true));
535
+ const statusProperty = getLroStatusProperty(program, baseInfo.pollingModel);
536
+ if (statusProperty === undefined)
537
+ return undefined;
538
+ const statusMonitor = ignoreDiagnostics(extractStatusMonitorInfo(program, baseInfo.pollingModel, statusProperty));
539
+ if (statusMonitor === undefined)
540
+ return undefined;
541
+ statusMonitor.successProperty = finalPropertyValue;
542
+ baseInfo.finalResult =
543
+ ((_b = finalPropertyValue === null || finalPropertyValue === void 0 ? void 0 : finalPropertyValue.type) === null || _b === void 0 ? void 0 : _b.kind) === "Model" ? finalPropertyValue.type : program.checker.voidType;
544
+ return {
545
+ kind: pollingOptionsKind.StatusMonitor,
546
+ info: statusMonitor,
547
+ ...baseInfo,
548
+ };
441
549
  }
442
550
  /**
443
551
  * Returns `true` if the property is marked with @pollingLocation.
@@ -447,8 +555,21 @@ export function isPollingLocation(program, entity) {
447
555
  }
448
556
  // @finalLocation
449
557
  const finalLocationsKey = createStateSymbol("finalLocations");
450
- export function $finalLocation(context, entity) {
451
- context.program.stateSet(finalLocationsKey).add(entity);
558
+ const finalLocationResultsKey = createStateSymbol("finalLocationResults");
559
+ export function $finalLocation(context, entity, finalResult) {
560
+ const { program } = context;
561
+ if (finalResult !== undefined && isNeverType(finalResult))
562
+ return;
563
+ program.stateSet(finalLocationsKey).add(entity);
564
+ switch (finalResult === null || finalResult === void 0 ? void 0 : finalResult.kind) {
565
+ case "Model":
566
+ program.stateMap(finalLocationResultsKey).set(entity, finalResult);
567
+ break;
568
+ case "Intrinsic":
569
+ if (isVoidType(finalResult)) {
570
+ program.stateMap(finalLocationResultsKey).set(entity, finalResult);
571
+ }
572
+ }
452
573
  }
453
574
  /**
454
575
  * Returns `true` if the property is marked with @finalLocation.
@@ -456,6 +577,9 @@ export function $finalLocation(context, entity) {
456
577
  export function isFinalLocation(program, entity) {
457
578
  return program.stateSet(finalLocationsKey).has(entity);
458
579
  }
580
+ export function getFinalLocationValue(program, entity) {
581
+ return program.stateMap(finalLocationResultsKey).get(entity);
582
+ }
459
583
  export function $omitKeyProperties(context, entity) {
460
584
  // Delete any key properties from the model
461
585
  for (const [key, prop] of entity.properties) {
@@ -534,13 +658,13 @@ export function $pollingOperation(context, target, linkedOperation, parameters)
534
658
  if (operationDetails.result.statusMonitor.terminationInfo.succeededState.length < 1) {
535
659
  reportDiagnostic(context.program, {
536
660
  code: "polling-operation-no-lro-success",
537
- target: operationDetails.result.statusMonitor.type,
661
+ target: operationDetails.result.statusMonitor.monitorType,
538
662
  });
539
663
  }
540
664
  if (operationDetails.result.statusMonitor.terminationInfo.failedState.length < 1) {
541
665
  reportDiagnostic(context.program, {
542
666
  code: "polling-operation-no-lro-failure",
543
- target: operationDetails.result.statusMonitor.type,
667
+ target: operationDetails.result.statusMonitor.monitorType,
544
668
  });
545
669
  }
546
670
  if (operationDetails.parameterMap === undefined && operationDetails.link === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import "./index.js";
2
- import { Model, ModelProperty, Operation, Program } from "@typespec/compiler";
2
+ import { IntrinsicType, Model, ModelProperty, Operation, Program } from "@typespec/compiler";
3
3
  import { PropertyMap } from "./lro-info.js";
4
4
  /**
5
5
  * Custom polling
@@ -8,7 +8,7 @@ import { PropertyMap } from "./lro-info.js";
8
8
  export interface OperationLink {
9
9
  kind: "link";
10
10
  /** Indicates whether the link is in the response header or response body */
11
- location: "ResponseHeader" | "ResponseBody";
11
+ location: "ResponseHeader" | "ResponseBody" | "Self";
12
12
  /** The property that contains the link */
13
13
  property: ModelProperty;
14
14
  }
@@ -18,7 +18,7 @@ export interface OperationLink {
18
18
  */
19
19
  export type TerminationStatus = HttpTerminationStatus | ModelPropertyTerminationStatus;
20
20
  /**
21
- * Definition of a StatusMonitor that uses http status rather then status code
21
+ * Definition of a StatusMonitor that uses http status rather then status code.
22
22
  */
23
23
  export interface HttpTerminationStatus {
24
24
  kind: "status-code";
@@ -65,7 +65,7 @@ export interface OperationReference {
65
65
  */
66
66
  export interface LogicalOperationStep {
67
67
  /** The TypeSpec type that is returned by following a link or calling a lined operation */
68
- responseModel: Model;
68
+ responseModel: Model | IntrinsicType;
69
69
  }
70
70
  /** Information on how to get to the StatusMonitor */
71
71
  export type OperationStep = NextOperationLink | NextOperationReference | PollingOperationStep | FinalOperationLink | FinalOperationReference | PollingSuccessProperty;
@@ -75,6 +75,7 @@ export type OperationStep = NextOperationLink | NextOperationReference | Polling
75
75
  */
76
76
  export interface PollingOperationStep extends LogicalOperationStep {
77
77
  kind: "pollingOperationStep";
78
+ responseModel: Model;
78
79
  /** Information on how to determine when the operation reaches a terminal state (most often, this is the terminal values that may be returned in the status field) */
79
80
  terminationStatus: TerminationStatus;
80
81
  /** Property of the status monitor that contains the logical operation result (if any) */
@@ -88,6 +89,7 @@ export type nextOperationStep = NextOperationLink | NextOperationReference;
88
89
  */
89
90
  export interface NextOperationLink extends LogicalOperationStep {
90
91
  kind: "nextOperationLink";
92
+ responseModel: Model;
91
93
  /** information on how to get the uri to the status monitor */
92
94
  target: OperationLink;
93
95
  }
@@ -96,6 +98,7 @@ export interface NextOperationLink extends LogicalOperationStep {
96
98
  */
97
99
  export interface NextOperationReference extends LogicalOperationStep {
98
100
  kind: "nextOperationReference";
101
+ responseModel: Model;
99
102
  /** Information on how to call the STatusMonitor operation */
100
103
  target: OperationReference;
101
104
  }
@@ -103,7 +106,7 @@ export interface NextOperationReference extends LogicalOperationStep {
103
106
  * For long-running operations, a description of the final step for
104
107
  * getting to a success result
105
108
  */
106
- export type FinalOperationStep = FinalOperationLink | FinalOperationReference | PollingSuccessProperty;
109
+ export type FinalOperationStep = FinalOperationLink | FinalOperationReference | PollingSuccessProperty | NoPollingSuccessProperty;
107
110
  /**
108
111
  * For long-running operations, the resource link to the final result
109
112
  */
@@ -126,10 +129,15 @@ export interface FinalOperationReference extends LogicalOperationStep {
126
129
  */
127
130
  export interface PollingSuccessProperty extends LogicalOperationStep {
128
131
  kind: "pollingSuccessProperty";
132
+ responseModel: Model;
129
133
  /** The property containing the results of success */
130
134
  target: ModelProperty;
131
135
  /** The property in the response that contained a url to the status monitor */
132
- sourceProperty: ModelProperty;
136
+ sourceProperty: ModelProperty | undefined;
137
+ }
138
+ export interface NoPollingSuccessProperty extends LogicalOperationStep {
139
+ kind: "noPollingResult";
140
+ responseModel: IntrinsicType;
133
141
  }
134
142
  /**
135
143
  * For long-running operations using a status monitor, indicates that
@@ -156,9 +164,7 @@ export declare enum FinalStateValue {
156
164
  /** Poll on a header or field other than those above */
157
165
  customLink = "custom-link",
158
166
  /** Call a polling operation using the data in LroMetadata */
159
- customOperationReference = "custom-operation-reference",
160
- /** Operation should return no result */
161
- noResult = "no-result"
167
+ customOperationReference = "custom-operation-reference"
162
168
  }
163
169
  /**
164
170
  * Information about long-running operations
@@ -1 +1 @@
1
- {"version":3,"file":"lro-helpers.d.ts","sourceRoot":"","sources":["../../src/lro-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lro-helpers.d.ts","sourceRoot":"","sources":["../../src/lro-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,CAAC;AASpB,OAAO,EAGL,aAAa,EAEb,KAAK,EACL,aAAa,EACb,SAAS,EACT,OAAO,EAGR,MAAM,oBAAoB,CAAC;AAgC5B,OAAO,EAAE,WAAW,EAAyB,MAAM,eAAe,CAAC;AAEnE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,QAAQ,EAAE,gBAAgB,GAAG,cAAc,GAAG,MAAM,CAAC;IACrD,0CAA0C;IAC1C,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,GAAG,8BAA8B,CAAC;AAEvF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,aAAa,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,gBAAgB,CAAC;IACvB,4CAA4C;IAC5C,QAAQ,EAAE,aAAa,CAAC;IACxB,8DAA8D;IAC9D,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,wDAAwD;IACxD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,2FAA2F;IAC3F,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAE9B,QAAQ,EAAE,qBAAqB,GAAG,aAAa,GAAG,UAAU,CAAC;IAC7D,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,WAAW,CAAC;IAClB,+BAA+B;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,sGAAsG;IACtG,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAE5C,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACvC;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,0FAA0F;IAC1F,aAAa,EAAE,KAAK,GAAG,aAAa,CAAC;CACtC;AAED,qDAAqD;AACrD,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,sBAAsB,GACtB,oBAAoB,GACpB,kBAAkB,GAClB,uBAAuB,GACvB,sBAAsB,CAAC;AAE3B;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE,IAAI,EAAE,sBAAsB,CAAC;IAC7B,aAAa,EAAE,KAAK,CAAC;IACrB,qKAAqK;IACrK,iBAAiB,EAAE,iBAAiB,CAAC;IAErC,yFAAyF;IACzF,cAAc,CAAC,EAAE,aAAa,CAAC;IAE/B,gGAAgG;IAChG,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,sBAAsB,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC7D,IAAI,EAAE,mBAAmB,CAAC;IAC1B,aAAa,EAAE,KAAK,CAAC;IACrB,8DAA8D;IAC9D,MAAM,EAAE,aAAa,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,oBAAoB;IAClE,IAAI,EAAE,wBAAwB,CAAC;IAC/B,aAAa,EAAE,KAAK,CAAC;IACrB,6DAA6D;IAC7D,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAC1B,kBAAkB,GAClB,uBAAuB,GACvB,sBAAsB,GACtB,wBAAwB,CAAC;AAE7B;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC9D,IAAI,EAAE,oBAAoB,CAAC;IAE3B,iJAAiJ;IACjJ,MAAM,EAAE,aAAa,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE,IAAI,EAAE,yBAAyB,CAAC;IAChC,2IAA2I;IAC3I,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,oBAAoB;IAClE,IAAI,EAAE,wBAAwB,CAAC;IAC/B,aAAa,EAAE,KAAK,CAAC;IACrB,qDAAqD;IACrD,MAAM,EAAE,aAAa,CAAC;IACtB,8EAA8E;IAC9E,cAAc,EAAE,aAAa,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IACpE,IAAI,EAAE,iBAAiB,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,oBAAoB;IAClE,IAAI,EAAE,wBAAwB,CAAC;IAC/B,yBAAyB;IACzB,MAAM,EAAE,IAAI,CAAC;CACd;AAED;;;GAGG;AACH,oBAAY,eAAe;IACzB,2CAA2C;IAC3C,mBAAmB,0BAA0B;IAC7C,+BAA+B;IAC/B,QAAQ,aAAa;IACrB,yCAAyC;IACzC,iBAAiB,uBAAuB;IACxC,wDAAwD;IACxD,WAAW,iBAAiB;IAC5B,uDAAuD;IACvD,UAAU,gBAAgB;IAC1B,6DAA6D;IAC7D,wBAAwB,+BAA+B;CACxD;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,SAAS,EAAE,SAAS,CAAC;IAErB,2GAA2G;IAC3G,aAAa,EAAE,KAAK,CAAC;IAErB,4EAA4E;IAC5E,aAAa,EAAE,eAAe,CAAC;IAI/B;;OAEG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,sBAAsB,CAAC;IAE/D,qKAAqK;IACrK,WAAW,EAAE,oBAAoB,CAAC;IAElC,qIAAqI;IACrI,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAE/B,qEAAqE;IACrE,cAAc,EAAE,KAAK,CAAC;IAEtB,6IAA6I;IAC7I,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAE7B,uEAAuE;IACvE,mBAAmB,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAErC,0FAA0F;IAC1F,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CA6B9F"}
@@ -1,9 +1,9 @@
1
1
  import "./index.js";
2
2
  import { filterModelProperties, filterResponseModels, getHttpMetadata, getResultModelWithProperty, getSuccessResponse, } from "./utils.js";
3
- import { ignoreDiagnostics, isNeverType, } from "@typespec/compiler";
4
- import { getHeaderFieldName, getHttpOperation, getOperationVerb, isHeader, } from "@typespec/http";
3
+ import { getEffectiveModelType, ignoreDiagnostics, isNeverType, } from "@typespec/compiler";
4
+ import { getHeaderFieldName, getHttpOperation, getOperationVerb, isBody, isHeader, } from "@typespec/http";
5
5
  import { getActionDetails, getResourceLocationType, getResourceOperation, } from "@typespec/rest";
6
- import { extractLroStates, FinalOperationKey, getLroResult, getOperationLink, getOperationLinks, isFinalLocation, isPollingLocation, PollingOperationKey, } from "./decorators.js";
6
+ import { extractLroStates, FinalOperationKey, getFinalLocationValue, getLroResult, getOperationLink, getOperationLinks, getPollingLocationInfo, isFinalLocation, isPollingLocation, PollingOperationKey, pollingOptionsKind, } from "./decorators.js";
7
7
  /**
8
8
  * Azure SDK polling information: provides data contained in the
9
9
  * long-running-operation-options.final-state-via field
@@ -22,8 +22,6 @@ export var FinalStateValue;
22
22
  FinalStateValue["customLink"] = "custom-link";
23
23
  /** Call a polling operation using the data in LroMetadata */
24
24
  FinalStateValue["customOperationReference"] = "custom-operation-reference";
25
- /** Operation should return no result */
26
- FinalStateValue["noResult"] = "no-result";
27
25
  })(FinalStateValue || (FinalStateValue = {}));
28
26
  /**
29
27
  *
@@ -40,7 +38,7 @@ export function getLroMetadata(program, operation) {
40
38
  processFinalReference(program, operation, context);
41
39
  processFinalLink(program, operation, context);
42
40
  const nextReference = processStatusMonitorReference(program, operation, context);
43
- if (nextReference !== undefined) {
41
+ if (nextReference !== undefined && nextReference.responseModel.kind === "Model") {
44
42
  context.statusMonitorStep = nextReference;
45
43
  processFinalReference(program, nextReference.target.operation, context);
46
44
  processFinalLink(program, nextReference.target.operation, context);
@@ -58,15 +56,17 @@ export function getLroMetadata(program, operation) {
58
56
  return undefined;
59
57
  }
60
58
  function createFinalOperationLink(program, model, property) {
61
- var _a;
59
+ var _a, _b;
62
60
  let resourceType;
63
61
  // if finalOperationLink is a ResourceLocation, then the responseModel is the resource type
64
62
  if (property.type.kind === "Scalar" && property.type.name === "ResourceLocation") {
65
63
  resourceType = (_a = property.type.templateMapper) === null || _a === void 0 ? void 0 : _a.args[0];
66
64
  }
65
+ // override this value if specified by the `@finalLocation` decorator
66
+ const override = getFinalLocationValue(program, property);
67
67
  return {
68
68
  kind: "finalOperationLink",
69
- responseModel: resourceType !== null && resourceType !== void 0 ? resourceType : model,
69
+ responseModel: (_b = override !== null && override !== void 0 ? override : resourceType) !== null && _b !== void 0 ? _b : model,
70
70
  target: {
71
71
  kind: "link",
72
72
  location: isHeader(program, property) ? "ResponseHeader" : "ResponseBody",
@@ -82,18 +82,18 @@ function createLroMetadata(program, operation, context) {
82
82
  const logicalPathName = ((_a = context.finalStep) === null || _a === void 0 ? void 0 : _a.kind) === "pollingSuccessProperty"
83
83
  ? context.finalStep.target.name
84
84
  : undefined;
85
- let finalResult = model;
86
- let finalEnvelopeResult = model;
85
+ let finalResult = model.kind === "Model" ? model : "void";
86
+ let finalEnvelopeResult = model.kind === "Model" ? model : "void";
87
87
  if (context.finalStep && context.finalStep.kind === "pollingSuccessProperty") {
88
88
  finalEnvelopeResult = context.pollingStep.responseModel;
89
89
  }
90
- else if (finalState === FinalStateValue.noResult) {
90
+ else if (context.finalStep && context.finalStep.kind === "noPollingResult") {
91
91
  finalResult = "void";
92
92
  finalEnvelopeResult = "void";
93
93
  }
94
94
  return {
95
95
  operation: operation,
96
- logicalResult: model,
96
+ logicalResult: model.kind === "Intrinsic" ? context.pollingStep.responseModel : model,
97
97
  finalStateVia: finalState,
98
98
  statusMonitorStep: context.statusMonitorStep,
99
99
  pollingInfo: context.pollingStep,
@@ -106,9 +106,14 @@ function createLroMetadata(program, operation, context) {
106
106
  };
107
107
  }
108
108
  function createOperationLink(program, modelProperty) {
109
+ let location = "ResponseBody";
110
+ if (isHeader(program, modelProperty))
111
+ location = "ResponseHeader";
112
+ if (isBody(program, modelProperty))
113
+ location = "Self";
109
114
  return {
110
115
  kind: "link",
111
- location: isHeader(program, modelProperty) ? "ResponseHeader" : "ResponseBody",
116
+ location: location,
112
117
  property: modelProperty,
113
118
  };
114
119
  }
@@ -171,20 +176,30 @@ function ensureContext(program, operation, context) {
171
176
  originalModel: candidate,
172
177
  };
173
178
  }
179
+ function getBodyType(program, model) {
180
+ const bodyProps = filterModelProperties(model, (p) => isBody(program, p));
181
+ if (bodyProps.length === 1 && bodyProps[0].type.kind === "Model")
182
+ return bodyProps[0].type;
183
+ return undefined;
184
+ }
174
185
  function getLogicalResourceOperation(program, operation, model) {
175
186
  const resOp = getResourceOperation(program, operation);
176
187
  if (resOp !== undefined)
177
188
  return resOp;
178
189
  if (model === undefined)
179
190
  return undefined;
191
+ const bodyModel = getBodyType(program, model);
192
+ if (bodyModel !== undefined)
193
+ model = bodyModel;
194
+ model = getEffectiveModelType(program, model);
180
195
  let resultOp;
181
196
  const verb = getOperationVerb(program, operation);
182
197
  switch (verb) {
183
198
  case "delete":
184
- resultOp = "deletesResource";
199
+ resultOp = "delete";
185
200
  break;
186
201
  case "put":
187
- resultOp = "createsOrReplacesResource";
202
+ resultOp = "createOrReplace";
188
203
  break;
189
204
  default:
190
205
  return undefined;
@@ -197,12 +212,15 @@ function getFinalStateVia(program, operation, context) {
197
212
  let model = ((_a = context.originalModel) === null || _a === void 0 ? void 0 : _a.name) !== undefined ? context.originalModel : undefined;
198
213
  let finalState = FinalStateValue.originalUri;
199
214
  const resOp = getLogicalResourceOperation(program, operation, model);
200
- if (operationAction !== undefined || (resOp !== undefined && resOp.operation === "delete")) {
215
+ if (operationAction !== undefined || (resOp === null || resOp === void 0 ? void 0 : resOp.operation) === "delete") {
201
216
  finalState = FinalStateValue.operationLocation;
202
217
  model = (_c = (_b = context.pollingStep) === null || _b === void 0 ? void 0 : _b.responseModel) !== null && _c !== void 0 ? _c : context.originalModel;
203
218
  }
204
219
  if (context.finalStep &&
205
- (context.finalStep.kind !== "pollingSuccessProperty" || (resOp === null || resOp === void 0 ? void 0 : resOp.operation) !== "createOrReplace")) {
220
+ context.finalStep.kind !== "noPollingResult" &&
221
+ (context.finalStep.kind !== "pollingSuccessProperty" ||
222
+ (resOp === null || resOp === void 0 ? void 0 : resOp.operation) === undefined ||
223
+ resOp.operation !== "createOrReplace")) {
206
224
  model = context.finalStep.responseModel;
207
225
  if (context.finalStep.kind === "pollingSuccessProperty" &&
208
226
  context.statusMonitorStep !== undefined) {
@@ -220,6 +238,7 @@ function getFinalStateVia(program, operation, context) {
220
238
  return [finalState, model];
221
239
  }
222
240
  if (resOp !== undefined &&
241
+ resOp.operation !== undefined &&
223
242
  resOp.operation === "createOrReplace" &&
224
243
  resOp.resourceType !== undefined) {
225
244
  model = resOp.resourceType;
@@ -229,8 +248,7 @@ function getFinalStateVia(program, operation, context) {
229
248
  if ((operationAction !== undefined &&
230
249
  operationAction !== null &&
231
250
  context.statusMonitorStep !== undefined) ||
232
- ((resOp === null || resOp === void 0 ? void 0 : resOp.operation) !== undefined &&
233
- resOp.operation === "delete" &&
251
+ ((resOp === null || resOp === void 0 ? void 0 : resOp.operation) === "delete" &&
234
252
  context.pollingStep !== undefined &&
235
253
  context.statusMonitorStep !== undefined) ||
236
254
  (operationAction === undefined &&
@@ -239,10 +257,10 @@ function getFinalStateVia(program, operation, context) {
239
257
  context.statusMonitorStep !== undefined)) {
240
258
  const info = getStatusMonitorInfo(program, context.statusMonitorStep.responseModel);
241
259
  if (info !== undefined) {
242
- model = (_d = info.successType) !== null && _d !== void 0 ? _d : info.monitorType;
260
+ model = (_d = info.successType) !== null && _d !== void 0 ? _d : program.checker.voidType;
243
261
  finalState = getStatusFromLinkOrReference(program, operation, (_e = context.statusMonitorStep) === null || _e === void 0 ? void 0 : _e.target);
244
262
  if (context.finalStep === undefined && info.successProperty === undefined) {
245
- finalState = FinalStateValue.noResult;
263
+ context.finalStep = { kind: "noPollingResult", responseModel: program.checker.voidType };
246
264
  }
247
265
  }
248
266
  }
@@ -250,7 +268,7 @@ function getFinalStateVia(program, operation, context) {
250
268
  }
251
269
  function getLroStatusFromHeaderProperty(program, property) {
252
270
  let finalState;
253
- if (!isHeader(program, property))
271
+ if (property === undefined || !isHeader(program, property))
254
272
  return FinalStateValue.customLink;
255
273
  const name = getHeaderFieldName(program, property);
256
274
  if (name === undefined)
@@ -259,6 +277,7 @@ function getLroStatusFromHeaderProperty(program, property) {
259
277
  case "operation-location":
260
278
  finalState = FinalStateValue.operationLocation;
261
279
  break;
280
+ case "azure-asyncoperation":
262
281
  case "azureasyncoperation":
263
282
  finalState = FinalStateValue.azureAsyncOperation;
264
283
  break;
@@ -286,10 +305,10 @@ function getPollingStep(program, modelOrOperation, context) {
286
305
  if (((_a = context.pollingOperationLink) === null || _a === void 0 ? void 0 : _a.parameterMap) === undefined)
287
306
  return undefined;
288
307
  const statusMonitorOverride = (_c = (_b = context.pollingOperationLink) === null || _b === void 0 ? void 0 : _b.result) === null || _c === void 0 ? void 0 : _c.statusMonitor;
289
- if (statusMonitorOverride !== undefined && statusMonitorOverride.type !== undefined) {
308
+ if (statusMonitorOverride !== undefined && statusMonitorOverride.monitorType !== undefined) {
290
309
  info = {
291
- lroStates: statusMonitorOverride.states,
292
- monitorType: statusMonitorOverride.type,
310
+ lroStates: statusMonitorOverride.lroStates,
311
+ monitorType: statusMonitorOverride.monitorType,
293
312
  statusProperty: statusMonitorOverride.statusProperty,
294
313
  errorProperty: statusMonitorOverride.errorProperty,
295
314
  errorType: getModel(statusMonitorOverride.errorProperty),
@@ -312,8 +331,6 @@ function getPollingStep(program, modelOrOperation, context) {
312
331
  return createPollingStep(info);
313
332
  }
314
333
  function getStatusFromLinkOrReference(program, sourceOperation, target) {
315
- if (target === null)
316
- return FinalStateValue.noResult;
317
334
  let finalState = FinalStateValue.originalUri;
318
335
  switch (target.kind) {
319
336
  case "link":
@@ -344,10 +361,17 @@ function getStatusFromLinkOrReference(program, sourceOperation, target) {
344
361
  * @param program The program being processed
345
362
  * @param link The link to the status monitor
346
363
  */
347
- function getStatusMonitorInfo(program, modelOrLink) {
364
+ function getStatusMonitorInfo(program, modelOrLink, pollingOverride) {
365
+ if ((pollingOverride === null || pollingOverride === void 0 ? void 0 : pollingOverride.kind) === pollingOptionsKind.StatusMonitor) {
366
+ return {
367
+ ...pollingOverride.info,
368
+ };
369
+ }
348
370
  if (modelOrLink.kind === "link") {
371
+ if (modelOrLink.property === undefined)
372
+ return undefined;
349
373
  const statusMonitorType = resolveOperationLocation(program, modelOrLink.property);
350
- if (statusMonitorType === undefined)
374
+ if (statusMonitorType === undefined || statusMonitorType.kind === "Intrinsic")
351
375
  return undefined;
352
376
  modelOrLink = statusMonitorType;
353
377
  }
@@ -379,27 +403,37 @@ function getStatusMonitorLinks(program, operation) {
379
403
  return getStatusMonitorLinksFromModel(program, models[0]);
380
404
  }
381
405
  function getStatusMonitorLinksFromModel(program, model) {
382
- const pollingLinks = filterModelProperties(model, (prop) => isPollingLocation(program, prop));
383
- if (pollingLinks === undefined || pollingLinks.length !== 1)
406
+ let pollingData = undefined;
407
+ let pollingLinks = filterModelProperties(model, (prop) => isPollingLocation(program, prop));
408
+ if (pollingLinks === undefined)
384
409
  return undefined;
385
- const pollingLink = createOperationLink(program, pollingLinks[0]);
386
- const monitorInfo = getStatusMonitorInfo(program, pollingLink);
410
+ // favor status monitor links over stepwise polling
411
+ if (pollingLinks.length > 1) {
412
+ pollingLinks = pollingLinks.filter((p) => !isBody(program, p));
413
+ }
414
+ const pollingProperty = pollingLinks[0];
415
+ pollingData = getPollingLocationInfo(program, pollingProperty);
416
+ const pollingLink = createOperationLink(program, pollingProperty);
417
+ const monitorInfo = getStatusMonitorInfo(program, pollingLink, pollingData);
387
418
  if (monitorInfo === undefined)
388
419
  return undefined;
389
- const finalLinks = filterModelProperties(model, (prop) => isFinalLocation(program, prop));
420
+ let finalLinks = filterModelProperties(model, (prop) => isFinalLocation(program, prop));
421
+ if ((finalLinks === undefined || finalLinks.length !== 1) && monitorInfo.monitorType) {
422
+ finalLinks = filterModelProperties(monitorInfo.monitorType, (prop) => isFinalLocation(program, prop));
423
+ }
390
424
  const finalLink = finalLinks === undefined || finalLinks.length !== 1
391
425
  ? undefined
392
426
  : createOperationLink(program, finalLinks[0]);
393
427
  let finalTarget;
394
- if (finalLink !== undefined) {
395
- finalTarget = getTargetModelInformation(program, finalLink);
428
+ if (finalLink !== undefined && finalLink.property !== undefined) {
429
+ finalTarget = resolveOperationLocation(program, finalLink.property);
396
430
  }
397
431
  return {
398
432
  model: monitorInfo.monitorType,
399
433
  statusMonitor: pollingLink,
400
434
  pollingData: monitorInfo,
401
435
  final: finalLink,
402
- finalModel: finalTarget === undefined ? undefined : finalTarget[0],
436
+ finalModel: finalTarget,
403
437
  };
404
438
  }
405
439
  /**
@@ -409,9 +443,13 @@ function getStatusMonitorLinksFromModel(program, model) {
409
443
  * @param link The link pointing to the monitor
410
444
  */
411
445
  function getTargetModelInformation(program, modelOrLink) {
446
+ if (modelOrLink.kind === "Intrinsic")
447
+ return undefined;
412
448
  if (modelOrLink.kind === "link") {
449
+ if (modelOrLink.property === undefined)
450
+ return undefined;
413
451
  const linkModel = resolveOperationLocation(program, modelOrLink.property);
414
- if (linkModel === undefined)
452
+ if (linkModel === undefined || linkModel.kind === "Intrinsic")
415
453
  return undefined;
416
454
  modelOrLink = linkModel;
417
455
  }
@@ -492,8 +530,8 @@ function createStatusMonitorPollingData(data) {
492
530
  return (property === null || property === void 0 ? void 0 : property.type.kind) === "Model" ? property.type : undefined;
493
531
  }
494
532
  return {
495
- lroStates: data.states,
496
- monitorType: data.type,
533
+ lroStates: data.lroStates,
534
+ monitorType: data.monitorType,
497
535
  statusProperty: data.statusProperty,
498
536
  errorProperty: data.errorProperty,
499
537
  errorType: getModel(data.errorProperty),
@@ -507,7 +545,7 @@ function processStatusMonitorLink(program, modelOrOperation, context) {
507
545
  if (((_b = (_a = context.pollingOperationLink) === null || _a === void 0 ? void 0 : _a.result) === null || _b === void 0 ? void 0 : _b.statusMonitor) && ((_c = context.pollingOperationLink) === null || _c === void 0 ? void 0 : _c.link)) {
508
546
  const polling = createStatusMonitorPollingData(context.pollingOperationLink.result.statusMonitor);
509
547
  lroData = {
510
- model: context.pollingOperationLink.result.statusMonitor.type,
548
+ model: context.pollingOperationLink.result.statusMonitor.monitorType,
511
549
  pollingData: polling,
512
550
  statusMonitor: context.pollingOperationLink.link,
513
551
  };
@@ -535,7 +573,8 @@ function processStatusMonitorLink(program, modelOrOperation, context) {
535
573
  };
536
574
  }
537
575
  else if (lroData.pollingData.successProperty !== undefined &&
538
- lroData.pollingData.successType !== undefined) {
576
+ lroData.pollingData.successType !== undefined &&
577
+ lroData.pollingData.successType.kind !== "Intrinsic") {
539
578
  const final = {
540
579
  kind: "pollingSuccessProperty",
541
580
  target: lroData.pollingData.successProperty,
@@ -597,6 +636,9 @@ function processStatusMonitorReference(program, referencedOperation, context) {
597
636
  };
598
637
  }
599
638
  function resolveOperationLocation(program, property) {
639
+ const override = getFinalLocationValue(program, property);
640
+ if (override)
641
+ return override;
600
642
  const resolvedScalar = resolveToScalarType(program, property.type);
601
643
  if (resolvedScalar === undefined)
602
644
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"lro-helpers.js","sourceRoot":"","sources":["../../src/lro-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lro-helpers.js","sourceRoot":"","sources":["../../src/lro-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Diagnostic, Model, ModelProperty, Operation, Program } from "@typespec/compiler";
1
+ import { Diagnostic, IntrinsicType, Model, ModelProperty, Operation, Program } from "@typespec/compiler";
2
2
  import { LongRunningStates, ModelPropertyTerminationStatus, OperationLink } from "./index.js";
3
3
  export interface LroOperationInfo {
4
4
  getInvocationInfo(): OperationInvocationInfo | undefined;
@@ -23,16 +23,19 @@ export interface ResultInfo {
23
23
  /** Metadata for the STatusMonitor */
24
24
  export interface StatusMonitorMetadata {
25
25
  /** The model type of the status monitor */
26
- type: Model;
26
+ monitorType: Model;
27
27
  /** Information on polling status property and termina states */
28
28
  terminationInfo: ModelPropertyTerminationStatus;
29
- states: LongRunningStates;
29
+ lroStates: LongRunningStates;
30
30
  /** The property containing the response when polling terminates with success */
31
31
  successProperty?: ModelProperty;
32
32
  /** The property containing error information when polling terminates with failure */
33
33
  errorProperty?: ModelProperty;
34
34
  statusProperty: ModelProperty;
35
+ successType: Model | IntrinsicType;
36
+ errorType?: Model;
35
37
  }
36
38
  export type SourceKind = "RequestParameter" | "RequestBody" | "ResponseBody";
39
+ export declare function extractStatusMonitorInfo(program: Program, model: Model, statusProperty: ModelProperty): [StatusMonitorMetadata | undefined, readonly Diagnostic[]];
37
40
  export declare function getLroOperationInfo(program: Program, sourceOperation: Operation, targetOperation: Operation, parameters?: Model): [LroOperationInfo | undefined, readonly Diagnostic[]];
38
41
  //# sourceMappingURL=lro-info.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lro-info.d.ts","sourceRoot":"","sources":["../../src/lro-info.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,EACL,aAAa,EACb,SAAS,EACT,OAAO,EAMR,MAAM,oBAAoB,CAAC;AAS5B,OAAO,EACL,iBAAiB,EACjB,8BAA8B,EAC9B,aAAa,EAQd,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,IAAI,uBAAuB,GAAG,SAAS,CAAC;IACzD,gBAAgB,IAAI,aAAa,GAAG,SAAS,CAAC;IAC9C,aAAa,IAAI,UAAU,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACxC,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,KAAK,CAAC;IAEb,kDAAkD;IAClD,aAAa,CAAC,EAAE,qBAAqB,CAAC;CACvC;AACD,qCAAqC;AACrC,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,IAAI,EAAE,KAAK,CAAC;IACZ,gEAAgE;IAChE,eAAe,EAAE,8BAA8B,CAAC;IAEhD,MAAM,EAAE,iBAAiB,CAAC;IAE1B,gFAAgF;IAChF,eAAe,CAAC,EAAE,aAAa,CAAC;IAEhC,qFAAqF;IACrF,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B,cAAc,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,MAAM,UAAU,GAAG,kBAAkB,GAAG,aAAa,GAAG,cAAc,CAAC;AAE7E,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,SAAS,EAC1B,eAAe,EAAE,SAAS,EAC1B,UAAU,CAAC,EAAE,KAAK,GACjB,CAAC,gBAAgB,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CA6WvD"}
1
+ {"version":3,"file":"lro-info.d.ts","sourceRoot":"","sources":["../../src/lro-info.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,aAAa,EACb,KAAK,EACL,aAAa,EACb,SAAS,EACT,OAAO,EAMR,MAAM,oBAAoB,CAAC;AAS5B,OAAO,EACL,iBAAiB,EACjB,8BAA8B,EAC9B,aAAa,EAQd,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,IAAI,uBAAuB,GAAG,SAAS,CAAC;IACzD,gBAAgB,IAAI,aAAa,GAAG,SAAS,CAAC;IAC9C,aAAa,IAAI,UAAU,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACxC,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,KAAK,CAAC;IAEb,kDAAkD;IAClD,aAAa,CAAC,EAAE,qBAAqB,CAAC;CACvC;AACD,qCAAqC;AACrC,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,WAAW,EAAE,KAAK,CAAC;IACnB,gEAAgE;IAChE,eAAe,EAAE,8BAA8B,CAAC;IAEhD,SAAS,EAAE,iBAAiB,CAAC;IAE7B,gFAAgF;IAChF,eAAe,CAAC,EAAE,aAAa,CAAC;IAEhC,qFAAqF;IACrF,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B,cAAc,EAAE,aAAa,CAAC;IAE9B,WAAW,EAAE,KAAK,GAAG,aAAa,CAAC;IAEnC,SAAS,CAAC,EAAE,KAAK,CAAC;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,kBAAkB,GAAG,aAAa,GAAG,cAAc,CAAC;AAE7E,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,aAAa,GAC5B,CAAC,qBAAqB,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CAgC5D;AACD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,SAAS,EAC1B,eAAe,EAAE,SAAS,EAC1B,UAAU,CAAC,EAAE,KAAK,GACjB,CAAC,gBAAgB,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CA4UvD"}
@@ -3,6 +3,35 @@ import { getHeaderFieldName, getOperationParameters, getResponsesForOperation, i
3
3
  import { extractLroStates, getLongRunningStates, getLroErrorResult, getLroResult, getLroStatusProperty, getPollingOperationParameter, isPollingLocation, } from "./index.js";
4
4
  import { createDiagnostic } from "./lib.js";
5
5
  import { getAllProperties } from "./utils.js";
6
+ export function extractStatusMonitorInfo(program, model, statusProperty) {
7
+ var _a, _b, _c, _d;
8
+ const diagnosticsToToss = createDiagnosticCollector();
9
+ const diagnosticsToKeep = createDiagnosticCollector();
10
+ const lroResult = diagnosticsToKeep.pipe(getLroResult(program, model, true));
11
+ const successProperty = (lroResult === null || lroResult === void 0 ? void 0 : lroResult.kind) === "ModelProperty" ? lroResult : undefined;
12
+ const errorProperty = diagnosticsToKeep.pipe(getLroErrorResult(program, model, true));
13
+ const states = (_a = getLongRunningStates(program, statusProperty)) !== null && _a !== void 0 ? _a : diagnosticsToToss.pipe(extractLroStates(program, statusProperty));
14
+ if (!states || !statusProperty)
15
+ return diagnosticsToKeep.wrap(undefined);
16
+ return diagnosticsToKeep.wrap({
17
+ monitorType: (_b = getEffectiveModelType(program, model, (p) => !isMetadata(program, p))) !== null && _b !== void 0 ? _b : model,
18
+ successProperty: successProperty,
19
+ errorProperty: errorProperty,
20
+ statusProperty: statusProperty,
21
+ lroStates: states,
22
+ errorType: (errorProperty === null || errorProperty === void 0 ? void 0 : errorProperty.type.kind) === "Model" ? errorProperty.type : undefined,
23
+ successType: ((_c = successProperty === null || successProperty === void 0 ? void 0 : successProperty.type) === null || _c === void 0 ? void 0 : _c.kind) === "Intrinsic" || ((_d = successProperty === null || successProperty === void 0 ? void 0 : successProperty.type) === null || _d === void 0 ? void 0 : _d.kind) === "Model"
24
+ ? successProperty.type
25
+ : program.checker.voidType,
26
+ terminationInfo: {
27
+ kind: "model-property",
28
+ property: statusProperty,
29
+ canceledState: states.canceledState,
30
+ failedState: states.failedState,
31
+ succeededState: states.succeededState,
32
+ },
33
+ });
34
+ }
6
35
  export function getLroOperationInfo(program, sourceOperation, targetOperation, parameters) {
7
36
  const diagnostics = createDiagnosticCollector();
8
37
  const targetResponses = diagnostics.pipe(getResponsesForOperation(program, targetOperation));
@@ -84,7 +113,7 @@ export function getLroOperationInfo(program, sourceOperation, targetOperation, p
84
113
  visitResponse(program, response, (m) => {
85
114
  const status = getLroStatusProperty(program, m);
86
115
  if (status !== undefined) {
87
- result = diagnostics.pipe(extractStatusMonitorInfo(m, status));
116
+ result = diagnostics.pipe(extractStatusMonitorInfo(program, m, status));
88
117
  }
89
118
  });
90
119
  if (result) {
@@ -240,31 +269,6 @@ export function getLroOperationInfo(program, sourceOperation, targetOperation, p
240
269
  }
241
270
  }
242
271
  }
243
- function extractStatusMonitorInfo(model, statusProperty) {
244
- var _a, _b;
245
- const diagnosticsToToss = createDiagnosticCollector();
246
- const diagnosticsToKeep = createDiagnosticCollector();
247
- const lroResult = diagnosticsToKeep.pipe(getLroResult(program, model, true));
248
- const successProperty = (lroResult === null || lroResult === void 0 ? void 0 : lroResult.kind) === "ModelProperty" ? lroResult : undefined;
249
- const errorProperty = diagnosticsToKeep.pipe(getLroErrorResult(program, model, true));
250
- const states = (_a = getLongRunningStates(program, statusProperty)) !== null && _a !== void 0 ? _a : diagnosticsToToss.pipe(extractLroStates(program, statusProperty));
251
- if (!states || !statusProperty)
252
- return diagnosticsToKeep.wrap(undefined);
253
- return diagnosticsToKeep.wrap({
254
- type: (_b = getEffectiveModelType(program, model, (p) => !isMetadata(program, p))) !== null && _b !== void 0 ? _b : model,
255
- successProperty: successProperty,
256
- errorProperty: errorProperty,
257
- statusProperty: statusProperty,
258
- states: states,
259
- terminationInfo: {
260
- kind: "model-property",
261
- property: statusProperty,
262
- canceledState: states.canceledState,
263
- failedState: states.failedState,
264
- succeededState: states.succeededState,
265
- },
266
- });
267
- }
268
272
  function extractPollinglink(property) {
269
273
  let isKnownLinkHeader = false;
270
274
  if (isHeader(program, property)) {
@@ -1 +1 @@
1
- {"version":3,"file":"lro-info.js","sourceRoot":"","sources":["../../src/lro-info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lro-info.js","sourceRoot":"","sources":["../../src/lro-info.ts"],"names":[],"mappings":"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"}
@@ -64,13 +64,18 @@ namespace Azure {
64
64
 
65
65
  /**
66
66
  * Identifies a model property as containing the location to poll for operation state.
67
+ * @param options PollingOptions for the poller pointed to by this link. Overrides
68
+ * settings derived from property value it is decorating, if the value of the
69
+ * property is ResourceLocation<T>
67
70
  */
68
- extern dec pollingLocation(entity: ModelProperty);
71
+ extern dec pollingLocation(entity: ModelProperty, options?: PollingOptions);
69
72
 
70
73
  /**
71
74
  * Identifies a ModelProperty as containing the final location for the operation result.
75
+ * @param finalResult Sets the expected return value for the final result. Overrides
76
+ * any value provided in the decorated property, if the property uses ResourceLocation<T>.
72
77
  */
73
- extern dec finalLocation(entity: ModelProperty);
78
+ extern dec finalLocation(entity: ModelProperty, finalResult?: Model | void);
74
79
 
75
80
  /**
76
81
  * Identifies an operation that is linked to the target operation.
package/lib/models.tsp CHANGED
@@ -226,6 +226,59 @@ model RequestIdResponseHeader {
226
226
  @Foundations.Private.embeddingVector(TType)
227
227
  model EmbeddingVector<TType extends numeric = float32> is Array<TType>;
228
228
 
229
+ /**
230
+ * Options for overriding a polling endpoint that uses a StatusMonitor
231
+ * @template PollingModel The model that is returned when polling should continue.
232
+ * @template FinalResult The model that is returned when polling terminates successfully.
233
+ * @template FinalProperty The property of the status monitor that contains results.
234
+ */
235
+ model StatusMonitorPollingOptions<
236
+ PollingModel extends TypeSpec.Reflection.Model | void = never,
237
+ FinalResult extends TypeSpec.Reflection.Model | void = never,
238
+ FinalProperty extends TypeSpec.Reflection.ModelProperty | (valueof string) = never
239
+ > extends StatusMonitorOptions {
240
+ /** The kind of polling options */
241
+ kind: PollingOptionKind.statusMonitor;
242
+
243
+ /** The model that is returned when polling should continue */
244
+ pollingModel: PollingModel;
245
+
246
+ /** The model that is returned when polling terminates successfully */
247
+ finalResult: FinalResult;
248
+
249
+ /** The property of the status monitor that contains results */
250
+ finalProperty: FinalProperty;
251
+ }
252
+
253
+ /** Options for Lro status monitors. */
254
+ model StatusMonitorOptions extends PollingOptions {
255
+ /** The kind of polling options */
256
+ kind: PollingOptionKind.statusMonitor;
257
+
258
+ /** A reference to or name of the property of the status monitor that contains the response */
259
+ finalProperty?: TypeSpec.Reflection.ModelProperty | (valueof string);
260
+ }
261
+
262
+ /** Generic polling options for LRO operations. */
263
+ model PollingOptions {
264
+ /** The kind of polling options */
265
+ kind: PollingOptionKind;
266
+
267
+ /** The model that is returned when polling should continue. */
268
+ pollingModel?: TypeSpec.Reflection.Model | void;
269
+
270
+ /** The type that is returned when polling terminates successfully. */
271
+ finalResult?: TypeSpec.Reflection.Model | void;
272
+ }
273
+
274
+ /** The available kinds of polling options */
275
+ union PollingOptionKind {
276
+ /** Polling options for a status monitor */
277
+ statusMonitor: "statusMonitor",
278
+
279
+ string,
280
+ }
281
+
229
282
  /**
230
283
  * Universally Unique Identifier
231
284
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure-tools/typespec-azure-core",
3
- "version": "0.37.1",
3
+ "version": "0.37.2",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec Azure Core library",
6
6
  "homepage": "https://azure.github.io/typespec-azure",