@typespec/compiler 0.65.0-dev.1 → 0.65.0-dev.3

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 (35) hide show
  1. package/dist/generated-defs/TypeSpec.d.ts +66 -32
  2. package/dist/generated-defs/TypeSpec.d.ts.map +1 -1
  3. package/dist/manifest.js +2 -2
  4. package/dist/src/core/checker.d.ts.map +1 -1
  5. package/dist/src/core/checker.js +1 -2
  6. package/dist/src/core/checker.js.map +1 -1
  7. package/dist/src/core/compiler-code-fixes/convert-to-value.codefix.d.ts +10 -0
  8. package/dist/src/core/compiler-code-fixes/convert-to-value.codefix.d.ts.map +1 -0
  9. package/dist/src/core/compiler-code-fixes/convert-to-value.codefix.js +68 -0
  10. package/dist/src/core/compiler-code-fixes/convert-to-value.codefix.js.map +1 -0
  11. package/dist/src/core/visibility/core.d.ts +13 -0
  12. package/dist/src/core/visibility/core.d.ts.map +1 -1
  13. package/dist/src/core/visibility/core.js +19 -20
  14. package/dist/src/core/visibility/core.js.map +1 -1
  15. package/dist/src/core/visibility/index.d.ts +1 -1
  16. package/dist/src/core/visibility/index.d.ts.map +1 -1
  17. package/dist/src/core/visibility/index.js +1 -1
  18. package/dist/src/core/visibility/index.js.map +1 -1
  19. package/dist/src/core/visibility/lifecycle.d.ts.map +1 -1
  20. package/dist/src/core/visibility/lifecycle.js +8 -0
  21. package/dist/src/core/visibility/lifecycle.js.map +1 -1
  22. package/dist/src/lib/visibility.d.ts +54 -0
  23. package/dist/src/lib/visibility.d.ts.map +1 -1
  24. package/dist/src/lib/visibility.js +84 -1
  25. package/dist/src/lib/visibility.js.map +1 -1
  26. package/lib/std/visibility.tsp +210 -36
  27. package/package.json +1 -1
  28. package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.d.ts +0 -6
  29. package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.d.ts.map +0 -1
  30. package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.js +0 -15
  31. package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.js.map +0 -1
  32. package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.d.ts +0 -6
  33. package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.d.ts.map +0 -1
  34. package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.js +0 -15
  35. package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.js.map +0 -1
@@ -0,0 +1,10 @@
1
+ import { type ModelExpressionNode, type TupleExpressionNode } from "../types.js";
2
+ /**
3
+ * Quick fix that convert a tuple to an array value.
4
+ */
5
+ export declare function createTupleToArrayValueCodeFix(node: TupleExpressionNode): import("../types.js").CodeFix;
6
+ /**
7
+ * Quick fix that convert a model expression to an object value.
8
+ */
9
+ export declare function createModelToObjectValueCodeFix(node: ModelExpressionNode): import("../types.js").CodeFix;
10
+ //# sourceMappingURL=convert-to-value.codefix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-to-value.codefix.d.ts","sourceRoot":"","sources":["../../../../src/core/compiler-code-fixes/convert-to-value.codefix.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACzB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,mBAAmB,iCAkBvE;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,mBAAmB,iCAkBxE"}
@@ -0,0 +1,68 @@
1
+ import { defineCodeFix, getSourceLocation } from "../diagnostics.js";
2
+ import { SyntaxKind, } from "../types.js";
3
+ /**
4
+ * Quick fix that convert a tuple to an array value.
5
+ */
6
+ export function createTupleToArrayValueCodeFix(node) {
7
+ return defineCodeFix({
8
+ id: "tuple-to-array-value",
9
+ label: `Convert to an array value \`#[]\``,
10
+ fix: (context) => {
11
+ const result = [];
12
+ addCreatedCodeFixResult(node);
13
+ createChildTupleToArrValCodeFix(node, addCreatedCodeFixResult);
14
+ return result;
15
+ function addCreatedCodeFixResult(node) {
16
+ const location = getSourceLocation(node);
17
+ result.push(context.prependText(location, "#"));
18
+ }
19
+ },
20
+ });
21
+ }
22
+ /**
23
+ * Quick fix that convert a model expression to an object value.
24
+ */
25
+ export function createModelToObjectValueCodeFix(node) {
26
+ return defineCodeFix({
27
+ id: "model-to-object-value",
28
+ label: `Convert to an object value \`#{}\``,
29
+ fix: (context) => {
30
+ const result = [];
31
+ addCreatedCodeFixResult(node);
32
+ createChildModelToObjValCodeFix(node, addCreatedCodeFixResult);
33
+ return result;
34
+ function addCreatedCodeFixResult(node) {
35
+ const location = getSourceLocation(node);
36
+ result.push(context.prependText(location, "#"));
37
+ }
38
+ },
39
+ });
40
+ }
41
+ function createChildTupleToArrValCodeFix(node, addCreatedCodeFixResult) {
42
+ for (const childNode of node.values) {
43
+ if (childNode.kind === SyntaxKind.ModelExpression) {
44
+ addCreatedCodeFixResult(childNode);
45
+ createChildModelToObjValCodeFix(childNode, addCreatedCodeFixResult);
46
+ }
47
+ else if (childNode.kind === SyntaxKind.TupleExpression) {
48
+ addCreatedCodeFixResult(childNode);
49
+ createChildTupleToArrValCodeFix(childNode, addCreatedCodeFixResult);
50
+ }
51
+ }
52
+ }
53
+ function createChildModelToObjValCodeFix(node, addCreatedCodeFixResult) {
54
+ for (const prop of node.properties.values()) {
55
+ if (prop.kind === SyntaxKind.ModelProperty) {
56
+ const childNode = prop.value;
57
+ if (childNode.kind === SyntaxKind.ModelExpression) {
58
+ addCreatedCodeFixResult(childNode);
59
+ createChildModelToObjValCodeFix(childNode, addCreatedCodeFixResult);
60
+ }
61
+ else if (childNode.kind === SyntaxKind.TupleExpression) {
62
+ addCreatedCodeFixResult(childNode);
63
+ createChildTupleToArrValCodeFix(childNode, addCreatedCodeFixResult);
64
+ }
65
+ }
66
+ }
67
+ }
68
+ //# sourceMappingURL=convert-to-value.codefix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-to-value.codefix.js","sourceRoot":"","sources":["../../../../src/core/compiler-code-fixes/convert-to-value.codefix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EACL,UAAU,GAIX,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,IAAyB;IACtE,OAAO,aAAa,CAAC;QACnB,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,mCAAmC;QAC1C,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE;YACf,MAAM,MAAM,GAAkB,EAAE,CAAC;YAEjC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC9B,+BAA+B,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;YAE/D,OAAO,MAAM,CAAC;YAEd,SAAS,uBAAuB,CAAC,IAA+C;gBAC9E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAAC,IAAyB;IACvE,OAAO,aAAa,CAAC;QACnB,EAAE,EAAE,uBAAuB;QAC3B,KAAK,EAAE,oCAAoC;QAC3C,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE;YACf,MAAM,MAAM,GAAkB,EAAE,CAAC;YAEjC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC9B,+BAA+B,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;YAE/D,OAAO,MAAM,CAAC;YAEd,SAAS,uBAAuB,CAAC,IAA+C;gBAC9E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,+BAA+B,CACtC,IAAyB,EACzB,uBAAkF;IAElF,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACpC,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,eAAe,EAAE,CAAC;YAClD,uBAAuB,CAAC,SAAS,CAAC,CAAC;YACnC,+BAA+B,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;QACtE,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,eAAe,EAAE,CAAC;YACzD,uBAAuB,CAAC,SAAS,CAAC,CAAC;YACnC,+BAA+B,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,+BAA+B,CACtC,IAAyB,EACzB,uBAAkF;IAElF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,aAAa,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;YAE7B,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,eAAe,EAAE,CAAC;gBAClD,uBAAuB,CAAC,SAAS,CAAC,CAAC;gBACnC,+BAA+B,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;YACtE,CAAC;iBAAM,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,eAAe,EAAE,CAAC;gBACzD,uBAAuB,CAAC,SAAS,CAAC,CAAC;gBACnC,+BAA+B,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -183,18 +183,31 @@ export declare function hasVisibility(program: Program, property: ModelProperty,
183
183
  * AND
184
184
  *
185
185
  * - NONE of the visibilities in the `none` set.
186
+ *
187
+ * Note: The constraints behave similarly to the `every` and `some` methods of the Array prototype in JavaScript. If the
188
+ * `any` constraint is set to an empty set, it will _NEVER_ be satisfied (similarly, `Array.prototype.some` will always
189
+ * return `false` for an empty array). If the `none` constraint is set to an empty set, it will _ALWAYS_ be satisfied.
190
+ * If the `all` constraint is set to an empty set, it will be satisfied (similarly, `Array.prototype.every` will always
191
+ * return `true` for an empty array).
192
+ *
186
193
  */
187
194
  export interface VisibilityFilter {
188
195
  /**
189
196
  * If set, the filter considers a property visible if it has ALL of these visibility modifiers.
197
+ *
198
+ * If this set is empty, the filter will be satisfied if the other constraints are satisfied.
190
199
  */
191
200
  all?: Set<EnumMember>;
192
201
  /**
193
202
  * If set, the filter considers a property visible if it has ANY of these visibility modifiers.
203
+ *
204
+ * If this set is empty, the filter will _NEVER_ be satisfied.
194
205
  */
195
206
  any?: Set<EnumMember>;
196
207
  /**
197
208
  * If set, the filter considers a property visible if it has NONE of these visibility modifiers.
209
+ *
210
+ * If this set is empty, the filter will be satisfied if the other constraints are satisfied.
198
211
  */
199
212
  none?: Set<EnumMember>;
200
213
  }
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../src/core/visibility/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../src/core/visibility/core.ts"],"names":[],"mappings":"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"}
@@ -395,8 +395,8 @@ export function resetVisibilityModifiersForClass(program, property, visibilityCl
395
395
  * @returns the set of active modifiers (enum members) for the property and visibility class
396
396
  */
397
397
  export function getVisibilityForClass(program, property, visibilityClass) {
398
- return getOrInitializeActiveModifierSetForClass(program, property, visibilityClass,
399
- /* defaultSet: */ getDefaultModifierSetForClass(program, visibilityClass));
398
+ const store = getVisibilityStore(program, property);
399
+ return store?.get(visibilityClass) ?? getDefaultModifierSetForClass(program, visibilityClass);
400
400
  }
401
401
  /**
402
402
  * Determines if a property has a specified visibility modifier.
@@ -410,9 +410,8 @@ export function getVisibilityForClass(program, property, visibilityClass) {
410
410
  * @returns true if the property has the visibility modifier, false otherwise
411
411
  */
412
412
  export function hasVisibility(program, property, modifier) {
413
- const activeSet = getOrInitializeActiveModifierSetForClass(program, property, modifier.enum,
414
- /* defaultSet: */ getDefaultModifierSetForClass(program, modifier.enum));
415
- return activeSet?.has(modifier) ?? false;
413
+ const visibilityClass = modifier.enum;
414
+ return getVisibilityForClass(program, property, visibilityClass).has(modifier) ?? false;
416
415
  }
417
416
  export const VisibilityFilter = {
418
417
  /**
@@ -450,28 +449,28 @@ export function isVisible(program, property, _filterOrLegacyVisibilities) {
450
449
  if (Array.isArray(_filterOrLegacyVisibilities)) {
451
450
  return isVisibleLegacy(_filterOrLegacyVisibilities);
452
451
  }
453
- const filter = { ..._filterOrLegacyVisibilities };
454
- filter.all ??= new Set();
455
- filter.any ??= new Set();
456
- filter.none ??= new Set();
452
+ const filter = _filterOrLegacyVisibilities;
457
453
  // Validate that property has ALL of the required visibilities of filter.all
458
- for (const modifier of filter.all) {
459
- if (!hasVisibility(program, property, modifier))
460
- return false;
454
+ if (filter.all) {
455
+ for (const modifier of filter.all) {
456
+ if (!hasVisibility(program, property, modifier))
457
+ return false;
458
+ }
461
459
  }
462
- // Validate that property has ANY of the required visibilities of filter.any
463
- outer: while (filter.any.size > 0) {
460
+ // Validate that property has NONE of the excluded visibilities of filter.none
461
+ if (filter.none) {
462
+ for (const modifier of filter.none) {
463
+ if (hasVisibility(program, property, modifier))
464
+ return false;
465
+ }
466
+ }
467
+ if (filter.any) {
464
468
  for (const modifier of filter.any) {
465
469
  if (hasVisibility(program, property, modifier))
466
- break outer;
470
+ return true;
467
471
  }
468
472
  return false;
469
473
  }
470
- // Validate that property has NONE of the excluded visibilities of filter.none
471
- for (const modifier of filter.none) {
472
- if (hasVisibility(program, property, modifier))
473
- return false;
474
- }
475
474
  return true;
476
475
  function isVisibleLegacy(visibilities) {
477
476
  // eslint-disable-next-line @typescript-eslint/no-deprecated
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../src/core/visibility/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../src/core/visibility/core.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export { getLifecycleVisibilityEnum } from "./lifecycle.js";
2
- export { addVisibilityModifiers, clearVisibilityModifiersForClass, getVisibility, getVisibilityForClass, hasVisibility, isSealed, isVisible, removeVisibilityModifiers, resetVisibilityModifiersForClass, sealVisibilityModifiers, sealVisibilityModifiersForProgram, } from "./core.js";
2
+ export { VisibilityFilter, addVisibilityModifiers, clearVisibilityModifiersForClass, getVisibility, getVisibilityForClass, hasVisibility, isSealed, isVisible, removeVisibilityModifiers, resetVisibilityModifiersForClass, sealVisibilityModifiers, sealVisibilityModifiersForProgram, } from "./core.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/visibility/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAE5D,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,QAAQ,EACR,SAAS,EACT,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,EACvB,iCAAiC,GAClC,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/visibility/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAE5D,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,gCAAgC,EAChC,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,QAAQ,EACR,SAAS,EACT,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,EACvB,iCAAiC,GAClC,MAAM,WAAW,CAAC"}
@@ -1,5 +1,5 @@
1
1
  // Copyright (c) Microsoft Corporation
2
2
  // Licensed under the MIT license.
3
3
  export { getLifecycleVisibilityEnum } from "./lifecycle.js";
4
- export { addVisibilityModifiers, clearVisibilityModifiersForClass, getVisibility, getVisibilityForClass, hasVisibility, isSealed, isVisible, removeVisibilityModifiers, resetVisibilityModifiersForClass, sealVisibilityModifiers, sealVisibilityModifiersForProgram, } from "./core.js";
4
+ export { VisibilityFilter, addVisibilityModifiers, clearVisibilityModifiersForClass, getVisibility, getVisibilityForClass, hasVisibility, isSealed, isVisible, removeVisibilityModifiers, resetVisibilityModifiersForClass, sealVisibilityModifiers, sealVisibilityModifiersForProgram, } from "./core.js";
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/visibility/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,kCAAkC;AAElC,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAE5D,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,QAAQ,EACR,SAAS,EACT,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,EACvB,iCAAiC,GAClC,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/visibility/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,kCAAkC;AAElC,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAE5D,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,gCAAgC,EAChC,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,QAAQ,EACR,SAAS,EACT,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,EACvB,iCAAiC,GAClC,MAAM,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/core/visibility/lifecycle.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOpD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8BjE;AAED;;;;;;GAMG;AACH,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,UAAU,GAAG,SAAS,CAYxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,0CAA0C,CACxD,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,GACrB,MAAM,GAAG,SAAS,CAepB"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/core/visibility/lifecycle.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOpD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8BjE;AAED;;;;;;GAMG;AACH,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,UAAU,GAAG,SAAS,CAgBxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,0CAA0C,CACxD,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,GACrB,MAAM,GAAG,SAAS,CAmBpB"}
@@ -46,6 +46,10 @@ export function normalizeLegacyLifecycleVisibilityString(program, visibility) {
46
46
  return lifecycle.members.get("Read");
47
47
  case "update":
48
48
  return lifecycle.members.get("Update");
49
+ case "delete":
50
+ return lifecycle.members.get("Delete");
51
+ case "query":
52
+ return lifecycle.members.get("Query");
49
53
  default:
50
54
  return undefined;
51
55
  }
@@ -70,6 +74,10 @@ export function normalizeVisibilityToLegacyLifecycleString(program, visibility)
70
74
  return "read";
71
75
  case "Update":
72
76
  return "update";
77
+ case "Delete":
78
+ return "delete";
79
+ case "Query":
80
+ return "query";
73
81
  default:
74
82
  return undefined;
75
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../../src/core/visibility/lifecycle.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,kCAAkC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D;;GAEG;AACH,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAAiB,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAgB;IACzD,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAEjD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IAE/E,cAAc,CACZ,WAAW,CAAC,MAAM,KAAK,CAAC,EACxB,uFAAuF,CACxF,CAAC;IAEF,cAAc,CAAC,IAAK,CAAC,IAAI,KAAK,MAAM,EAAE,wDAAwD,CAAC,CAAC;IAEhG,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE1D,cAAc,CACZ,aAAa,CAAC,UAAU,KAAK,MAAM,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM,EACpE,oEAAoE,CACrE,CAAC;QAEF,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAEjD,OAAO,aAAa,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAExC,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wCAAwC,CACtD,OAAgB,EAChB,UAAkB;IAElB,MAAM,SAAS,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACtD,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QAC1C,KAAK,MAAM;YACT,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QACxC,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QAC1C;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,0CAA0C,CACxD,OAAgB,EAChB,UAAsB;IAEtB,MAAM,SAAS,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAEtD,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAEpD,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../../src/core/visibility/lifecycle.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,kCAAkC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D;;GAEG;AACH,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAAiB,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAgB;IACzD,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAEjD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IAE/E,cAAc,CACZ,WAAW,CAAC,MAAM,KAAK,CAAC,EACxB,uFAAuF,CACxF,CAAC;IAEF,cAAc,CAAC,IAAK,CAAC,IAAI,KAAK,MAAM,EAAE,wDAAwD,CAAC,CAAC;IAEhG,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE1D,cAAc,CACZ,aAAa,CAAC,UAAU,KAAK,MAAM,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM,EACpE,oEAAoE,CACrE,CAAC;QAEF,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAEjD,OAAO,aAAa,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAExC,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wCAAwC,CACtD,OAAgB,EAChB,UAAkB;IAElB,MAAM,SAAS,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACtD,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QAC1C,KAAK,MAAM;YACT,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QACxC,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QAC1C,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QAC1C,KAAK,OAAO;YACV,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;QACzC;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,0CAA0C,CACxD,OAAgB,EAChB,UAAsB;IAEtB,MAAM,SAAS,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAEtD,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAEpD,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
@@ -1,21 +1,75 @@
1
1
  import type { DefaultVisibilityDecorator, InvisibleDecorator, ParameterVisibilityDecorator, RemoveVisibilityDecorator, ReturnTypeVisibilityDecorator, VisibilityDecorator, WithDefaultKeyVisibilityDecorator, WithLifecycleUpdateDecorator, WithUpdateablePropertiesDecorator, WithVisibilityDecorator, WithVisibilityFilterDecorator } from "../../generated-defs/TypeSpec.js";
2
2
  import type { Program } from "../core/program.js";
3
3
  import { Operation } from "../core/types.js";
4
+ import { VisibilityFilter } from "../core/visibility/core.js";
4
5
  export declare const $withDefaultKeyVisibility: WithDefaultKeyVisibilityDecorator;
5
6
  export declare const $parameterVisibility: ParameterVisibilityDecorator;
6
7
  /**
7
8
  * Returns the visibilities of the parameters of the given operation, if provided with `@parameterVisibility`.
8
9
  *
10
+ * @deprecated Use `getParameterVisibilityFilter` instead.
11
+ *
12
+ * @see {@link getParameterVisibilityFilter}
9
13
  * @see {@link $parameterVisibility}
10
14
  */
11
15
  export declare function getParameterVisibility(program: Program, entity: Operation): string[] | undefined;
16
+ /**
17
+ * A context-specific provider for visibility information that applies when parameter or return type visibility
18
+ * constraints are not explicitly specified. Visibility providers are provided by libraries that define implied
19
+ * visibility semantics, such as `@typespec/http`.
20
+ *
21
+ * If you are not working in a protocol that has specific visibility semantics, you can use the
22
+ * {@link EmptyVisibilityProvider} from this package as a default provider. It will consider all properties visible by
23
+ * default unless otherwise explicitly specified.
24
+ */
25
+ export interface VisibilityProvider {
26
+ parameters(program: Program, operation: Operation): VisibilityFilter;
27
+ returnType(program: Program, operation: Operation): VisibilityFilter;
28
+ }
29
+ /**
30
+ * An empty visibility provider. This provider returns an empty filter that considers all properties visible. This filter
31
+ * is used when no context-specific visibility provider is available.
32
+ *
33
+ * When working with an HTTP specification, use the `HttpVisibilityProvider` from the `@typespec/http` library instead.
34
+ */
35
+ export declare const EmptyVisibilityProvider: VisibilityProvider;
36
+ /**
37
+ * Get the visibility filter that should apply to the parameters of the given operation, or `undefined` if no parameter
38
+ * visibility is set.
39
+ *
40
+ * If you are not working in a protocol that has specific implicit visibility semantics, you can use the
41
+ * {@link EmptyVisibilityProvider} as a default provider. If you working in a protocol or context where parameters have
42
+ * implicit visibility transformations (like HTTP), you should use the visibility provider from that library (for HTTP,
43
+ * use the `HttpVisibilityProvider` from the `@typespec/http` library).
44
+ *
45
+ * @param program - the Program in which the operation is defined
46
+ * @param operation - the Operation to get the parameter visibility filter for
47
+ * @param defaultProvider - a provider for visibility filters that apply when no visibility constraints are explicitly
48
+ * set. Defaults to an empty provider that returns an empty filter if not provided.
49
+ * @returns a visibility filter for the parameters of the operation, or `undefined` if no parameter visibility is set
50
+ */
51
+ export declare function getParameterVisibilityFilter(program: Program, operation: Operation, defaultProvider: VisibilityProvider): VisibilityFilter;
12
52
  export declare const $returnTypeVisibility: ReturnTypeVisibilityDecorator;
13
53
  /**
14
54
  * Returns the visibilities of the return type of the given operation, if provided with `@returnTypeVisibility`.
15
55
  *
56
+ * @deprecated Use `getReturnTypeVisibilityFilter` instead.
57
+ *
58
+ * @see {@link getReturnTypeVisibilityFilter}
16
59
  * @see {@link $returnTypeVisibility}
17
60
  */
18
61
  export declare function getReturnTypeVisibility(program: Program, entity: Operation): string[] | undefined;
62
+ /**
63
+ * Get the visibility filter that should apply to the return type of the given operation, or `undefined` if no return
64
+ * type visibility is set.
65
+ *
66
+ * @param program - the Program in which the operation is defined
67
+ * @param operation - the Operation to get the return type visibility filter for
68
+ * @param defaultProvider - a provider for visibility filters that apply when no visibility constraints are explicitly
69
+ * set. Defaults to an empty provider that returns an empty filter if not provided.
70
+ * @returns a visibility filter for the return type of the operation, or `undefined` if no return type visibility is set
71
+ */
72
+ export declare function getReturnTypeVisibilityFilter(program: Program, operation: Operation, defaultProvider: VisibilityProvider): VisibilityFilter;
19
73
  export declare const $visibility: VisibilityDecorator;
20
74
  export declare const $removeVisibility: RemoveVisibilityDecorator;
21
75
  export declare const $invisible: InvisibleDecorator;
@@ -1 +1 @@
1
- {"version":3,"file":"visibility.d.ts","sourceRoot":"","sources":["../../../src/lib/visibility.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,0BAA0B,EAC1B,kBAAkB,EAClB,4BAA4B,EAC5B,yBAAyB,EACzB,6BAA6B,EAC7B,mBAAmB,EACnB,iCAAiC,EACjC,4BAA4B,EAC5B,iCAAiC,EACjC,uBAAuB,EACvB,6BAA6B,EAC9B,MAAM,kCAAkC,CAAC;AAG1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EASL,SAAS,EAGV,MAAM,kBAAkB,CAAC;AAiD1B,eAAO,MAAM,yBAAyB,EAAE,iCAsCvC,CAAC;AAoCF,eAAO,MAAM,oBAAoB,EAAE,4BAuBlC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAMhG;AAED,eAAO,MAAM,qBAAqB,EAAE,6BAuBnC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAMjG;AAQD,eAAO,MAAM,WAAW,EAAE,mBA+BzB,CAAC;AAIF,eAAO,MAAM,iBAAiB,EAAE,yBAU/B,CAAC;AAIF,eAAO,MAAM,UAAU,EAAE,kBAMxB,CAAC;AAIF,eAAO,MAAM,kBAAkB,EAAE,0BAqBhC,CAAC;AAQF,eAAO,MAAM,eAAe,EAAE,uBA+C7B,CAAC;AAIF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,iCAUvC,CAAC;AAQF,eAAO,MAAM,qBAAqB,EAAE,6BAcnC,CAAC;AAIF,eAAO,MAAM,oBAAoB,EAAE,4BAuBlC,CAAC"}
1
+ {"version":3,"file":"visibility.d.ts","sourceRoot":"","sources":["../../../src/lib/visibility.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,0BAA0B,EAC1B,kBAAkB,EAClB,4BAA4B,EAC5B,yBAAyB,EACzB,6BAA6B,EAC7B,mBAAmB,EACnB,iCAAiC,EACjC,4BAA4B,EAC5B,iCAAiC,EACjC,uBAAuB,EACvB,6BAA6B,EAC9B,MAAM,kCAAkC,CAAC;AAG1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EASL,SAAS,EAGV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAYL,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AAoCpC,eAAO,MAAM,yBAAyB,EAAE,iCAsCvC,CAAC;AAwCF,eAAO,MAAM,oBAAoB,EAAE,4BA2BlC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAMhG;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,gBAAgB,CAAC;IACrE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,gBAAgB,CAAC;CACtE;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,kBAGrC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,kBAAkB,GAClC,gBAAgB,CAsBlB;AAED,eAAO,MAAM,qBAAqB,EAAE,6BAuBnC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAMjG;AAED;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,kBAAkB,GAClC,gBAAgB,CAsBlB;AAQD,eAAO,MAAM,WAAW,EAAE,mBA+BzB,CAAC;AAIF,eAAO,MAAM,iBAAiB,EAAE,yBAU/B,CAAC;AAIF,eAAO,MAAM,UAAU,EAAE,kBAMxB,CAAC;AAIF,eAAO,MAAM,kBAAkB,EAAE,0BAqBhC,CAAC;AAQF,eAAO,MAAM,eAAe,EAAE,uBA+C7B,CAAC;AAIF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,iCAUvC,CAAC;AAQF,eAAO,MAAM,qBAAqB,EAAE,6BAcnC,CAAC;AAIF,eAAO,MAAM,oBAAoB,EAAE,4BAuBlC,CAAC"}
@@ -3,7 +3,7 @@
3
3
  import { validateDecoratorTarget, validateDecoratorUniqueOnNode } from "../core/decorator-utils.js";
4
4
  import { reportDiagnostic } from "../core/messages.js";
5
5
  import { addVisibilityModifiers, clearLegacyVisibility, clearVisibilityModifiersForClass, getLegacyVisibility, getVisibility, isVisible, removeVisibilityModifiers, resetVisibilityModifiersForClass, setDefaultModifierSetForVisibilityClass, setLegacyVisibility, VisibilityFilter, } from "../core/visibility/core.js";
6
- import { getLifecycleVisibilityEnum, normalizeVisibilityToLegacyLifecycleString, } from "../core/visibility/lifecycle.js";
6
+ import { getLifecycleVisibilityEnum, normalizeLegacyLifecycleVisibilityString, normalizeVisibilityToLegacyLifecycleString, } from "../core/visibility/lifecycle.js";
7
7
  import { isMutableType, mutateSubgraph, MutatorFlow } from "../experimental/mutators.js";
8
8
  import { isKey } from "./key.js";
9
9
  import { filterModelPropertiesInPlace, useStateMap } from "./utils.js";
@@ -69,8 +69,14 @@ function getOperationVisibilityConfig(program, operation) {
69
69
  }
70
70
  return config;
71
71
  }
72
+ // Hidden internal symbol to mark that parameter visibility was empty. This is used by HTTP
73
+ // to set the LegacyParameterVisibility flag. This is a hack.
74
+ const parameterVisibilityIsEmpty = Symbol.for("TypeSpec.Visibility.ParameterVisibilityIsEmpty");
72
75
  export const $parameterVisibility = (context, operation, ...visibilities) => {
73
76
  validateDecoratorUniqueOnNode(context, operation, $parameterVisibility);
77
+ if (visibilities.length === 0) {
78
+ context.program.stateSet(parameterVisibilityIsEmpty).add(operation);
79
+ }
74
80
  const [modifiers, legacyVisibilities] = splitLegacyVisibility(visibilities);
75
81
  if (modifiers.length > 0 && legacyVisibilities.length > 0) {
76
82
  reportDiagnostic(context.program, {
@@ -89,6 +95,9 @@ export const $parameterVisibility = (context, operation, ...visibilities) => {
89
95
  /**
90
96
  * Returns the visibilities of the parameters of the given operation, if provided with `@parameterVisibility`.
91
97
  *
98
+ * @deprecated Use `getParameterVisibilityFilter` instead.
99
+ *
100
+ * @see {@link getParameterVisibilityFilter}
92
101
  * @see {@link $parameterVisibility}
93
102
  */
94
103
  export function getParameterVisibility(program, entity) {
@@ -96,6 +105,49 @@ export function getParameterVisibility(program, entity) {
96
105
  .parameters?.map((p) => typeof p === "string" ? p : normalizeVisibilityToLegacyLifecycleString(program, p))
97
106
  .filter((p) => !!p);
98
107
  }
108
+ /**
109
+ * An empty visibility provider. This provider returns an empty filter that considers all properties visible. This filter
110
+ * is used when no context-specific visibility provider is available.
111
+ *
112
+ * When working with an HTTP specification, use the `HttpVisibilityProvider` from the `@typespec/http` library instead.
113
+ */
114
+ export const EmptyVisibilityProvider = {
115
+ parameters: () => ({}),
116
+ returnType: () => ({}),
117
+ };
118
+ /**
119
+ * Get the visibility filter that should apply to the parameters of the given operation, or `undefined` if no parameter
120
+ * visibility is set.
121
+ *
122
+ * If you are not working in a protocol that has specific implicit visibility semantics, you can use the
123
+ * {@link EmptyVisibilityProvider} as a default provider. If you working in a protocol or context where parameters have
124
+ * implicit visibility transformations (like HTTP), you should use the visibility provider from that library (for HTTP,
125
+ * use the `HttpVisibilityProvider` from the `@typespec/http` library).
126
+ *
127
+ * @param program - the Program in which the operation is defined
128
+ * @param operation - the Operation to get the parameter visibility filter for
129
+ * @param defaultProvider - a provider for visibility filters that apply when no visibility constraints are explicitly
130
+ * set. Defaults to an empty provider that returns an empty filter if not provided.
131
+ * @returns a visibility filter for the parameters of the operation, or `undefined` if no parameter visibility is set
132
+ */
133
+ export function getParameterVisibilityFilter(program, operation, defaultProvider) {
134
+ const operationVisibilityConfig = getOperationVisibilityConfig(program, operation);
135
+ if (!operationVisibilityConfig.parameters)
136
+ return defaultProvider.parameters(program, operation);
137
+ // If there are no parameters, return an empty filter. This has the effect of allowing `@parameterVisibility()` to
138
+ // disable the default visibility provider for an operation.
139
+ if (operationVisibilityConfig.parameters.length === 0)
140
+ return {};
141
+ return {
142
+ // WARNING: the HTTP library depends on `any` being the only key in the filter object returned by this method.
143
+ // if you change this logic, you will need to update the HTTP library to account for differences in the
144
+ // returned object. HTTP does not currently have a way to express `all` or `none` constraints in the same
145
+ // way that the core visibility system does.
146
+ any: new Set(operationVisibilityConfig.parameters
147
+ .map((v) => typeof v === "string" ? normalizeLegacyLifecycleVisibilityString(program, v) : v)
148
+ .filter((v) => !!v)),
149
+ };
150
+ }
99
151
  export const $returnTypeVisibility = (context, operation, ...visibilities) => {
100
152
  validateDecoratorUniqueOnNode(context, operation, $parameterVisibility);
101
153
  const [modifiers, legacyVisibilities] = splitLegacyVisibility(visibilities);
@@ -116,6 +168,9 @@ export const $returnTypeVisibility = (context, operation, ...visibilities) => {
116
168
  /**
117
169
  * Returns the visibilities of the return type of the given operation, if provided with `@returnTypeVisibility`.
118
170
  *
171
+ * @deprecated Use `getReturnTypeVisibilityFilter` instead.
172
+ *
173
+ * @see {@link getReturnTypeVisibilityFilter}
119
174
  * @see {@link $returnTypeVisibility}
120
175
  */
121
176
  export function getReturnTypeVisibility(program, entity) {
@@ -123,6 +178,34 @@ export function getReturnTypeVisibility(program, entity) {
123
178
  .returnType?.map((p) => typeof p === "string" ? p : normalizeVisibilityToLegacyLifecycleString(program, p))
124
179
  .filter((p) => !!p);
125
180
  }
181
+ /**
182
+ * Get the visibility filter that should apply to the return type of the given operation, or `undefined` if no return
183
+ * type visibility is set.
184
+ *
185
+ * @param program - the Program in which the operation is defined
186
+ * @param operation - the Operation to get the return type visibility filter for
187
+ * @param defaultProvider - a provider for visibility filters that apply when no visibility constraints are explicitly
188
+ * set. Defaults to an empty provider that returns an empty filter if not provided.
189
+ * @returns a visibility filter for the return type of the operation, or `undefined` if no return type visibility is set
190
+ */
191
+ export function getReturnTypeVisibilityFilter(program, operation, defaultProvider) {
192
+ const visibilityConfig = getOperationVisibilityConfig(program, operation);
193
+ if (!visibilityConfig.returnType)
194
+ return defaultProvider.returnType(program, operation);
195
+ // If there are no return type visibilities, return an empty filter. This has the effect of allowing
196
+ // `@returnTypeVisibility()` to disable the default visibility provider for an operation.
197
+ if (visibilityConfig.returnType.length === 0)
198
+ return {};
199
+ return {
200
+ // WARNING: the HTTP library depends on `any` being the only key in the filter object returned by this method.
201
+ // if you change this logic, you will need to update the HTTP library to account for differences in the
202
+ // returned object. HTTP does not currently have a way to express `all` or `none` constraints in the same
203
+ // way that the core visibility system does.
204
+ any: new Set(visibilityConfig.returnType
205
+ .map((v) => typeof v === "string" ? normalizeLegacyLifecycleVisibilityString(program, v) : v)
206
+ .filter((v) => !!v)),
207
+ };
208
+ }
126
209
  // #endregion
127
210
  // #region Core Visibility Decorators
128
211
  // -- @visibility decorator ---------------------
@@ -1 +1 @@
1
- {"version":3,"file":"visibility.js","sourceRoot":"","sources":["../../../src/lib/visibility.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visibility.js","sourceRoot":"","sources":["../../../src/lib/visibility.ts"],"names":[],"mappings":"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"}