@microsoft/typespec-msgraph 1.3.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/components/operation-element.js +3 -4
- package/dist/src/components/operation-element.js.map +1 -1
- package/dist/src/components/sort-restrictions-annotation.d.ts.map +1 -1
- package/dist/src/components/sort-restrictions-annotation.js +3 -1
- package/dist/src/components/sort-restrictions-annotation.js.map +1 -1
- package/dist/src/entities/annotations.d.ts.map +1 -1
- package/dist/src/entities/annotations.js +3 -0
- package/dist/src/entities/annotations.js.map +1 -1
- package/dist/src/entities/entity-container.d.ts.map +1 -1
- package/dist/src/entities/entity-container.js +10 -1
- package/dist/src/entities/entity-container.js.map +1 -1
- package/dist/src/entities/operation.d.ts +0 -1
- package/dist/src/entities/operation.d.ts.map +1 -1
- package/dist/src/entities/operation.js +0 -1
- package/dist/src/entities/operation.js.map +1 -1
- package/dist/src/entities/property.d.ts.map +1 -1
- package/dist/src/entities/property.js +2 -1
- package/dist/src/entities/property.js.map +1 -1
- package/dist/src/lib.d.ts +2 -2
- package/dist/src/lib.js +1 -1
- package/dist/src/lib.js.map +1 -1
- package/dist/src/linter.d.ts.map +1 -1
- package/dist/src/linter.js +42 -11
- package/dist/src/linter.js.map +1 -1
- package/dist/src/rules/collections.d.ts +3 -0
- package/dist/src/rules/collections.d.ts.map +1 -1
- package/dist/src/rules/collections.js +53 -8
- package/dist/src/rules/collections.js.map +1 -1
- package/dist/src/rules/complex.d.ts +3 -0
- package/dist/src/rules/complex.d.ts.map +1 -1
- package/dist/src/rules/complex.js +28 -4
- package/dist/src/rules/complex.js.map +1 -1
- package/dist/src/rules/entity.d.ts +6 -0
- package/dist/src/rules/entity.d.ts.map +1 -1
- package/dist/src/rules/entity.js +54 -1
- package/dist/src/rules/entity.js.map +1 -1
- package/dist/src/rules/enum.d.ts +3 -0
- package/dist/src/rules/enum.d.ts.map +1 -1
- package/dist/src/rules/enum.js +44 -2
- package/dist/src/rules/enum.js.map +1 -1
- package/dist/src/rules/filter.d.ts.map +1 -1
- package/dist/src/rules/filter.js +0 -1
- package/dist/src/rules/filter.js.map +1 -1
- package/dist/src/rules/graph-studio.d.ts +163 -0
- package/dist/src/rules/graph-studio.d.ts.map +1 -0
- package/dist/src/rules/graph-studio.js +77 -0
- package/dist/src/rules/graph-studio.js.map +1 -0
- package/dist/src/rules/index.d.ts +1 -0
- package/dist/src/rules/index.d.ts.map +1 -1
- package/dist/src/rules/index.js +1 -0
- package/dist/src/rules/index.js.map +1 -1
- package/dist/src/rules/media.d.ts +6 -0
- package/dist/src/rules/media.d.ts.map +1 -1
- package/dist/src/rules/media.js +61 -6
- package/dist/src/rules/media.js.map +1 -1
- package/dist/src/rules/naming.d.ts +3 -0
- package/dist/src/rules/naming.d.ts.map +1 -1
- package/dist/src/rules/naming.js +34 -1
- package/dist/src/rules/naming.js.map +1 -1
- package/dist/src/rules/order-by.d.ts +1 -0
- package/dist/src/rules/order-by.d.ts.map +1 -1
- package/dist/src/rules/order-by.js +24 -1
- package/dist/src/rules/order-by.js.map +1 -1
- package/dist/src/rules/properties.d.ts +21 -0
- package/dist/src/rules/properties.d.ts.map +1 -1
- package/dist/src/rules/properties.js +205 -2
- package/dist/src/rules/properties.js.map +1 -1
- package/dist/src/supressions/csdl-suppression-rules.d.ts.map +1 -1
- package/dist/src/supressions/csdl-suppression-rules.js +5 -27
- package/dist/src/supressions/csdl-suppression-rules.js.map +1 -1
- package/dist/src/supressions/suppression-collector.d.ts.map +1 -1
- package/dist/src/supressions/suppression-collector.js +27 -11
- package/dist/src/supressions/suppression-collector.js.map +1 -1
- package/dist/src/testing/index.d.ts +3 -0
- package/dist/src/testing/index.d.ts.map +1 -1
- package/dist/src/testing/index.js +3 -0
- package/dist/src/testing/index.js.map +1 -1
- package/dist/src/utils.d.ts +1 -0
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +9 -2
- package/dist/src/utils.js.map +1 -1
- package/dist/src/validate.d.ts.map +1 -1
- package/dist/src/validate.js +1 -0
- package/dist/src/validate.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRule, paramMessage } from "@typespec/compiler";
|
|
2
|
-
import { isPlural, isTypeCollection, isTypeNullable } from "../utils.js";
|
|
2
|
+
import { getPropertyTypeName, isExcludedFromGraphStudioRules, isPlural, isTypeCollection, isTypeNullable, } from "../utils.js";
|
|
3
3
|
import { isComplex } from "../decorators/complex.js";
|
|
4
4
|
import { getActualType } from "../utils.js";
|
|
5
5
|
export const collectionPropertyShouldNotBeNullable = createRule({
|
|
@@ -25,11 +25,11 @@ export const collectionPropertyShouldNotBeNullable = createRule({
|
|
|
25
25
|
messageId: "default",
|
|
26
26
|
format: {
|
|
27
27
|
property: property.name,
|
|
28
|
-
}
|
|
28
|
+
},
|
|
29
29
|
});
|
|
30
|
-
}
|
|
30
|
+
},
|
|
31
31
|
};
|
|
32
|
-
}
|
|
32
|
+
},
|
|
33
33
|
});
|
|
34
34
|
export const collectionOfComplexTypeShouldUseEntityType = createRule({
|
|
35
35
|
name: "collection-of-complex-type-should-use-entity-type",
|
|
@@ -63,9 +63,9 @@ export const collectionOfComplexTypeShouldUseEntityType = createRule({
|
|
|
63
63
|
property: property.name,
|
|
64
64
|
},
|
|
65
65
|
});
|
|
66
|
-
}
|
|
66
|
+
},
|
|
67
67
|
};
|
|
68
|
-
}
|
|
68
|
+
},
|
|
69
69
|
});
|
|
70
70
|
export const collectionPropertyNameShouldBePlural = createRule({
|
|
71
71
|
name: "collection-property-name-should-be-plural",
|
|
@@ -90,8 +90,53 @@ export const collectionPropertyNameShouldBePlural = createRule({
|
|
|
90
90
|
property: property.name,
|
|
91
91
|
},
|
|
92
92
|
});
|
|
93
|
-
}
|
|
93
|
+
},
|
|
94
94
|
};
|
|
95
|
-
}
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
export const numberedPropertiesShouldUseCollection = createRule({
|
|
98
|
+
name: "numbered-properties-should-use-collection",
|
|
99
|
+
severity: "warning",
|
|
100
|
+
description: "Sequentially numbered properties should be modeled as a collection.",
|
|
101
|
+
messages: {
|
|
102
|
+
default: paramMessage `Properties '${"properties"}' on model '${"model"}' should be modeled as a collection.`,
|
|
103
|
+
},
|
|
104
|
+
create(context) {
|
|
105
|
+
return {
|
|
106
|
+
model(model) {
|
|
107
|
+
var _a;
|
|
108
|
+
if (isExcludedFromGraphStudioRules(context.program, model)) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const groups = new Map();
|
|
112
|
+
for (const property of model.properties.values()) {
|
|
113
|
+
const match = /^(.*?)(\d+)$/.exec(property.name);
|
|
114
|
+
if (!match || Number(match[2]) < 1) {
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
const groupKey = `${match[1]}\0${getPropertyTypeName(context.program, property.type)}`;
|
|
118
|
+
const group = (_a = groups.get(groupKey)) !== null && _a !== void 0 ? _a : [];
|
|
119
|
+
group.push({ index: Number(match[2]), property });
|
|
120
|
+
groups.set(groupKey, group);
|
|
121
|
+
}
|
|
122
|
+
for (const group of groups.values()) {
|
|
123
|
+
group.sort((left, right) => left.index - right.index);
|
|
124
|
+
if (group.length < 2 ||
|
|
125
|
+
group[0].index !== 1 ||
|
|
126
|
+
group.some((entry, index) => index > 0 && entry.index !== group[index - 1].index + 1)) {
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
const properties = group.map(({ property }) => property);
|
|
130
|
+
context.reportDiagnostic({
|
|
131
|
+
target: properties[0],
|
|
132
|
+
format: {
|
|
133
|
+
properties: properties.map((property) => property.name).join(", "),
|
|
134
|
+
model: model.name,
|
|
135
|
+
},
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
};
|
|
140
|
+
},
|
|
96
141
|
});
|
|
97
142
|
//# sourceMappingURL=collections.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../../src/rules/collections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../../src/rules/collections.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import { Program } from "@typespec/compiler";
|
|
2
2
|
export declare function validateComplexTypesAreNotAddressableThroughUniqueUrls(program: Program): void;
|
|
3
|
+
export declare const avoidIdPropertyOnComplexType: import("@typespec/compiler").LinterRuleDefinition<"avoid-id-property-on-complex-type", {
|
|
4
|
+
readonly default: import("@typespec/compiler").CallableMessage<["model"]>;
|
|
5
|
+
}, Record<string, never>>;
|
|
3
6
|
//# sourceMappingURL=complex.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complex.d.ts","sourceRoot":"","sources":["../../../src/rules/complex.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"complex.d.ts","sourceRoot":"","sources":["../../../src/rules/complex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAMjG,wBAAgB,sDAAsD,CAAC,OAAO,EAAE,OAAO,QAoBtF;AAED,eAAO,MAAM,4BAA4B;;yBAyBvC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { navigateTypesInNamespace } from "@typespec/compiler";
|
|
1
|
+
import { createRule, navigateTypesInNamespace, paramMessage } from "@typespec/compiler";
|
|
2
|
+
import { isComplex } from "../decorators/complex.js";
|
|
2
3
|
import { getDeclaredNamespacesForLinting } from "../entities/namespace.js";
|
|
3
|
-
import { getInterfaceNavigationSourceType } from "../utils.js";
|
|
4
|
-
import { isComplex } from "../index.js";
|
|
4
|
+
import { getInterfaceNavigationSourceType, isExcludedFromGraphStudioRules } from "../utils.js";
|
|
5
5
|
import { reportDiagnostic } from "../lib.js";
|
|
6
6
|
export function validateComplexTypesAreNotAddressableThroughUniqueUrls(program) {
|
|
7
7
|
for (const namespace of getDeclaredNamespacesForLinting(program)) {
|
|
@@ -20,8 +20,32 @@ export function validateComplexTypesAreNotAddressableThroughUniqueUrls(program)
|
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
}
|
|
23
|
+
},
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
+
export const avoidIdPropertyOnComplexType = createRule({
|
|
28
|
+
name: "avoid-id-property-on-complex-type",
|
|
29
|
+
severity: "warning",
|
|
30
|
+
description: "Complex types should not define an id property.",
|
|
31
|
+
messages: {
|
|
32
|
+
default: paramMessage `Complex type '${"model"}' should not define an 'id' property.`,
|
|
33
|
+
},
|
|
34
|
+
create(context) {
|
|
35
|
+
return {
|
|
36
|
+
modelProperty(property) {
|
|
37
|
+
if (isExcludedFromGraphStudioRules(context.program, property) ||
|
|
38
|
+
!property.model ||
|
|
39
|
+
!isComplex(context.program, property.model) ||
|
|
40
|
+
property.name.toLowerCase() !== "id") {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
context.reportDiagnostic({
|
|
44
|
+
target: property,
|
|
45
|
+
format: { model: property.model.name },
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
},
|
|
50
|
+
});
|
|
27
51
|
//# sourceMappingURL=complex.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complex.js","sourceRoot":"","sources":["../../../src/rules/complex.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"complex.js","sourceRoot":"","sources":["../../../src/rules/complex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,YAAY,EAAW,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,gCAAgC,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,UAAU,sDAAsD,CAAC,OAAgB;IACrF,KAAK,MAAM,SAAS,IAAI,+BAA+B,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,wBAAwB,CAAC,SAAS,EAAE;YAClC,SAAS,EAAE,CAAC,YAAY,EAAE,EAAE;gBAC1B,MAAM,oBAAoB,GAAG,gCAAgC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACrF,IAAI,oBAAoB,EAAE,CAAC;oBACzB,IAAI,SAAS,CAAC,OAAO,EAAE,oBAAoB,CAAC,EAAE,CAAC;wBAC7C,gBAAgB,CAAC,OAAO,EAAE;4BACxB,IAAI,EAAE,uBAAuB;4BAC7B,MAAM,EAAE,YAAY;4BACpB,SAAS,EAAE,gDAAgD;4BAC3D,MAAM,EAAE;gCACN,WAAW,EAAE,oBAAoB,CAAC,IAAI;6BACvC;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,UAAU,CAAC;IACrD,IAAI,EAAE,mCAAmC;IACzC,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,iDAAiD;IAC9D,QAAQ,EAAE;QACR,OAAO,EAAE,YAAY,CAAA,iBAAiB,OAAO,uCAAuC;KACrF;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,aAAa,CAAC,QAAQ;gBACpB,IACE,8BAA8B,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;oBACzD,CAAC,QAAQ,CAAC,KAAK;oBACf,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC;oBAC3C,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EACpC,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,gBAAgB,CAAC;oBACvB,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;iBACvC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -13,4 +13,10 @@ export declare const referenceIdPropertyShouldBeNavigationProperty: import("@typ
|
|
|
13
13
|
export declare const entityNamesShouldBeSingular: import("@typespec/compiler").LinterRuleDefinition<"entity-names-should-be-singular", {
|
|
14
14
|
readonly default: import("@typespec/compiler").CallableMessage<["entityName"]>;
|
|
15
15
|
}, Record<string, never>>;
|
|
16
|
+
export declare const entityKeyMustBeString: import("@typespec/compiler").LinterRuleDefinition<"entity-key-must-be-string", {
|
|
17
|
+
readonly default: import("@typespec/compiler").CallableMessage<["property", "entity"]>;
|
|
18
|
+
}, Record<string, never>>;
|
|
19
|
+
export declare const primaryKeyMustNotBeComposite: import("@typespec/compiler").LinterRuleDefinition<"primary-key-must-not-be-composite", {
|
|
20
|
+
readonly default: import("@typespec/compiler").CallableMessage<["entity"]>;
|
|
21
|
+
}, Record<string, never>>;
|
|
16
22
|
//# sourceMappingURL=entity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/rules/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAWR,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/rules/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAWR,MAAM,oBAAoB,CAAC;AAuB5B,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,QAkEzD;AAED,wBAAgB,mDAAmD,CAAC,OAAO,EAAE,OAAO,QA2CnF;AAGD,wBAAgB,8CAA8C,CAAC,OAAO,EAAE,OAAO,QAiC9E;AAED,wBAAgB,4DAA4D,CAAC,OAAO,EAAE,OAAO,QA6B5F;AAED,wBAAgB,4CAA4C,CAAC,OAAO,EAAE,OAAO,QAkB5E;AAED,eAAO,MAAM,2CAA2C;;yBA2BtD,CAAC;AAEH,eAAO,MAAM,6CAA6C;;yBA6CxD,CAAC;AAEH,eAAO,MAAM,2BAA2B;;yBA2BtC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;yBA4BhC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;yBA6BvC,CAAC"}
|
package/dist/src/rules/entity.js
CHANGED
|
@@ -5,7 +5,7 @@ import { isPartial } from "../decorators/graph-partial.js";
|
|
|
5
5
|
import { isOwnerless } from "../decorators/ownerless.js";
|
|
6
6
|
import { isSharedEntity } from "../decorators/shared-entity.js";
|
|
7
7
|
import { reportDiagnostic } from "../lib.js";
|
|
8
|
-
import { isTypeNullable, isExcludedLibraryType, isSameNamespace, extractTypesFromUnion, getInterfaceNavigationSourceType, isNavigationProperty, isTypeDefinedInExternalLibrary, isTypeDefinedInLocalProject, isParentSharedEntity, isSingular, } from "../utils.js";
|
|
8
|
+
import { isTypeNullable, isExcludedLibraryType, isSameNamespace, extractTypesFromUnion, getInterfaceNavigationSourceType, isNavigationProperty, isTypeDefinedInExternalLibrary, isTypeDefinedInLocalProject, isParentSharedEntity, isSingular, getPropertyTypeName, isExcludedFromGraphStudioRules, } from "../utils.js";
|
|
9
9
|
import { getDeclaredNamespacesForLinting } from "../entities/namespace.js";
|
|
10
10
|
export function validateEntityMustHaveKey(program) {
|
|
11
11
|
for (const namespace of getDeclaredNamespacesForLinting(program)) {
|
|
@@ -264,6 +264,59 @@ export const entityNamesShouldBeSingular = createRule({
|
|
|
264
264
|
};
|
|
265
265
|
},
|
|
266
266
|
});
|
|
267
|
+
export const entityKeyMustBeString = createRule({
|
|
268
|
+
name: "entity-key-must-be-string",
|
|
269
|
+
severity: "warning",
|
|
270
|
+
description: "Entity primary keys should be strings.",
|
|
271
|
+
messages: {
|
|
272
|
+
default: paramMessage `Primary key '${"property"}' on entity '${"entity"}' should be a string.`,
|
|
273
|
+
},
|
|
274
|
+
create(context) {
|
|
275
|
+
return {
|
|
276
|
+
modelProperty(property) {
|
|
277
|
+
if (isExcludedFromGraphStudioRules(context.program, property) ||
|
|
278
|
+
!property.model ||
|
|
279
|
+
!isEntity(context.program, property.model) ||
|
|
280
|
+
!isKey(context.program, property)) {
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
if (getPropertyTypeName(context.program, property.type) === "Edm.String") {
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
context.reportDiagnostic({
|
|
287
|
+
target: property,
|
|
288
|
+
format: { property: property.name, entity: property.model.name },
|
|
289
|
+
});
|
|
290
|
+
},
|
|
291
|
+
};
|
|
292
|
+
},
|
|
293
|
+
});
|
|
294
|
+
export const primaryKeyMustNotBeComposite = createRule({
|
|
295
|
+
name: "primary-key-must-not-be-composite",
|
|
296
|
+
severity: "warning",
|
|
297
|
+
description: "Entity primary keys should contain exactly one property.",
|
|
298
|
+
messages: {
|
|
299
|
+
default: paramMessage `Entity '${"entity"}' has a composite primary key. Use a single string key property.`,
|
|
300
|
+
},
|
|
301
|
+
create(context) {
|
|
302
|
+
return {
|
|
303
|
+
model(model) {
|
|
304
|
+
if (isExcludedFromGraphStudioRules(context.program, model) ||
|
|
305
|
+
!isEntity(context.program, model)) {
|
|
306
|
+
return;
|
|
307
|
+
}
|
|
308
|
+
const keys = [...walkPropertiesInherited(model)].filter((property) => isKey(context.program, property));
|
|
309
|
+
if (keys.length <= 1) {
|
|
310
|
+
return;
|
|
311
|
+
}
|
|
312
|
+
context.reportDiagnostic({
|
|
313
|
+
target: model,
|
|
314
|
+
format: { entity: model.name },
|
|
315
|
+
});
|
|
316
|
+
},
|
|
317
|
+
};
|
|
318
|
+
},
|
|
319
|
+
});
|
|
267
320
|
function trySplitAtSuffix(value, suffix) {
|
|
268
321
|
if (value.length <= suffix.length || !value.toLowerCase().endsWith(suffix.toLowerCase())) {
|
|
269
322
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../src/rules/entity.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../src/rules/entity.ts"],"names":[],"mappings":"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"}
|
package/dist/src/rules/enum.d.ts
CHANGED
|
@@ -12,4 +12,7 @@ export declare const nullableBooleanShouldBeEnum: import("@typespec/compiler").L
|
|
|
12
12
|
export declare const nullableEnumsShouldAddAdditionalMember: import("@typespec/compiler").LinterRuleDefinition<"nullable-enum-should-add-additional-member", {
|
|
13
13
|
readonly default: import("@typespec/compiler").CallableMessage<["property"]>;
|
|
14
14
|
}, Record<string, never>>;
|
|
15
|
+
export declare const graphFlagsValuesMustBeZeroOrPowersOfTwo: import("@typespec/compiler").LinterRuleDefinition<"graph-flags-values-must-be-zero-or-powers-of-two", {
|
|
16
|
+
readonly default: import("@typespec/compiler").CallableMessage<["member", "enum"]>;
|
|
17
|
+
}, Record<string, never>>;
|
|
15
18
|
//# sourceMappingURL=enum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../src/rules/enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAMR,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../src/rules/enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAMR,MAAM,oBAAoB,CAAC;AAiB5B,eAAO,MAAM,oBAAoB;;yBAmC/B,CAAC;AAEH,wBAAgB,0DAA0D,CAAC,OAAO,EAAE,OAAO,QAwB1F;AAED,eAAO,MAAM,yBAAyB;;yBA+BpC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;yBA6BtC,CAAC;AAEH,eAAO,MAAM,sCAAsC;;yBA8BjD,CAAC;AAEH,eAAO,MAAM,uCAAuC;;yBAiClD,CAAC"}
|
package/dist/src/rules/enum.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { createRule, getDoc, navigateTypesInNamespace, paramMessage, } from "@typespec/compiler";
|
|
2
|
-
import { getActualType, isExcludedCoreType, isTypeCollection, isTypeNullable, } from "../utils.js";
|
|
2
|
+
import { getActualType, isExcludedCoreType, isExcludedFromGraphStudioRules, isTypeCollection, isTypeNullable, } from "../utils.js";
|
|
3
3
|
import { getDeclaredNamespacesForLinting } from "../entities/namespace.js";
|
|
4
4
|
import { reportDiagnostic } from "../lib.js";
|
|
5
|
-
import { isFlatBagDiscriminatorEnum, isFlatBagDiscriminatorProperty } from "../decorators/flat-bag.js";
|
|
5
|
+
import { isFlatBagDiscriminatorEnum, isFlatBagDiscriminatorProperty, } from "../decorators/flat-bag.js";
|
|
6
|
+
import { isGraphFlags } from "../decorators/graphFlags.js";
|
|
6
7
|
export const useEvolvableEnumRule = createRule({
|
|
7
8
|
name: "use-evolvable-enum",
|
|
8
9
|
severity: "warning",
|
|
@@ -142,4 +143,45 @@ export const nullableEnumsShouldAddAdditionalMember = createRule({
|
|
|
142
143
|
};
|
|
143
144
|
},
|
|
144
145
|
});
|
|
146
|
+
export const graphFlagsValuesMustBeZeroOrPowersOfTwo = createRule({
|
|
147
|
+
name: "graph-flags-values-must-be-zero-or-powers-of-two",
|
|
148
|
+
severity: "warning",
|
|
149
|
+
description: "Flag enum values should be zero or powers of two.",
|
|
150
|
+
messages: {
|
|
151
|
+
default: paramMessage `Member '${"member"}' of flags enum '${"enum"}' should have a numeric value that is zero or a power of two.`,
|
|
152
|
+
},
|
|
153
|
+
create(context) {
|
|
154
|
+
return {
|
|
155
|
+
enum(enumType) {
|
|
156
|
+
if (isExcludedFromGraphStudioRules(context.program, enumType) ||
|
|
157
|
+
!isGraphFlags(context.program, enumType)) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
let nextImplicitValue = 0;
|
|
161
|
+
for (const member of enumType.members.values()) {
|
|
162
|
+
const value = member.value === undefined ? nextImplicitValue : member.value;
|
|
163
|
+
if (typeof value === "number") {
|
|
164
|
+
nextImplicitValue = getNextFlagValue(value);
|
|
165
|
+
}
|
|
166
|
+
if (typeof value === "number" && isZeroOrPowerOfTwo(value)) {
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
169
|
+
context.reportDiagnostic({
|
|
170
|
+
target: member,
|
|
171
|
+
format: { member: member.name, enum: enumType.name },
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
};
|
|
176
|
+
},
|
|
177
|
+
});
|
|
178
|
+
function isZeroOrPowerOfTwo(value) {
|
|
179
|
+
return Number.isInteger(value) && value >= 0 && (value === 0 || Math.log2(value) % 1 === 0);
|
|
180
|
+
}
|
|
181
|
+
function getNextFlagValue(value) {
|
|
182
|
+
if (!Number.isFinite(value) || value < 1) {
|
|
183
|
+
return 1;
|
|
184
|
+
}
|
|
185
|
+
return 2 ** Math.ceil(Math.log2(value + 1));
|
|
186
|
+
}
|
|
145
187
|
//# sourceMappingURL=enum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../src/rules/enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,UAAU,EACV,MAAM,EACN,wBAAwB,EACxB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../src/rules/enum.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/rules/filter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,OAAO,EAAsE,MAAM,oBAAoB,CAAC;AAGxH,wBAAgB,yDAAyD,CAAC,OAAO,EAAE,OAAO,QAgCzF;AAGD,wBAAgB,uEAAuE,CAAC,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/rules/filter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,OAAO,EAAsE,MAAM,oBAAoB,CAAC;AAGxH,wBAAgB,yDAAyD,CAAC,OAAO,EAAE,OAAO,QAgCzF;AAGD,wBAAgB,uEAAuE,CAAC,OAAO,EAAE,OAAO,QA2BvG;AAED,wBAAgB,0CAA0C,CAAC,OAAO,EAAE,OAAO,QAwC1E;AAED,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,OAAO,QA6BtE;AAED,wBAAgB,gDAAgD,CAAC,OAAO,EAAE,OAAO,QAoChF"}
|
package/dist/src/rules/filter.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/rules/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,+BAA+B,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/H,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAkB,eAAe,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACxH,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAE3E,MAAM,UAAU,yDAAyD,CAAC,OAAgB;IACxF,KAAK,MAAM,SAAS,IAAI,+BAA+B,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,wBAAwB,CAAC,SAAS,EAAE;YAClC,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;oBAClC,OAAO;gBACT,CAAC;gBAED,IAAI,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,KAAK,EAAE,CAAC;oBACnD,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;oBACxC,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;oBAC3D,IAAI,YAAY,EAAE,CAAC;wBACjB,OAAO;oBACT,CAAC;gBACH,CAAC;gBAED,IAAG,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC7D,OAAO;gBACT,CAAC;gBAED,gBAAgB,CAAC,OAAO,EAAE;oBACxB,IAAI,EAAE,uBAAuB;oBAC7B,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,WAAW;oBACtB,MAAM,EAAE;wBACN,SAAS,EAAE,SAAS;wBACpB,MAAM,EAAE,yCAAyC;qBAClD;iBACF,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAAA,CAAC;AAGF,MAAM,UAAU,uEAAuE,CAAC,OAAgB;IACtG,KAAK,MAAM,SAAS,IAAI,+BAA+B,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,wBAAwB,CAAC,SAAS,EAAE;YAClC,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;oBAClC,OAAO;gBACT,CAAC;gBAED,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACvD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACjE,OAAO;gBACT,CAAC;gBAED,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC/D,IAAI,uBAAuB,EAAE,CAAC;oBAC5B,gBAAgB,CAAC,OAAO,EAAE;wBACxB,IAAI,EAAE,uBAAuB;wBAC7B,MAAM,EAAE,SAAS;wBACjB,SAAS,EAAE,mCAAmC;wBAC9C,MAAM,EAAE;4BACN,SAAS,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/rules/filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
export declare const graphStudioRules: readonly [{
|
|
2
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"collection-property-should-not-be-nullable", {
|
|
3
|
+
readonly default: import("@typespec/compiler").CallableMessage<["property"]>;
|
|
4
|
+
}, Record<string, never>>;
|
|
5
|
+
readonly csdlRule: "CollectionPropertyShouldNotBeNullable";
|
|
6
|
+
}, {
|
|
7
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"collection-property-name-should-be-plural", {
|
|
8
|
+
readonly default: import("@typespec/compiler").CallableMessage<["property"]>;
|
|
9
|
+
}, Record<string, never>>;
|
|
10
|
+
readonly csdlRule: "PluralNoun";
|
|
11
|
+
}, {
|
|
12
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"collection-of-complex-type-should-use-entity-type", {
|
|
13
|
+
readonly default: import("@typespec/compiler").CallableMessage<["property"]>;
|
|
14
|
+
}, Record<string, never>>;
|
|
15
|
+
readonly csdlRule: "ComplexTypeCollectionShouldUseEntityTypeInstead";
|
|
16
|
+
}, {
|
|
17
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"collection-should-not-be-enum", {
|
|
18
|
+
readonly default: import("@typespec/compiler").CallableMessage<["member", "enum"]>;
|
|
19
|
+
}, Record<string, never>>;
|
|
20
|
+
readonly csdlRule: "EnumCollectionShouldBeFlaggedEnum";
|
|
21
|
+
}, {
|
|
22
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"contained-entity-should-not-have-entity-set", {
|
|
23
|
+
readonly default: import("@typespec/compiler").CallableMessage<["entityName"]>;
|
|
24
|
+
}, Record<string, never>>;
|
|
25
|
+
readonly csdlRule: "ContainedNavPropertyShouldNotHaveEntitySet";
|
|
26
|
+
}, {
|
|
27
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"entity-names-should-be-singular", {
|
|
28
|
+
readonly default: import("@typespec/compiler").CallableMessage<["entityName"]>;
|
|
29
|
+
}, Record<string, never>>;
|
|
30
|
+
readonly csdlRule: "EntityTypeNameShouldBeSingular";
|
|
31
|
+
}, {
|
|
32
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"names-must-be-camel-case", {
|
|
33
|
+
readonly default: import("@typespec/compiler").CallableMessage<["name", "suggested"]>;
|
|
34
|
+
}, Record<string, never>>;
|
|
35
|
+
readonly csdlRule: "CamelCase";
|
|
36
|
+
}, {
|
|
37
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"nullable-boolean-should-be-enum", {
|
|
38
|
+
readonly default: import("@typespec/compiler").CallableMessage<["property"]>;
|
|
39
|
+
}, Record<string, never>>;
|
|
40
|
+
readonly csdlRule: "NullableBooleanShouldBeEnum";
|
|
41
|
+
}, {
|
|
42
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"nullable-enum-should-add-additional-member", {
|
|
43
|
+
readonly default: import("@typespec/compiler").CallableMessage<["property"]>;
|
|
44
|
+
}, Record<string, never>>;
|
|
45
|
+
readonly csdlRule: "NullableEnumsShouldAddAdditionalMember";
|
|
46
|
+
}, {
|
|
47
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"property-name-should-not-start-with-navigation-source-name", {
|
|
48
|
+
readonly navigationSource: import("@typespec/compiler").CallableMessage<["property", "navigationSource"]>;
|
|
49
|
+
readonly parentProperty: import("@typespec/compiler").CallableMessage<["property", "parentType", "parentProperty"]>;
|
|
50
|
+
}, Record<string, never>>;
|
|
51
|
+
readonly csdlRule: "MustNotUseParentPathSegmentInPropertyName";
|
|
52
|
+
}, {
|
|
53
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"property-must-not-be-named-type", {
|
|
54
|
+
readonly default: import("@typespec/compiler").CallableMessage<[]>;
|
|
55
|
+
}, Record<string, never>>;
|
|
56
|
+
readonly csdlRule: "PropertyMustNotBeNamedType";
|
|
57
|
+
}, {
|
|
58
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"reference-id-property-should-be-navigation-property", {
|
|
59
|
+
readonly default: import("@typespec/compiler").CallableMessage<["property", "entityType", "navigationPropertyName"]>;
|
|
60
|
+
}, Record<string, never>>;
|
|
61
|
+
readonly csdlRule: "ReferenceIdPropertyShouldBeNavigationProperty";
|
|
62
|
+
}, {
|
|
63
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"should-not-use-unnecessary-inheritance", {
|
|
64
|
+
readonly default: import("@typespec/compiler").CallableMessage<["baseType", "derivedType", "baseType"]>;
|
|
65
|
+
}, Record<string, never>>;
|
|
66
|
+
readonly csdlRule: "ShouldNotUseUnnecessaryInheritance";
|
|
67
|
+
}, {
|
|
68
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"use-created-in-property-names", {
|
|
69
|
+
readonly default: import("@typespec/compiler").CallableMessage<["property", "foundWord", "suggested"]>;
|
|
70
|
+
}, Record<string, never>>;
|
|
71
|
+
readonly csdlRule: "UseCreatedInPropertyName";
|
|
72
|
+
}, {
|
|
73
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"use-evolvable-enum", {
|
|
74
|
+
readonly default: import("@typespec/compiler").CallableMessage<["enum"]>;
|
|
75
|
+
}, Record<string, never>>;
|
|
76
|
+
readonly csdlRule: "EnumShouldBeEvolvable";
|
|
77
|
+
}, {
|
|
78
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"use-modified-in-property-names", {
|
|
79
|
+
readonly default: import("@typespec/compiler").CallableMessage<["property", "foundWord", "suggested"]>;
|
|
80
|
+
}, Record<string, never>>;
|
|
81
|
+
readonly csdlRule: "UseModifiedInPropertyName";
|
|
82
|
+
}, {
|
|
83
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"use-proper-default-record", {
|
|
84
|
+
readonly default: import("@typespec/compiler").CallableMessage<["model"]>;
|
|
85
|
+
}, Record<string, never>>;
|
|
86
|
+
readonly csdlRule: "UseProperDefaultRecord";
|
|
87
|
+
}, {
|
|
88
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"use-email-instead-of-mail", {
|
|
89
|
+
readonly default: import("@typespec/compiler").CallableMessage<["property"]>;
|
|
90
|
+
}, Record<string, never>>;
|
|
91
|
+
readonly csdlRule: "UseEmail";
|
|
92
|
+
}, {
|
|
93
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"date-property-names-must-use-date-suffix", {
|
|
94
|
+
readonly default: import("@typespec/compiler").CallableMessage<["property"]>;
|
|
95
|
+
}, Record<string, never>>;
|
|
96
|
+
readonly csdlRule: "SuffixDate";
|
|
97
|
+
}, {
|
|
98
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"time-property-names-must-use-time-suffix", {
|
|
99
|
+
readonly default: import("@typespec/compiler").CallableMessage<["property"]>;
|
|
100
|
+
}, Record<string, never>>;
|
|
101
|
+
readonly csdlRule: "SuffixTime";
|
|
102
|
+
}, {
|
|
103
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"date-time-property-names-must-use-date-time-suffix", {
|
|
104
|
+
readonly default: import("@typespec/compiler").CallableMessage<["property", "type"]>;
|
|
105
|
+
}, Record<string, never>>;
|
|
106
|
+
readonly csdlRule: "SuffixDateTime";
|
|
107
|
+
}, {
|
|
108
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"entity-key-must-be-string", {
|
|
109
|
+
readonly default: import("@typespec/compiler").CallableMessage<["property", "entity"]>;
|
|
110
|
+
}, Record<string, never>>;
|
|
111
|
+
readonly csdlRule: "EntityKeyMustBeString";
|
|
112
|
+
}, {
|
|
113
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"primary-key-must-not-be-composite", {
|
|
114
|
+
readonly default: import("@typespec/compiler").CallableMessage<["entity"]>;
|
|
115
|
+
}, Record<string, never>>;
|
|
116
|
+
readonly csdlRule: "PrimaryKeyMustNotBeComposite";
|
|
117
|
+
}, {
|
|
118
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"avoid-id-property-on-complex-type", {
|
|
119
|
+
readonly default: import("@typespec/compiler").CallableMessage<["model"]>;
|
|
120
|
+
}, Record<string, never>>;
|
|
121
|
+
readonly csdlRule: "AvoidComplexTypeId";
|
|
122
|
+
}, {
|
|
123
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"property-name-must-not-repeat-declaring-type", {
|
|
124
|
+
readonly default: import("@typespec/compiler").CallableMessage<["property", "model"]>;
|
|
125
|
+
}, Record<string, never>>;
|
|
126
|
+
readonly csdlRule: "PropertyNameMustNotStartOrEndWithDeclaringTypeName";
|
|
127
|
+
}, {
|
|
128
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"property-name-must-not-use-primitive-type-affix", {
|
|
129
|
+
readonly default: import("@typespec/compiler").CallableMessage<["property", "primitive"]>;
|
|
130
|
+
}, Record<string, never>>;
|
|
131
|
+
readonly csdlRule: "PropertyNameMustNotStartOrEndWithAPrimitiveTypeName";
|
|
132
|
+
}, {
|
|
133
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"property-name-must-not-use-prohibited-suffix", {
|
|
134
|
+
readonly default: import("@typespec/compiler").CallableMessage<["property", "suffix"]>;
|
|
135
|
+
}, Record<string, never>>;
|
|
136
|
+
readonly csdlRule: "ProhibitedPropertyNameSuffix";
|
|
137
|
+
}, {
|
|
138
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"graph-flags-values-must-be-zero-or-powers-of-two", {
|
|
139
|
+
readonly default: import("@typespec/compiler").CallableMessage<["member", "enum"]>;
|
|
140
|
+
}, Record<string, never>>;
|
|
141
|
+
readonly csdlRule: "EnumMemberValuesShouldBeZeroOrPowersOfTwo";
|
|
142
|
+
}, {
|
|
143
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"media-entity-types-must-not-contain-stream-properties", {
|
|
144
|
+
readonly default: import("@typespec/compiler").CallableMessage<["model", "property"]>;
|
|
145
|
+
}, Record<string, never>>;
|
|
146
|
+
readonly csdlRule: "MediaEntityTypesCannotContainSubstreams";
|
|
147
|
+
}, {
|
|
148
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"media-entity-types-must-not-inherit", {
|
|
149
|
+
readonly default: import("@typespec/compiler").CallableMessage<["model", "base"]>;
|
|
150
|
+
}, Record<string, never>>;
|
|
151
|
+
readonly csdlRule: "MediaEntityTypesCannotInheritFromABaseType";
|
|
152
|
+
}, {
|
|
153
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"operation-names-should-avoid-crud-verbs", {
|
|
154
|
+
readonly default: import("@typespec/compiler").CallableMessage<["operation", "verb"]>;
|
|
155
|
+
}, Record<string, never>>;
|
|
156
|
+
readonly csdlRule: "OperationsShouldBeAvoided";
|
|
157
|
+
}, {
|
|
158
|
+
readonly rule: import("@typespec/compiler").LinterRuleDefinition<"numbered-properties-should-use-collection", {
|
|
159
|
+
readonly default: import("@typespec/compiler").CallableMessage<["properties", "model"]>;
|
|
160
|
+
}, Record<string, never>>;
|
|
161
|
+
readonly csdlRule: "ProperCollections";
|
|
162
|
+
}];
|
|
163
|
+
//# sourceMappingURL=graph-studio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-studio.d.ts","sourceRoot":"","sources":["../../../src/rules/graph-studio.ts"],"names":[],"mappings":"AA0CA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkEnB,CAAC"}
|