@microsoft/typespec-msgraph 1.0.0-Preview.2 → 1.0.0-Preview.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.
Files changed (109) hide show
  1. package/README.md +4 -0
  2. package/dist/src/components/common-elements.d.ts +2 -0
  3. package/dist/src/components/common-elements.d.ts.map +1 -1
  4. package/dist/src/components/common-elements.js +15 -1
  5. package/dist/src/components/common-elements.js.map +1 -1
  6. package/dist/src/components/entity-container-element.d.ts +1 -0
  7. package/dist/src/components/entity-container-element.d.ts.map +1 -1
  8. package/dist/src/components/entity-container-element.js +1 -1
  9. package/dist/src/components/entity-container-element.js.map +1 -1
  10. package/dist/src/components/reference-target-element.d.ts.map +1 -1
  11. package/dist/src/components/schema-element.d.ts.map +1 -1
  12. package/dist/src/components/schema-element.js +1 -1
  13. package/dist/src/components/schema-element.js.map +1 -1
  14. package/dist/src/decorators/allowed-values.d.ts.map +1 -1
  15. package/dist/src/decorators/allowed-values.js +20 -2
  16. package/dist/src/decorators/allowed-values.js.map +1 -1
  17. package/dist/src/decorators/container.d.ts +10 -0
  18. package/dist/src/decorators/container.d.ts.map +1 -0
  19. package/dist/src/decorators/container.js +29 -0
  20. package/dist/src/decorators/container.js.map +1 -0
  21. package/dist/src/decorators/graph-partial.d.ts.map +1 -1
  22. package/dist/src/decorators/graph-route.d.ts.map +1 -1
  23. package/dist/src/decorators/graph-route.js +1 -1
  24. package/dist/src/decorators/graph-route.js.map +1 -1
  25. package/dist/src/decorators/index.d.ts +1 -0
  26. package/dist/src/decorators/index.d.ts.map +1 -1
  27. package/dist/src/decorators/index.js +1 -0
  28. package/dist/src/decorators/index.js.map +1 -1
  29. package/dist/src/emitter.d.ts +1 -0
  30. package/dist/src/emitter.d.ts.map +1 -1
  31. package/dist/src/emitter.js +16 -8
  32. package/dist/src/emitter.js.map +1 -1
  33. package/dist/src/entities/annotations.d.ts.map +1 -1
  34. package/dist/src/entities/annotations.js +7 -5
  35. package/dist/src/entities/annotations.js.map +1 -1
  36. package/dist/src/entities/model.d.ts.map +1 -1
  37. package/dist/src/entities/model.js +7 -6
  38. package/dist/src/entities/model.js.map +1 -1
  39. package/dist/src/entities/namespace.d.ts +1 -0
  40. package/dist/src/entities/namespace.d.ts.map +1 -1
  41. package/dist/src/entities/namespace.js +5 -3
  42. package/dist/src/entities/namespace.js.map +1 -1
  43. package/dist/src/entities/operation.js +2 -2
  44. package/dist/src/entities/operation.js.map +1 -1
  45. package/dist/src/entities/property.d.ts +1 -1
  46. package/dist/src/entities/property.d.ts.map +1 -1
  47. package/dist/src/entities/property.js +6 -18
  48. package/dist/src/entities/property.js.map +1 -1
  49. package/dist/src/lib.d.ts +10 -1
  50. package/dist/src/lib.d.ts.map +1 -1
  51. package/dist/src/lib.js +18 -6
  52. package/dist/src/lib.js.map +1 -1
  53. package/dist/src/linter.d.ts.map +1 -1
  54. package/dist/src/linter.js +26 -2
  55. package/dist/src/linter.js.map +1 -1
  56. package/dist/src/rules/allowed-values.d.ts +3 -0
  57. package/dist/src/rules/allowed-values.d.ts.map +1 -1
  58. package/dist/src/rules/allowed-values.js +32 -1
  59. package/dist/src/rules/allowed-values.js.map +1 -1
  60. package/dist/src/rules/collections.d.ts +4 -0
  61. package/dist/src/rules/collections.d.ts.map +1 -0
  62. package/dist/src/rules/collections.js +32 -0
  63. package/dist/src/rules/collections.js.map +1 -0
  64. package/dist/src/rules/contains.d.ts +6 -0
  65. package/dist/src/rules/contains.d.ts.map +1 -1
  66. package/dist/src/rules/contains.js +64 -4
  67. package/dist/src/rules/contains.js.map +1 -1
  68. package/dist/src/rules/entity.d.ts +3 -0
  69. package/dist/src/rules/entity.d.ts.map +1 -1
  70. package/dist/src/rules/entity.js +48 -1
  71. package/dist/src/rules/entity.js.map +1 -1
  72. package/dist/src/rules/enum.d.ts +9 -0
  73. package/dist/src/rules/enum.d.ts.map +1 -1
  74. package/dist/src/rules/enum.js +79 -3
  75. package/dist/src/rules/enum.js.map +1 -1
  76. package/dist/src/rules/index.d.ts +2 -0
  77. package/dist/src/rules/index.d.ts.map +1 -1
  78. package/dist/src/rules/index.js +2 -0
  79. package/dist/src/rules/index.js.map +1 -1
  80. package/dist/src/rules/limited-charset.d.ts.map +1 -1
  81. package/dist/src/rules/model.d.ts +3 -0
  82. package/dist/src/rules/model.d.ts.map +1 -1
  83. package/dist/src/rules/model.js +62 -20
  84. package/dist/src/rules/model.js.map +1 -1
  85. package/dist/src/rules/namespace.js +1 -1
  86. package/dist/src/rules/namespace.js.map +1 -1
  87. package/dist/src/rules/properties.d.ts +10 -0
  88. package/dist/src/rules/properties.d.ts.map +1 -0
  89. package/dist/src/rules/properties.js +118 -0
  90. package/dist/src/rules/properties.js.map +1 -0
  91. package/dist/src/supressions/csdl-suppression-rules.d.ts +8 -0
  92. package/dist/src/supressions/csdl-suppression-rules.d.ts.map +1 -0
  93. package/dist/src/supressions/csdl-suppression-rules.js +28 -0
  94. package/dist/src/supressions/csdl-suppression-rules.js.map +1 -0
  95. package/dist/src/supressions/path-util.d.ts +17 -0
  96. package/dist/src/supressions/path-util.d.ts.map +1 -0
  97. package/dist/src/supressions/path-util.js +65 -0
  98. package/dist/src/supressions/path-util.js.map +1 -0
  99. package/dist/src/supressions/suppression-collector.d.ts +10 -0
  100. package/dist/src/supressions/suppression-collector.d.ts.map +1 -0
  101. package/dist/src/supressions/suppression-collector.js +158 -0
  102. package/dist/src/supressions/suppression-collector.js.map +1 -0
  103. package/dist/src/utils.d.ts +8 -2
  104. package/dist/src/utils.d.ts.map +1 -1
  105. package/dist/src/utils.js +61 -4
  106. package/dist/src/utils.js.map +1 -1
  107. package/lib/decorators.tsp +10 -0
  108. package/lib/schema-Prod-v1.0.tsp +312 -0
  109. package/package.json +23 -18
@@ -0,0 +1,158 @@
1
+ import { SyntaxKind, } from "@typespec/compiler/ast";
2
+ import { buildWorkloadKeyPath, createSuppressionFilePath, extractEnvAndVersionFromPath, } from "./path-util.js";
3
+ import { findCsdlValidationRule } from "./csdl-suppression-rules.js";
4
+ import { readFileSync, existsSync } from "fs";
5
+ import { join } from "path";
6
+ const DEFAULT_EXPIRATION_DATE = "2099-12-31";
7
+ /**
8
+ * Collects suppressions from TypeSpec source files and merges them with existing suppressions.
9
+ * If a suppression.json file already exists in the output directory, new suppressions will be
10
+ * merged with the existing ones for the same CSDL path.
11
+ */
12
+ export async function collectSuppressions(context, path, sourceFile) {
13
+ var _a;
14
+ if (!sourceFile)
15
+ return undefined;
16
+ const newSuppressions = extractSuppressionsFromSource(path, sourceFile);
17
+ if (Object.keys(newSuppressions).length === 0)
18
+ return undefined;
19
+ const outputDir = (_a = context.program.compilerOptions.outputDir) !== null && _a !== void 0 ? _a : "";
20
+ const { outputPath } = await createSuppressionFilePath(context, outputDir);
21
+ const workloadKeyPath = buildWorkloadKeyPath(context, outputPath);
22
+ // Check for existing suppressions and merge
23
+ const existingSuppressions = await loadExistingSuppressions(context, outputPath, workloadKeyPath, path);
24
+ const mergedSuppressions = {
25
+ ...existingSuppressions,
26
+ ...newSuppressions,
27
+ };
28
+ return { [workloadKeyPath]: mergedSuppressions };
29
+ }
30
+ /**
31
+ * Loads existing suppressions from the suppression.json file for a specific CSDL path.
32
+ * Returns an empty object if the file doesn't exist or cannot be parsed.
33
+ */
34
+ async function loadExistingSuppressions(context, outputDir, csdlWorkloadKey, path) {
35
+ const suppressionFilePath = join(outputDir, "suppression.json");
36
+ const { env, version } = extractEnvAndVersionFromPath(path);
37
+ if (!existsSync(suppressionFilePath)) {
38
+ return {};
39
+ }
40
+ try {
41
+ const fileContent = readFileSync(suppressionFilePath, "utf-8");
42
+ const existingData = JSON.parse(fileContent);
43
+ const existingSuppressions = existingData[csdlWorkloadKey] || {};
44
+ // Remove suppressions that match both env and version from the current file path
45
+ const filteredSuppressions = {};
46
+ for (const [key, value] of Object.entries(existingSuppressions)) {
47
+ // Parse the suppression key to check if it matches the current env and version
48
+ const envMatch = key.includes(`env=${env}`);
49
+ const versionMatch = key.includes(`version=${version}`);
50
+ // Keep suppressions that don't match both env and version
51
+ if (!(envMatch && versionMatch)) {
52
+ filteredSuppressions[key] = value;
53
+ }
54
+ }
55
+ return filteredSuppressions;
56
+ }
57
+ catch (error) {
58
+ // If file is corrupted or invalid JSON, log warning and return empty
59
+ console.warn(`Warning: Could not parse existing suppression.json: ${error}`);
60
+ return {};
61
+ }
62
+ }
63
+ function extractSuppressionsFromSource(path, sourceFile) {
64
+ const { env, version } = extractEnvAndVersionFromPath(path);
65
+ const namespaces = getNamespaceStatements(sourceFile);
66
+ return namespaces.reduce((prevValue, namespace) => ({
67
+ ...prevValue,
68
+ ...collectDirectives(namespace, env, version),
69
+ }), {});
70
+ }
71
+ function getNamespaceStatements(sourceFile) {
72
+ return sourceFile.statements.filter((stmt) => stmt.kind === SyntaxKind.NamespaceStatement);
73
+ }
74
+ function collectDirectives(statement, env, version) {
75
+ var _a;
76
+ const result = {};
77
+ // Process directives on this statement
78
+ if ((_a = statement.directives) === null || _a === void 0 ? void 0 : _a.length) {
79
+ for (const directive of statement.directives) {
80
+ if (directive.kind === SyntaxKind.DirectiveExpression) {
81
+ const suppression = parseDirectiveStatement(directive, env, version);
82
+ if (suppression) {
83
+ Object.assign(result, suppression);
84
+ }
85
+ }
86
+ }
87
+ }
88
+ // Recursively process child statements
89
+ const children = getChildStatements(statement);
90
+ for (const child of children) {
91
+ Object.assign(result, collectDirectives(child, env, version));
92
+ }
93
+ return result;
94
+ }
95
+ function getChildStatements(statement) {
96
+ switch (statement.kind) {
97
+ case SyntaxKind.ModelStatement:
98
+ return statement.properties;
99
+ case SyntaxKind.EnumStatement:
100
+ return statement.members;
101
+ default:
102
+ if ("statements" in statement && statement.statements) {
103
+ const children = statement.statements;
104
+ return Array.isArray(children) ? children : [children];
105
+ }
106
+ return [];
107
+ }
108
+ }
109
+ function parseDirectiveStatement(directive, env, version) {
110
+ const [ruleArgument] = directive.arguments;
111
+ if ((ruleArgument === null || ruleArgument === void 0 ? void 0 : ruleArgument.kind) !== SyntaxKind.StringLiteral) {
112
+ return undefined;
113
+ }
114
+ const csdlRule = findCsdlValidationRule(ruleArgument.value);
115
+ if (!csdlRule) {
116
+ return undefined;
117
+ }
118
+ const path = getCsdlPath(directive.parent);
119
+ const suppressionKey = buildSuppressionKey({ csdlRule, env, path, version });
120
+ return { [suppressionKey]: DEFAULT_EXPIRATION_DATE };
121
+ }
122
+ function buildSuppressionKey({ csdlRule, env, path, version, }) {
123
+ return `code=Schema.Validation.${csdlRule};env=${env};path=${path};version=${version}`;
124
+ }
125
+ function getCsdlPath(node) {
126
+ const pathGenerators = {
127
+ [SyntaxKind.ModelStatement]: (n) => {
128
+ const isComplexType = n.decorators.some((dec) => dec.target.sv === "complex");
129
+ return isComplexType ? `/ComplexType[${n.id.sv}]` : `/EntityType[${n.id.sv}]`;
130
+ },
131
+ [SyntaxKind.ModelProperty]: (n) => `${getCsdlPath(n.parent)}/Property[${n.id.sv}]`,
132
+ [SyntaxKind.EnumStatement]: (n) => `/EnumType[${n.id.sv}]`,
133
+ [SyntaxKind.EnumMember]: (n) => `${getCsdlPath(n.parent)}/Member[${n.id.sv}]`,
134
+ [SyntaxKind.NamespaceStatement]: (n) => {
135
+ const fullNamespaceName = buildFullNamespaceName(n);
136
+ return `/Schema/@Namespace[${fullNamespaceName}]`;
137
+ },
138
+ };
139
+ const generator = pathGenerators[node.kind];
140
+ return generator ? generator(node) : "Unknown";
141
+ }
142
+ function buildFullNamespaceName(namespaceNode) {
143
+ const nameParts = [];
144
+ let currentNode = namespaceNode;
145
+ // Iterate up through the parent hierarchy
146
+ while (currentNode && currentNode.kind === SyntaxKind.NamespaceStatement) {
147
+ const nsNode = currentNode;
148
+ const namespaceName = nsNode.id.sv;
149
+ // Capitalize the first letter of each namespace part
150
+ const capitalizedName = namespaceName.charAt(0).toUpperCase() + namespaceName.slice(1);
151
+ nameParts.unshift(capitalizedName); // Add to beginning to maintain order
152
+ // Move up to parent
153
+ currentNode = currentNode.parent;
154
+ }
155
+ // Join with dots to create the full qualified name
156
+ return nameParts.join(".");
157
+ }
158
+ //# sourceMappingURL=suppression-collector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suppression-collector.js","sourceRoot":"","sources":["../../../src/supressions/suppression-collector.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Enum, Interface, IntrinsicType, Model, ModelProperty, Namespace, Operation, Program, Scalar, Type, Union } from "@typespec/compiler";
1
+ import { Enum, Interface, IntrinsicType, Model, ModelProperty, Namespace, Numeric, Operation, Program, Scalar, Type, Union } from "@typespec/compiler";
2
2
  import { HttpVerb } from "@typespec/http";
3
3
  import { DeltaProperties } from "./entities/model.js";
4
4
  import { MsGraphOperation } from "./entities/operation.js";
@@ -28,7 +28,7 @@ export declare function getComposableFunctionSegmentFromGraphRoute(graphRoutePat
28
28
  export declare function getCollectionIndexInterfaces(program: Program, navigationSources: Map<string, Interface>): Map<string, MsGraphInterface>;
29
29
  export declare function getPropertyTypeName(program: Program, type: Type): string;
30
30
  export declare function removeReferencePrefixFromType(typeName: string): string;
31
- export declare function isTypeNullable(program: Program, type: Type): boolean;
31
+ export declare function isTypeNullable(program: Program, type: Type, targetTypeCheck?: (t: Type) => boolean): boolean;
32
32
  export declare function isNullType(type: Type): boolean;
33
33
  export declare function extractTypesFromUnion(type: Union): Type[];
34
34
  export declare function getSingletonTypeId(program: Program, singletonType: string | null, getOperation: Operation | undefined): string | undefined;
@@ -104,8 +104,14 @@ export declare function checkFunctionOverloads(operation1: MsGraphOperation, ope
104
104
  * @returns a Model type if the underlying type is a model, undefined otherwise
105
105
  */
106
106
  export declare function getTypeModel(program: Program, type: Type, structuralPropertiesOnly?: boolean): Model | undefined;
107
+ export declare function getActualType(program: Program, type: Type, structuralPropertiesOnly?: boolean): Type | undefined;
107
108
  export declare function cleanGraphRoutePath(path: string): string;
108
109
  export declare function buildPathTree(program: Program): PathTree;
109
110
  export declare function getParentModelForPropertyFromGraphRoute(pathTree: PathTree, graphRoutePath: string): Model | undefined;
110
111
  export declare function isParentSharedEntity(program: Program, model: Model): boolean;
112
+ export declare function splitWords(name: string): string[];
113
+ export declare function findOneOfWordsIC(value: string, targetWords: Array<string>): string | null;
114
+ export declare function toSameFirstCharCasingAs(value: string, other: string): string;
115
+ export declare function toCamelCase(str: string): string;
116
+ export declare function getDefaultPropertyValue(property: ModelProperty): string | boolean | Numeric | undefined;
111
117
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/dist/src/utils.js CHANGED
@@ -17,7 +17,7 @@ export function getSchemaNamespaceName(program, namespace) {
17
17
  export function getNameForType(program, type) {
18
18
  switch (type.kind) {
19
19
  case "Union":
20
- return type.options.map((x, i) => getNameForType(program, x)).join(" | ");
20
+ return extractTypesFromUnion(type).map((x) => getNameForType(program, x)).join(" | ");
21
21
  case "TemplateParameter":
22
22
  return type.node.id.sv;
23
23
  case "String":
@@ -280,12 +280,17 @@ export function getPropertyTypeName(program, type) {
280
280
  export function removeReferencePrefixFromType(typeName) {
281
281
  return typeName.replace(/^reference\./, "");
282
282
  }
283
- export function isTypeNullable(program, type) {
283
+ export function isTypeNullable(program, type, targetTypeCheck) {
284
284
  if (type.kind !== "Union") {
285
285
  return false;
286
286
  }
287
287
  const unionTypes = extractTypesFromUnion(type);
288
- return unionTypes.some((t) => isNullType(t));
288
+ const isNullable = unionTypes.some((t) => isNullType(t));
289
+ if (targetTypeCheck) {
290
+ const isTypeCheck = unionTypes.some(targetTypeCheck);
291
+ return isNullable && isTypeCheck;
292
+ }
293
+ return isNullable;
289
294
  }
290
295
  function getIdForUnion(program, unionType) {
291
296
  const unionTypes = extractTypesFromUnion(unionType);
@@ -803,7 +808,7 @@ export function getTypeModel(program, type, structuralPropertiesOnly = false) {
803
808
  }
804
809
  return actualType;
805
810
  }
806
- function getActualType(program, type, structuralPropertiesOnly = false) {
811
+ export function getActualType(program, type, structuralPropertiesOnly = false) {
807
812
  var _a;
808
813
  if (type.kind === "Union") {
809
814
  const nonNullTypes = extractTypesFromUnion(type).filter(t => !isNullType(t));
@@ -894,4 +899,56 @@ export function isParentSharedEntity(program, model) {
894
899
  }
895
900
  return ((_a = model.namespace) === null || _a === void 0 ? void 0 : _a.name) === DEFAULT_MSGRAPH_NAMESPACE;
896
901
  }
902
+ export function splitWords(name) {
903
+ // Split on capital letters (camelCase/PascalCase)
904
+ return name.split(/(?<!^)(?=[A-Z])/).filter(word => word.length > 0);
905
+ }
906
+ // Main function to find one of the target words in a camelCase string
907
+ export function findOneOfWordsIC(value, targetWords) {
908
+ const words = splitWords(value);
909
+ const flagged = words.find(w => {
910
+ // Case-insensitive comparison - check if any target word matches this word
911
+ return targetWords.some(target => target.toLowerCase() === w.toLowerCase());
912
+ });
913
+ return flagged || null;
914
+ }
915
+ // Helper function to match first character casing
916
+ export function toSameFirstCharCasingAs(value, other) {
917
+ if (!value || !other) {
918
+ return value;
919
+ }
920
+ const otherFirstChar = other[0];
921
+ const valueFirstChar = value[0];
922
+ // If other starts with uppercase and value starts with lowercase
923
+ if (otherFirstChar >= 'A' && otherFirstChar <= 'Z' &&
924
+ valueFirstChar >= 'a' && valueFirstChar <= 'z') {
925
+ return valueFirstChar.toUpperCase() + value.substring(1);
926
+ }
927
+ // If other starts with lowercase and value starts with uppercase
928
+ if (otherFirstChar >= 'a' && otherFirstChar <= 'z' &&
929
+ valueFirstChar >= 'A' && valueFirstChar <= 'Z') {
930
+ return valueFirstChar.toLowerCase() + value.substring(1);
931
+ }
932
+ return value;
933
+ }
934
+ export function toCamelCase(str) {
935
+ if (str.length === 0)
936
+ return str;
937
+ return str.charAt(0).toLowerCase() + str.slice(1);
938
+ }
939
+ export function getDefaultPropertyValue(property) {
940
+ if (!property.defaultValue) {
941
+ return undefined;
942
+ }
943
+ switch (property.defaultValue.valueKind) {
944
+ case "StringValue":
945
+ case "BooleanValue":
946
+ case "NumericValue":
947
+ return property.defaultValue.value;
948
+ case "EnumValue":
949
+ return property.defaultValue.value.name;
950
+ default:
951
+ return undefined;
952
+ }
953
+ }
897
954
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -90,6 +90,16 @@ extern dec complex(target: Model);
90
90
  */
91
91
  extern dec computed(target: ModelProperty);
92
92
 
93
+
94
+ /**
95
+ * `@container` - specifies the name to use the container in the CSDL output.
96
+ *
97
+ * `@container` can only be applied to namespaces.
98
+ *
99
+ * `name` - The name of the container. If not specified, defaults to "container".
100
+ */
101
+ extern dec container(target: Namespace, name: valueof string);
102
+
93
103
  /**
94
104
  * `@contains` - mark a model property as a contained navigation property
95
105
  *