@typespec/rest 0.44.0-dev.2 → 0.44.0-dev.4

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/dist/src/lib.d.ts CHANGED
@@ -17,8 +17,11 @@ declare const restLib: import("@typespec/compiler").TypeSpecLibrary<{
17
17
  "invalid-action-name": {
18
18
  readonly default: "Action name cannot be empty string.";
19
19
  };
20
+ "shared-route-unspecified-action-name": {
21
+ readonly default: import("@typespec/compiler").CallableMessage<["decoratorName"]>;
22
+ };
20
23
  }, Record<string, any>>;
21
- declare const reportDiagnostic: <C extends "not-key-type" | "resource-missing-key" | "resource-missing-error" | "duplicate-key" | "duplicate-parent-key" | "invalid-action-name", M extends keyof {
24
+ declare const reportDiagnostic: <C extends "not-key-type" | "resource-missing-key" | "resource-missing-error" | "duplicate-key" | "duplicate-parent-key" | "invalid-action-name" | "shared-route-unspecified-action-name", M extends keyof {
22
25
  "not-key-type": {
23
26
  readonly default: "Cannot copy keys from a non-key type (KeysOf<T> or ParentKeysOf<T>)";
24
27
  };
@@ -37,6 +40,9 @@ declare const reportDiagnostic: <C extends "not-key-type" | "resource-missing-ke
37
40
  "invalid-action-name": {
38
41
  readonly default: "Action name cannot be empty string.";
39
42
  };
43
+ "shared-route-unspecified-action-name": {
44
+ readonly default: import("@typespec/compiler").CallableMessage<["decoratorName"]>;
45
+ };
40
46
  }[C]>(program: import("@typespec/compiler").Program, diag: import("@typespec/compiler").DiagnosticReport<{
41
47
  "not-key-type": {
42
48
  readonly default: "Cannot copy keys from a non-key type (KeysOf<T> or ParentKeysOf<T>)";
@@ -56,7 +62,10 @@ declare const reportDiagnostic: <C extends "not-key-type" | "resource-missing-ke
56
62
  "invalid-action-name": {
57
63
  readonly default: "Action name cannot be empty string.";
58
64
  };
59
- }, C, M>) => void, createDiagnostic: <C extends "not-key-type" | "resource-missing-key" | "resource-missing-error" | "duplicate-key" | "duplicate-parent-key" | "invalid-action-name", M extends keyof {
65
+ "shared-route-unspecified-action-name": {
66
+ readonly default: import("@typespec/compiler").CallableMessage<["decoratorName"]>;
67
+ };
68
+ }, C, M>) => void, createDiagnostic: <C extends "not-key-type" | "resource-missing-key" | "resource-missing-error" | "duplicate-key" | "duplicate-parent-key" | "invalid-action-name" | "shared-route-unspecified-action-name", M extends keyof {
60
69
  "not-key-type": {
61
70
  readonly default: "Cannot copy keys from a non-key type (KeysOf<T> or ParentKeysOf<T>)";
62
71
  };
@@ -75,6 +84,9 @@ declare const reportDiagnostic: <C extends "not-key-type" | "resource-missing-ke
75
84
  "invalid-action-name": {
76
85
  readonly default: "Action name cannot be empty string.";
77
86
  };
87
+ "shared-route-unspecified-action-name": {
88
+ readonly default: import("@typespec/compiler").CallableMessage<["decoratorName"]>;
89
+ };
78
90
  }[C]>(diag: import("@typespec/compiler").DiagnosticReport<{
79
91
  "not-key-type": {
80
92
  readonly default: "Cannot copy keys from a non-key type (KeysOf<T> or ParentKeysOf<T>)";
@@ -94,6 +106,9 @@ declare const reportDiagnostic: <C extends "not-key-type" | "resource-missing-ke
94
106
  "invalid-action-name": {
95
107
  readonly default: "Action name cannot be empty string.";
96
108
  };
109
+ "shared-route-unspecified-action-name": {
110
+ readonly default: import("@typespec/compiler").CallableMessage<["decoratorName"]>;
111
+ };
97
112
  }, C, M>) => import("@typespec/compiler").Diagnostic, createStateSymbol: (name: string) => symbol;
98
113
  export { restLib, reportDiagnostic, createDiagnostic, createStateSymbol };
99
114
  //# sourceMappingURL=lib.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AA4CA,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;uBAAuC,CAAC;AACrD,QAAA,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAAE,iBAAiB,0BAAY,CAAC;AAE1E,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAkDA,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;uBAAuC,CAAC;AACrD,QAAA,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAAE,iBAAiB,0BAAY,CAAC;AAE1E,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC"}
package/dist/src/lib.js CHANGED
@@ -38,6 +38,12 @@ const libDefinition = {
38
38
  default: "Action name cannot be empty string.",
39
39
  },
40
40
  },
41
+ "shared-route-unspecified-action-name": {
42
+ severity: "error",
43
+ messages: {
44
+ default: paramMessage `An operation marked as '@sharedRoute' must have an explicit collection action name passed to '${"decoratorName"}'.`,
45
+ },
46
+ },
41
47
  },
42
48
  };
43
49
  const restLib = createTypeSpecLibrary(libDefinition);
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,aAAa,GAAG;IACpB,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE;QACX,cAAc,EAAE;YACd,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,qEAAqE;aAC/E;SACF;QACD,sBAAsB,EAAE;YACtB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,SAAS,WAAW,qGAAqG;aAC/I;SACF;QACD,wBAAwB,EAAE;YACxB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,SAAS,WAAW,6EAA6E;aACvH;SACF;QACD,eAAe,EAAE;YACf,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,yCAAyC,cAAc,EAAE;aAC/E;SACF;QACD,sBAAsB,EAAE;YACtB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,kBAAkB,cAAc,+BAA+B,SAAS,oEAAoE;aAClK;SACF;QACD,qBAAqB,EAAE;YACrB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,qCAAqC;aAC/C;SACF;KACF;CACO,CAAC;AAEX,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;AACrD,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;AAE1E,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,aAAa,GAAG;IACpB,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE;QACX,cAAc,EAAE;YACd,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,qEAAqE;aAC/E;SACF;QACD,sBAAsB,EAAE;YACtB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,SAAS,WAAW,qGAAqG;aAC/I;SACF;QACD,wBAAwB,EAAE;YACxB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,SAAS,WAAW,6EAA6E;aACvH;SACF;QACD,eAAe,EAAE;YACf,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,yCAAyC,cAAc,EAAE;aAC/E;SACF;QACD,sBAAsB,EAAE;YACtB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,kBAAkB,cAAc,+BAA+B,SAAS,oEAAoE;aAClK;SACF;QACD,qBAAqB,EAAE;YACrB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,qCAAqC;aAC/C;SACF;QACD,sCAAsC,EAAE;YACtC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,iGAAiG,eAAe,IAAI;aAC1I;SACF;KACF;CACO,CAAC;AAEX,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;AACrD,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;AAE1E,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -65,9 +65,37 @@ export declare function $deletesResource(context: DecoratorContext, entity: Oper
65
65
  export declare function $listsResource(context: DecoratorContext, entity: Operation, resourceType: Model): void;
66
66
  export declare function $actionSegment(context: DecoratorContext, entity: Operation, name: string): void;
67
67
  export declare function getActionSegment(program: Program, entity: Type): string | undefined;
68
+ /**
69
+ * Provides details about an action or collection action.
70
+ */
71
+ export interface ActionDetails {
72
+ /**
73
+ * The name of the action
74
+ */
75
+ name: string;
76
+ /**
77
+ * Identifies whether the action's name was generated from the original
78
+ * operation name or if it was explicitly specified.
79
+ */
80
+ kind: "automatic" | "specified";
81
+ }
68
82
  export declare function $action(context: DecoratorContext, entity: Operation, name?: string): void;
83
+ /**
84
+ * Gets the ActionDetails for the specified operation if it has previously been marked with @action.
85
+ */
86
+ export declare function getActionDetails(program: Program, operation: Operation): ActionDetails | undefined;
87
+ /**
88
+ * @deprecated Use getActionDetails instead.
89
+ */
69
90
  export declare function getAction(program: Program, operation: Operation): string | null | undefined;
70
91
  export declare function $collectionAction(context: DecoratorContext, entity: Operation, resourceType: Model, name?: string): void;
92
+ /**
93
+ * Gets the ActionDetails for the specified operation if it has previously been marked with @collectionAction.
94
+ */
95
+ export declare function getCollectionActionDetails(program: Program, operation: Operation): ActionDetails | undefined;
96
+ /**
97
+ * @deprecated Use getCollectionActionDetails instead.
98
+ */
71
99
  export declare function getCollectionAction(program: Program, operation: Operation): string | null | undefined;
72
100
  export declare function $resourceLocation(context: DecoratorContext, entity: Model, resourceType: Model): void;
73
101
  export declare function getResourceLocationType(program: Program, entity: Scalar): Model | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../src/rest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../src/rest.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,gBAAgB,EAEhB,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,OAAO,EACP,MAAM,EAEN,IAAI,EACL,MAAM,oBAAoB,CAAC;AAwC5B,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,KAAK,kBAAkB,GAAG,SAAS,CAAC;CAC5F;AA+FD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,GAAG,SAAS,QAkBlF;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAEpF;AAMD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,GAAG,aAAa,GAAG,SAAS,EACzC,IAAI,EAAE,MAAM,QAGb;AAUD,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,QAW3F;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAE7E;AAID;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,GAAG,aAAa,GAAG,SAAS,EACzC,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,QAG5B;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAErF;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,QAyBzF;AAED,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,QAAQ,GACR,iBAAiB,GACjB,gBAAgB,GAChB,QAAQ,GACR,QAAQ,GACR,MAAM,CAAC;AAEX,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,KAAK,CAAC;CACrB;AA6BD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,KAAK,EACnB,SAAS,EAAE,kBAAkB,QAkB9B;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,SAAS,GAC3B,iBAAiB,GAAG,SAAS,CAE/B;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,QAE/F;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,KAAK,QAMpB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,KAAK,QAGpB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,KAAK,QAGpB;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,KAAK,QAGpB;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,KAAK,QAGpB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,QAQ/F;AAeD,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,QAExF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAEnF;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,EAAE,WAAW,GAAG,WAAW,CAAC;CACjC;AAGD,wBAAgB,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,QAYlF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB,aAAa,GAAG,SAAS,CAE3B;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAE3F;AAID,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,KAAK,EACnB,IAAI,CAAC,EAAE,MAAM,QAmBd;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB,aAAa,GAAG,SAAS,CAE3B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB,MAAM,GAAG,IAAI,GAAG,SAAS,CAE3B;AAID,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,YAAY,EAAE,KAAK,GAClB,IAAI,CAON;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAE3F"}
package/dist/src/rest.js CHANGED
@@ -34,7 +34,9 @@ const resourceOperationToVerb = {
34
34
  function getResourceOperationHttpVerb(program, operation) {
35
35
  var _a, _b;
36
36
  const resourceOperation = getResourceOperation(program, operation);
37
- return ((_b = (_a = getOperationVerb(program, operation)) !== null && _a !== void 0 ? _a : (resourceOperation && resourceOperationToVerb[resourceOperation.operation])) !== null && _b !== void 0 ? _b : (getAction(program, operation) || getCollectionAction(program, operation) ? "post" : undefined));
37
+ return ((_b = (_a = getOperationVerb(program, operation)) !== null && _a !== void 0 ? _a : (resourceOperation && resourceOperationToVerb[resourceOperation.operation])) !== null && _b !== void 0 ? _b : (getActionDetails(program, operation) || getCollectionActionDetails(program, operation)
38
+ ? "post"
39
+ : undefined));
38
40
  }
39
41
  function autoRouteProducer(program, operation, parentSegments, overloadBase, options) {
40
42
  var _a, _b, _c, _d;
@@ -267,7 +269,10 @@ function lowerCaseFirstChar(str) {
267
269
  return str[0].toLocaleLowerCase() + str.substring(1);
268
270
  }
269
271
  function makeActionName(op, name) {
270
- return lowerCaseFirstChar(name || op.name);
272
+ return {
273
+ name: lowerCaseFirstChar(name || op.name),
274
+ kind: name ? "specified" : "automatic",
275
+ };
271
276
  }
272
277
  const actionsSegmentKey = createStateSymbol("actionSegment");
273
278
  export function $actionSegment(context, entity, name) {
@@ -286,12 +291,22 @@ export function $action(context, entity, name) {
286
291
  return;
287
292
  }
288
293
  const action = makeActionName(entity, name);
289
- context.call($actionSegment, entity, action);
294
+ context.call($actionSegment, entity, action.name);
290
295
  context.program.stateMap(actionsKey).set(entity, action);
291
296
  }
292
- export function getAction(program, operation) {
297
+ /**
298
+ * Gets the ActionDetails for the specified operation if it has previously been marked with @action.
299
+ */
300
+ export function getActionDetails(program, operation) {
293
301
  return program.stateMap(actionsKey).get(operation);
294
302
  }
303
+ /**
304
+ * @deprecated Use getActionDetails instead.
305
+ */
306
+ export function getAction(program, operation) {
307
+ var _a;
308
+ return (_a = getActionDetails(program, operation)) === null || _a === void 0 ? void 0 : _a.name;
309
+ }
295
310
  const collectionActionsKey = createStateSymbol("collectionActions");
296
311
  export function $collectionAction(context, entity, resourceType, name) {
297
312
  if (resourceType.kind === "TemplateParameter") {
@@ -304,12 +319,24 @@ export function $collectionAction(context, entity, resourceType, name) {
304
319
  context.call($segment, entity, segment);
305
320
  }
306
321
  const action = makeActionName(entity, name);
307
- context.call($actionSegment, entity, action);
308
- context.program.stateMap(collectionActionsKey).set(entity, `${segment}/${action}`);
322
+ context.call($actionSegment, entity, action.name);
323
+ // Update the final name and store it
324
+ action.name = `${segment}/${action.name}`;
325
+ context.program.stateMap(collectionActionsKey).set(entity, action);
309
326
  }
310
- export function getCollectionAction(program, operation) {
327
+ /**
328
+ * Gets the ActionDetails for the specified operation if it has previously been marked with @collectionAction.
329
+ */
330
+ export function getCollectionActionDetails(program, operation) {
311
331
  return program.stateMap(collectionActionsKey).get(operation);
312
332
  }
333
+ /**
334
+ * @deprecated Use getCollectionActionDetails instead.
335
+ */
336
+ export function getCollectionAction(program, operation) {
337
+ var _a;
338
+ return (_a = getCollectionActionDetails(program, operation)) === null || _a === void 0 ? void 0 : _a.name;
339
+ }
313
340
  const resourceLocationsKey = createStateSymbol("resourceLocations");
314
341
  export function $resourceLocation(context, entity, resourceType) {
315
342
  if (resourceType.kind === "TemplateParameter") {
@@ -1 +1 @@
1
- {"version":3,"file":"rest.js","sourceRoot":"","sources":["../../src/rest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rest.js","sourceRoot":"","sources":["../../src/rest.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,OAAO,EACR,MAAM,oBAAoB,CAAC;AAsD5B,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,QAI3C"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,OAAO,EACR,MAAM,oBAAoB,CAAC;AAkF5B,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,QAQ3C"}
@@ -1,6 +1,8 @@
1
1
  import { DuplicateTracker, getKeyName, getTypeName, listServices, navigateTypesInNamespace, } from "@typespec/compiler";
2
+ import { isSharedRoute } from "@typespec/http";
2
3
  import { reportDiagnostic } from "./lib.js";
3
4
  import { getParentResource, getResourceTypeKey } from "./resource.js";
5
+ import { getActionDetails, getCollectionActionDetails } from "./rest.js";
4
6
  function checkForDuplicateResourceKeyNames(program) {
5
7
  const seenTypes = new Set();
6
8
  function checkResourceModelKeys(model) {
@@ -46,9 +48,36 @@ function checkForDuplicateResourceKeyNames(program) {
46
48
  });
47
49
  }
48
50
  }
51
+ function checkForSharedRouteUnnamedActions(program) {
52
+ for (const service of listServices(program)) {
53
+ // If the model type is defined under the service namespace, check that the
54
+ // parent resource type(s) don't have the same key name as the
55
+ // current resource type.
56
+ navigateTypesInNamespace(service.type, {
57
+ operation: (op) => {
58
+ var _a;
59
+ const actionDetails = getActionDetails(program, op);
60
+ if (isSharedRoute(program, op) &&
61
+ ((actionDetails === null || actionDetails === void 0 ? void 0 : actionDetails.kind) === "automatic" ||
62
+ ((_a = getCollectionActionDetails(program, op)) === null || _a === void 0 ? void 0 : _a.kind) === "automatic")) {
63
+ reportDiagnostic(program, {
64
+ code: "shared-route-unspecified-action-name",
65
+ target: op,
66
+ format: {
67
+ decoratorName: actionDetails ? "@action" : "@collectionAction",
68
+ },
69
+ });
70
+ }
71
+ },
72
+ });
73
+ }
74
+ }
49
75
  export function $onValidate(program) {
50
76
  // Make sure any defined resource types don't have any conflicts with parent
51
77
  // resource type key names
52
78
  checkForDuplicateResourceKeyNames(program);
79
+ // Ensure that all shared routes with an `@action` decorator have an
80
+ // explicitly named action
81
+ checkForSharedRouteUnnamedActions(program);
53
82
  }
54
83
  //# sourceMappingURL=validate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,YAAY,EAEZ,wBAAwB,GAEzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAe,MAAM,eAAe,CAAC;AAEnF,SAAS,iCAAiC,CAAC,OAAgB;IACzD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,SAAS,sBAAsB,CAAC,KAAY;QAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,EAAE;YACrB,OAAO;SACR;QACD,IAAI,WAAW,GAAsB,KAAK,CAAC;QAC3C,MAAM,aAAa,GAAG,IAAI,gBAAgB,EAAuB,CAAC;QAClE,OAAO,WAAW,EAAE;YAClB,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC7D,IAAI,WAAW,EAAE;gBACf,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;gBAC7D,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;aAC3C;YAED,WAAW,GAAG,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SACvD;QAED,6CAA6C;QAC7C,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE;YACtD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;gBACvB,yDAAyD;gBACzD,4CAA4C;gBAC5C,MAAM,QAAQ,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,OAAO,EAAE,CAAC;gBAC/D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;oBAC5B,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACxB,gBAAgB,CAAC,OAAO,EAAE;wBACxB,IAAI,EAAE,sBAAsB;wBAC5B,MAAM,EAAE;4BACN,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI;4BACnC,OAAO;yBACR;wBACD,MAAM,EAAE,GAAG,CAAC,WAAW;qBACxB,CAAC,CAAC;iBACJ;aACF;SACF;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE;QAC3C,2EAA2E;QAC3E,8DAA8D;QAC9D,yBAAyB;QACzB,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE;YACrC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC;SAChD,CAAC,CAAC;KACJ;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,4EAA4E;IAC5E,0BAA0B;IAC1B,iCAAiC,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/rest",
3
- "version": "0.44.0-dev.2",
3
+ "version": "0.44.0-dev.4",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec REST protocol binding",
6
6
  "homepage": "https://microsoft.github.io/typespec",