@typespec/rest 0.44.0-dev.2 → 0.44.0-dev.5
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 +17 -2
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +6 -0
- package/dist/src/lib.js.map +1 -1
- package/dist/src/rest.d.ts +28 -0
- package/dist/src/rest.d.ts.map +1 -1
- package/dist/src/rest.js +34 -7
- package/dist/src/rest.js.map +1 -1
- package/dist/src/validate.d.ts.map +1 -1
- package/dist/src/validate.js +29 -0
- package/dist/src/validate.js.map +1 -1
- package/lib/resource.tsp +146 -0
- package/lib/rest-decorators.tsp +12 -8
- package/lib/rest.tsp +4 -0
- package/package.json +1 -1
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
|
-
|
|
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
|
package/dist/src/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"
|
|
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);
|
package/dist/src/lib.js.map
CHANGED
|
@@ -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"}
|
package/dist/src/rest.d.ts
CHANGED
|
@@ -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;
|
package/dist/src/rest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../src/rest.ts"],"names":[],"mappings":"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"}
|
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 : (
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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") {
|
package/dist/src/rest.js.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/src/validate.js
CHANGED
|
@@ -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
|
package/dist/src/validate.js.map
CHANGED
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"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"}
|
package/lib/resource.tsp
CHANGED
|
@@ -15,21 +15,37 @@ model ResourceError {
|
|
|
15
15
|
message: string;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
+
/**
|
|
19
|
+
* Dynamically gathers keys of the model type T.
|
|
20
|
+
* @template T The target model.
|
|
21
|
+
*/
|
|
18
22
|
@doc("Dynamically gathers keys of the model type T.")
|
|
19
23
|
@copyResourceKeyParameters
|
|
20
24
|
@friendlyName("{name}Key", T)
|
|
21
25
|
model KeysOf<T> {}
|
|
22
26
|
|
|
27
|
+
/**
|
|
28
|
+
* Dynamically gathers parent keys of the model type T.
|
|
29
|
+
* @template T The target model.
|
|
30
|
+
*/
|
|
23
31
|
@doc("Dynamically gathers parent keys of the model type T.")
|
|
24
32
|
@copyResourceKeyParameters("parent")
|
|
25
33
|
@friendlyName("{name}ParentKey", T)
|
|
26
34
|
model ParentKeysOf<T> {}
|
|
27
35
|
|
|
36
|
+
/**
|
|
37
|
+
* Represents operation parameters for resource TResource.
|
|
38
|
+
* @template TResource The resource model.
|
|
39
|
+
*/
|
|
28
40
|
@doc("Represents operation parameters for resource TResource.")
|
|
29
41
|
model ResourceParameters<TResource extends object> {
|
|
30
42
|
...KeysOf<TResource>;
|
|
31
43
|
}
|
|
32
44
|
|
|
45
|
+
/**
|
|
46
|
+
* Represents collection operation parameters for resource TResource.
|
|
47
|
+
* @template TResource The resource model.
|
|
48
|
+
*/
|
|
33
49
|
@doc("Represents collection operation parameters for resource TResource.")
|
|
34
50
|
model ResourceCollectionParameters<TResource extends object> {
|
|
35
51
|
...ParentKeysOf<TResource>;
|
|
@@ -49,12 +65,21 @@ interface ResourceRead<TResource extends object, TError> {
|
|
|
49
65
|
get(...ResourceParameters<TResource>): TResource | TError;
|
|
50
66
|
}
|
|
51
67
|
|
|
68
|
+
/**
|
|
69
|
+
* Resource create operation completed successfully.
|
|
70
|
+
* @template T The resource model that was created.
|
|
71
|
+
*/
|
|
52
72
|
@doc("Resource create operation completed successfully.")
|
|
53
73
|
model ResourceCreatedResponse<T> {
|
|
54
74
|
...CreatedResponse;
|
|
55
75
|
@body body: T;
|
|
56
76
|
}
|
|
57
77
|
|
|
78
|
+
/**
|
|
79
|
+
* Resource create or replace operation template.
|
|
80
|
+
* @template TResource The resource model to create or replace.
|
|
81
|
+
* @template TError The error response.
|
|
82
|
+
*/
|
|
58
83
|
interface ResourceCreateOrReplace<TResource extends object, TError> {
|
|
59
84
|
@autoRoute
|
|
60
85
|
@doc("Creates or replaces a instance of the resource.")
|
|
@@ -65,10 +90,19 @@ interface ResourceCreateOrReplace<TResource extends object, TError> {
|
|
|
65
90
|
): TResource | ResourceCreatedResponse<TResource> | TError;
|
|
66
91
|
}
|
|
67
92
|
|
|
93
|
+
/**
|
|
94
|
+
* Resource create or update operation model.
|
|
95
|
+
* @template TResource The resource model to create or update.
|
|
96
|
+
*/
|
|
68
97
|
@friendlyName("{name}Update", TResource)
|
|
69
98
|
model ResourceCreateOrUpdateModel<TResource extends object>
|
|
70
99
|
is OptionalProperties<UpdateableProperties<DefaultKeyVisibility<TResource, "read">>>;
|
|
71
100
|
|
|
101
|
+
/**
|
|
102
|
+
* Resource create or update operation template.
|
|
103
|
+
* @template TResource The resource model to create or update.
|
|
104
|
+
* @template TError The error response.
|
|
105
|
+
*/
|
|
72
106
|
interface ResourceCreateOrUpdate<TResource extends object, TError> {
|
|
73
107
|
@autoRoute
|
|
74
108
|
@doc("Creates or update a instance of the resource.")
|
|
@@ -79,10 +113,19 @@ interface ResourceCreateOrUpdate<TResource extends object, TError> {
|
|
|
79
113
|
): TResource | ResourceCreatedResponse<TResource> | TError;
|
|
80
114
|
}
|
|
81
115
|
|
|
116
|
+
/**
|
|
117
|
+
* Resource create operation model.
|
|
118
|
+
* @template TResource The resource model to create.
|
|
119
|
+
*/
|
|
82
120
|
@friendlyName("{name}Create", TResource)
|
|
83
121
|
model ResourceCreateModel<TResource extends object>
|
|
84
122
|
is UpdateableProperties<DefaultKeyVisibility<TResource, "read">>;
|
|
85
123
|
|
|
124
|
+
/**
|
|
125
|
+
* Resource create operation template.
|
|
126
|
+
* @template TResource The resource model to create.
|
|
127
|
+
* @template TError The error response.
|
|
128
|
+
*/
|
|
86
129
|
interface ResourceCreate<TResource extends object, TError> {
|
|
87
130
|
@autoRoute
|
|
88
131
|
@doc("Creates a new instance of the resource.")
|
|
@@ -93,6 +136,11 @@ interface ResourceCreate<TResource extends object, TError> {
|
|
|
93
136
|
): TResource | ResourceCreatedResponse<TResource> | TError;
|
|
94
137
|
}
|
|
95
138
|
|
|
139
|
+
/**
|
|
140
|
+
* Resource update operation template.
|
|
141
|
+
* @template TResource The resource model to update.
|
|
142
|
+
* @template TError The error response.
|
|
143
|
+
*/
|
|
96
144
|
@Private.validateHasKey(TResource)
|
|
97
145
|
@Private.validateIsError(TError)
|
|
98
146
|
interface ResourceUpdate<TResource extends object, TError> {
|
|
@@ -112,6 +160,11 @@ model ResourceDeletedResponse {
|
|
|
112
160
|
_: 200;
|
|
113
161
|
}
|
|
114
162
|
|
|
163
|
+
/**
|
|
164
|
+
* Resource delete operation template.
|
|
165
|
+
* @template TResource The resource model to delete.
|
|
166
|
+
* @template TError The error response.
|
|
167
|
+
*/
|
|
115
168
|
@Private.validateHasKey(TResource)
|
|
116
169
|
@Private.validateIsError(TError)
|
|
117
170
|
interface ResourceDelete<TResource extends object, TError> {
|
|
@@ -125,6 +178,7 @@ interface ResourceDelete<TResource extends object, TError> {
|
|
|
125
178
|
* Structure for a paging response using `value` and `nextLink` to represent pagination.
|
|
126
179
|
* This only provides the model structure and not actual pagination support.
|
|
127
180
|
* See https://github.com/microsoft/typespec/issues/705 for general paging support.
|
|
181
|
+
* @template T The resource type of the collection.
|
|
128
182
|
*/
|
|
129
183
|
@doc("Paged response of {name} items", T)
|
|
130
184
|
@friendlyName("{name}CollectionWithNextLink", T)
|
|
@@ -136,6 +190,11 @@ model CollectionWithNextLink<T extends object> {
|
|
|
136
190
|
nextLink?: ResourceLocation<T>;
|
|
137
191
|
}
|
|
138
192
|
|
|
193
|
+
/**
|
|
194
|
+
* Resource list operation template.
|
|
195
|
+
* @template TResource The resource model to list.
|
|
196
|
+
* @template TError The error response.
|
|
197
|
+
*/
|
|
139
198
|
interface ResourceList<TResource extends object, TError> {
|
|
140
199
|
@autoRoute
|
|
141
200
|
@doc("Lists all instances of the resource.")
|
|
@@ -143,6 +202,11 @@ interface ResourceList<TResource extends object, TError> {
|
|
|
143
202
|
list(...ResourceCollectionParameters<TResource>): CollectionWithNextLink<TResource> | TError;
|
|
144
203
|
}
|
|
145
204
|
|
|
205
|
+
/**
|
|
206
|
+
* Resource operation templates for resource instances.
|
|
207
|
+
* @template TResource The resource model.
|
|
208
|
+
* @template TError The error response.
|
|
209
|
+
*/
|
|
146
210
|
@Private.validateHasKey(TResource)
|
|
147
211
|
@Private.validateIsError(TError)
|
|
148
212
|
interface ResourceInstanceOperations<TResource extends object, TError>
|
|
@@ -150,18 +214,34 @@ interface ResourceInstanceOperations<TResource extends object, TError>
|
|
|
150
214
|
ResourceUpdate<TResource, TError>,
|
|
151
215
|
ResourceDelete<TResource, TError> {}
|
|
152
216
|
|
|
217
|
+
/**
|
|
218
|
+
* Resource operation templates for resource collections.
|
|
219
|
+
* @template TResource The resource model.
|
|
220
|
+
* @template TError The error response.
|
|
221
|
+
*/
|
|
153
222
|
@Private.validateHasKey(TResource)
|
|
154
223
|
@Private.validateIsError(TError)
|
|
155
224
|
interface ResourceCollectionOperations<TResource extends object, TError>
|
|
156
225
|
extends ResourceCreate<TResource, TError>,
|
|
157
226
|
ResourceList<TResource, TError> {}
|
|
158
227
|
|
|
228
|
+
/**
|
|
229
|
+
* Resource operation templates for resources.
|
|
230
|
+
* @template TResource The resource model.
|
|
231
|
+
* @template TError The error response.
|
|
232
|
+
*/
|
|
159
233
|
@Private.validateHasKey(TResource)
|
|
160
234
|
@Private.validateIsError(TError)
|
|
161
235
|
interface ResourceOperations<TResource extends object, TError>
|
|
162
236
|
extends ResourceInstanceOperations<TResource, TError>,
|
|
163
237
|
ResourceCollectionOperations<TResource, TError> {}
|
|
164
238
|
|
|
239
|
+
/**
|
|
240
|
+
* Singleton resource read operation template.
|
|
241
|
+
* @template TSingleton The singleton resource model.
|
|
242
|
+
* @template TResource The resource model.
|
|
243
|
+
* @template TError The error response.
|
|
244
|
+
*/
|
|
165
245
|
@Private.validateHasKey(TResource)
|
|
166
246
|
@Private.validateIsError(TError)
|
|
167
247
|
interface SingletonResourceRead<TSingleton extends object, TResource extends object, TError> {
|
|
@@ -172,6 +252,12 @@ interface SingletonResourceRead<TSingleton extends object, TResource extends obj
|
|
|
172
252
|
Get(...ResourceParameters<TResource>): TSingleton | TError;
|
|
173
253
|
}
|
|
174
254
|
|
|
255
|
+
/**
|
|
256
|
+
* Singleton resource update operation template.
|
|
257
|
+
* @template TSingleton The singleton resource model.
|
|
258
|
+
* @template TResource The resource model.
|
|
259
|
+
* @template TError The error response.
|
|
260
|
+
*/
|
|
175
261
|
@Private.validateHasKey(TResource)
|
|
176
262
|
@Private.validateIsError(TError)
|
|
177
263
|
interface SingletonResourceUpdate<TSingleton extends object, TResource extends object, TError> {
|
|
@@ -187,10 +273,22 @@ interface SingletonResourceUpdate<TSingleton extends object, TResource extends o
|
|
|
187
273
|
): TSingleton | TError;
|
|
188
274
|
}
|
|
189
275
|
|
|
276
|
+
/**
|
|
277
|
+
* Singleton resource operation templates for singleton resource instances.
|
|
278
|
+
* @template TSingleton The singleton resource model.
|
|
279
|
+
* @template TResource The resource model.
|
|
280
|
+
* @template TError The error response.
|
|
281
|
+
*/
|
|
190
282
|
interface SingletonResourceOperations<TSingleton extends object, TResource extends object, TError>
|
|
191
283
|
extends SingletonResourceRead<TSingleton, TResource, TError>,
|
|
192
284
|
SingletonResourceUpdate<TSingleton, TResource, TError> {}
|
|
193
285
|
|
|
286
|
+
/**
|
|
287
|
+
* Extension resource read operation template.
|
|
288
|
+
* @template TExtension The extension resource model.
|
|
289
|
+
* @template TResource The resource model.
|
|
290
|
+
* @template TError The error response.
|
|
291
|
+
*/
|
|
194
292
|
@Private.validateHasKey(TResource)
|
|
195
293
|
@Private.validateIsError(TError)
|
|
196
294
|
interface ExtensionResourceRead<TExtension extends object, TResource extends object, TError> {
|
|
@@ -200,6 +298,12 @@ interface ExtensionResourceRead<TExtension extends object, TResource extends obj
|
|
|
200
298
|
Get(...ResourceParameters<TResource>, ...ResourceParameters<TExtension>): TExtension | TError;
|
|
201
299
|
}
|
|
202
300
|
|
|
301
|
+
/**
|
|
302
|
+
* Extension resource create or update operation template.
|
|
303
|
+
* @template TExtension The extension resource model.
|
|
304
|
+
* @template TResource The resource model.
|
|
305
|
+
* @template TError The error response.
|
|
306
|
+
*/
|
|
203
307
|
interface ExtensionResourceCreateOrUpdate<
|
|
204
308
|
TExtension extends object,
|
|
205
309
|
TResource extends object,
|
|
@@ -215,6 +319,12 @@ interface ExtensionResourceCreateOrUpdate<
|
|
|
215
319
|
): TExtension | ResourceCreatedResponse<TExtension> | TError;
|
|
216
320
|
}
|
|
217
321
|
|
|
322
|
+
/**
|
|
323
|
+
* Extension resource create operation template.
|
|
324
|
+
* @template TExtension The extension resource model.
|
|
325
|
+
* @template TResource The resource model.
|
|
326
|
+
* @template TError The error response.
|
|
327
|
+
*/
|
|
218
328
|
interface ExtensionResourceCreate<TExtension extends object, TResource extends object, TError> {
|
|
219
329
|
@autoRoute
|
|
220
330
|
@doc("Creates a new instance of the extension resource.")
|
|
@@ -225,6 +335,12 @@ interface ExtensionResourceCreate<TExtension extends object, TResource extends o
|
|
|
225
335
|
): TExtension | ResourceCreatedResponse<TExtension> | TError;
|
|
226
336
|
}
|
|
227
337
|
|
|
338
|
+
/**
|
|
339
|
+
* Extension resource update operation template.
|
|
340
|
+
* @template TExtension The extension resource model.
|
|
341
|
+
* @template TResource The resource model.
|
|
342
|
+
* @template TError The error response.
|
|
343
|
+
*/
|
|
228
344
|
interface ExtensionResourceUpdate<TExtension extends object, TResource extends object, TError> {
|
|
229
345
|
@autoRoute
|
|
230
346
|
@doc("Updates an existing instance of the extension resource.")
|
|
@@ -238,6 +354,12 @@ interface ExtensionResourceUpdate<TExtension extends object, TResource extends o
|
|
|
238
354
|
): TExtension | TError;
|
|
239
355
|
}
|
|
240
356
|
|
|
357
|
+
/**
|
|
358
|
+
* Extension resource delete operation template.
|
|
359
|
+
* @template TExtension The extension resource model.
|
|
360
|
+
* @template TResource The resource model.
|
|
361
|
+
* @template TError The error response.
|
|
362
|
+
*/
|
|
241
363
|
interface ExtensionResourceDelete<TExtension extends object, TResource extends object, TError> {
|
|
242
364
|
@autoRoute
|
|
243
365
|
@doc("Deletes an existing instance of the extension resource.")
|
|
@@ -248,6 +370,12 @@ interface ExtensionResourceDelete<TExtension extends object, TResource extends o
|
|
|
248
370
|
): ResourceDeletedResponse | TError;
|
|
249
371
|
}
|
|
250
372
|
|
|
373
|
+
/**
|
|
374
|
+
* Extension resource list operation template.
|
|
375
|
+
* @template TExtension The extension resource model.
|
|
376
|
+
* @template TResource The resource model.
|
|
377
|
+
* @template TError The error response.
|
|
378
|
+
*/
|
|
251
379
|
interface ExtensionResourceList<TExtension extends object, TResource extends object, TError> {
|
|
252
380
|
@autoRoute
|
|
253
381
|
@doc("Lists all instances of the extension resource.")
|
|
@@ -258,6 +386,12 @@ interface ExtensionResourceList<TExtension extends object, TResource extends obj
|
|
|
258
386
|
): CollectionWithNextLink<TExtension> | TError;
|
|
259
387
|
}
|
|
260
388
|
|
|
389
|
+
/**
|
|
390
|
+
* Extension resource operation templates for extension resource instances.
|
|
391
|
+
* @template TExtension The extension resource model.
|
|
392
|
+
* @template TResource The resource model.
|
|
393
|
+
* @template TError The error response.
|
|
394
|
+
*/
|
|
261
395
|
interface ExtensionResourceInstanceOperations<
|
|
262
396
|
TExtension extends object,
|
|
263
397
|
TResource extends object,
|
|
@@ -267,6 +401,12 @@ interface ExtensionResourceInstanceOperations<
|
|
|
267
401
|
ExtensionResourceUpdate<TExtension, TResource, TError>,
|
|
268
402
|
ExtensionResourceDelete<TExtension, TResource, TError> {}
|
|
269
403
|
|
|
404
|
+
/**
|
|
405
|
+
* Extension resource operation templates for extension resource collections.
|
|
406
|
+
* @template TExtension The extension resource model.
|
|
407
|
+
* @template TResource The resource model.
|
|
408
|
+
* @template TError The error response.
|
|
409
|
+
*/
|
|
270
410
|
interface ExtensionResourceCollectionOperations<
|
|
271
411
|
TExtension extends object,
|
|
272
412
|
TResource extends object,
|
|
@@ -275,6 +415,12 @@ interface ExtensionResourceCollectionOperations<
|
|
|
275
415
|
extends ExtensionResourceCreate<TExtension, TResource, TError>,
|
|
276
416
|
ExtensionResourceList<TExtension, TResource, TError> {}
|
|
277
417
|
|
|
418
|
+
/**
|
|
419
|
+
* Extension resource operation templates for extension resource instances and collections.
|
|
420
|
+
* @template TExtension The extension resource model.
|
|
421
|
+
* @template TResource The resource model.
|
|
422
|
+
* @template TError The error response.
|
|
423
|
+
*/
|
|
278
424
|
interface ExtensionResourceOperations<TExtension extends object, TResource extends object, TError>
|
|
279
425
|
extends ExtensionResourceInstanceOperations<TExtension, TResource, TError>,
|
|
280
426
|
ExtensionResourceCollectionOperations<TExtension, TResource, TError> {}
|
package/lib/rest-decorators.tsp
CHANGED
|
@@ -31,6 +31,7 @@ extern dec segment(target: Model | ModelProperty | Operation, name: string);
|
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
33
|
* Returns the URL segment of a given model if it has `@segment` and `@key` decorator.
|
|
34
|
+
* @param type Target model
|
|
34
35
|
*/
|
|
35
36
|
extern dec segmentOf(target: Operation, type: Model);
|
|
36
37
|
|
|
@@ -51,59 +52,62 @@ extern dec resource(target: Model, collectionName: string);
|
|
|
51
52
|
/**
|
|
52
53
|
* Specify that this is a Read operation for a given resource.
|
|
53
54
|
*
|
|
54
|
-
* @param
|
|
55
|
+
* @param resourceType Resource marked with @resource
|
|
55
56
|
*/
|
|
56
57
|
extern dec readsResource(target: Operation, resourceType: Model);
|
|
57
58
|
|
|
58
59
|
/**
|
|
59
60
|
* Specify that this is a Create operation for a given resource.
|
|
60
61
|
*
|
|
61
|
-
* @param
|
|
62
|
+
* @param resourceType Resource marked with @resource
|
|
62
63
|
*/
|
|
63
64
|
extern dec createsResource(target: Operation, resourceType: Model);
|
|
64
65
|
|
|
65
66
|
/**
|
|
66
67
|
* Specify that this is a CreateOrReplace operation for a given resource.
|
|
67
68
|
*
|
|
68
|
-
* @param
|
|
69
|
+
* @param resourceType Resource marked with @resource
|
|
69
70
|
*/
|
|
70
71
|
extern dec createsOrReplacesResource(target: Operation, resourceType: Model);
|
|
71
72
|
|
|
72
73
|
/**
|
|
73
74
|
* Specify that this is a CreatesOrUpdate operation for a given resource.
|
|
74
75
|
*
|
|
75
|
-
* @param
|
|
76
|
+
* @param resourceType Resource marked with @resource
|
|
76
77
|
*/
|
|
77
78
|
extern dec createsOrUpdatesResource(target: Operation, resourceType: Model);
|
|
78
79
|
|
|
79
80
|
/**
|
|
80
81
|
* Specify that this is a Update operation for a given resource.
|
|
81
82
|
*
|
|
82
|
-
* @param
|
|
83
|
+
* @param resourceType Resource marked with @resource
|
|
83
84
|
*/
|
|
84
85
|
extern dec updatesResource(target: Operation, resourceType: Model);
|
|
85
86
|
|
|
86
87
|
/**
|
|
87
88
|
* Specify that this is a Delete operation for a given resource.
|
|
88
89
|
*
|
|
89
|
-
* @param
|
|
90
|
+
* @param resourceType Resource marked with @resource
|
|
90
91
|
*/
|
|
91
92
|
extern dec deletesResource(target: Operation, resourceType: Model);
|
|
92
93
|
|
|
93
94
|
/**
|
|
94
95
|
* Specify that this is a List operation for a given resource.
|
|
95
96
|
*
|
|
96
|
-
* @param
|
|
97
|
+
* @param resourceType Resource marked with @resource
|
|
97
98
|
*/
|
|
98
99
|
extern dec listsResource(target: Operation, resourceType: Model);
|
|
99
100
|
|
|
100
101
|
/**
|
|
101
|
-
* Specify this operation is an action. (
|
|
102
|
+
* Specify this operation is an action. (Scoped to a resource item /pets/{petId}/my-action)
|
|
103
|
+
* @param name Name of the action. If not specified, the name of the operation will be used.
|
|
102
104
|
*/
|
|
103
105
|
extern dec action(target: Operation, name?: string);
|
|
104
106
|
|
|
105
107
|
/**
|
|
106
108
|
* Specify this operation is a collection action. (Scopped to a resource, /pets/my-action)
|
|
109
|
+
* @param resourceType Resource marked with @resource
|
|
110
|
+
* @param name Name of the action. If not specified, the name of the operation will be used.
|
|
107
111
|
*/
|
|
108
112
|
extern dec collectionAction(target: Operation, resourceType: Model, name?: string);
|
|
109
113
|
|
package/lib/rest.tsp
CHANGED
|
@@ -4,6 +4,10 @@ import "./resource.tsp";
|
|
|
4
4
|
|
|
5
5
|
namespace TypeSpec.Rest;
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* A URL that points to a resource.
|
|
9
|
+
* @template TResource The type of resource that the URL points to.
|
|
10
|
+
*/
|
|
7
11
|
@doc("The location of an instance of {name}", TResource)
|
|
8
12
|
@Private.resourceLocation(TResource)
|
|
9
13
|
scalar ResourceLocation<TResource extends object> extends url;
|