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

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.
@@ -607,19 +607,31 @@ export type InspectTypeDecorator = (context: DecoratorContext, target: Type, tex
607
607
  */
608
608
  export type InspectTypeNameDecorator = (context: DecoratorContext, target: Type, text: string) => void;
609
609
  /**
610
- * Indicates that a property is only considered to be present or applicable ("visible") with
611
- * the in the given named contexts ("visibilities"). When a property has no visibilities applied
612
- * to it, it is implicitly visible always.
610
+ * Sets the visibility modifiers that are active on a property, indicating that it is only considered to be present
611
+ * (or "visible") in contexts that select for the given modifiers.
613
612
  *
614
- * As far as the TypeSpec core library is concerned, visibilities are open-ended and can be arbitrary
615
- * strings, but the following visibilities are well-known to standard libraries and should be used
616
- * with standard emitters that interpret them as follows:
613
+ * A property without any visibility settings applied for any visibility class (e.g. `Lifecycle`) is considered to have
614
+ * the default visibility settings for that class.
617
615
  *
618
- * - "read": output of any operation.
619
- * - "create": input to operations that create an entity..
620
- * - "query": input to operations that read data.
621
- * - "update": input to operations that update data.
622
- * - "delete": input to operations that delete data.
616
+ * If visibility for the property has already been set for a visibility class (for example, using `@invisible` or
617
+ * `@removeVisibility`), this decorator will **add** the specified visibility modifiers to the property.
618
+ *
619
+ * See: [Visibility](https://typespec.io/docs/language-basics/visibility)
620
+ *
621
+ * The `@typespec/http` library uses `Lifecycle` visibility to determine which properties are included in the request or
622
+ * response bodies of HTTP operations. By default, it uses the following visibility settings:
623
+ *
624
+ * - For the return type of operations, properties are included if they have `Lifecycle.Read` visibility.
625
+ * - For POST operation parameters, properties are included if they have `Lifecycle.Create` visibility.
626
+ * - For PUT operation parameters, properties are included if they have `Lifecycle.Create` or `Lifecycle.Update` visibility.
627
+ * - For PATCH operation parameters, properties are included if they have `Lifecycle.Update` visibility.
628
+ * - For DELETE operation parameters, properties are included if they have `Lifecycle.Delete` visibility.
629
+ * - For GET or HEAD operation parameters, properties are included if they have `Lifecycle.Query` visibility.
630
+ *
631
+ * By default, properties have all five Lifecycle visibility modifiers enabled, so a property is visible in all contexts
632
+ * by default.
633
+ *
634
+ * The default settings may be overridden using the `@returnTypeVisibility` and `@parameterVisibility` decorators.
623
635
  *
624
636
  * See also: [Automatic visibility](https://typespec.io/docs/libraries/http/operations#automatic-visibility)
625
637
  *
@@ -627,11 +639,15 @@ export type InspectTypeNameDecorator = (context: DecoratorContext, target: Type,
627
639
  * @example
628
640
  * ```typespec
629
641
  * model Dog {
630
- * // the service will generate an ID, so you don't need to send it.
631
- * @visibility(Lifecycle.Read) id: int32;
632
- * // the service will store this secret name, but won't ever return it
633
- * @visibility(Lifecycle.Create, Lifecycle.Update) secretName: string;
634
- * // the regular name is always present
642
+ * // The service will generate an ID, so you don't need to send it.
643
+ * @visibility(Lifecycle.Read)
644
+ * id: int32;
645
+ *
646
+ * // The service will store this secret name, but won't ever return it.
647
+ * @visibility(Lifecycle.Create, Lifecycle.Update)
648
+ * secretName: string;
649
+ *
650
+ * // The regular name has all vi
635
651
  * name: string;
636
652
  * }
637
653
  * ```
@@ -641,7 +657,8 @@ export type VisibilityDecorator = (context: DecoratorContext, target: ModelPrope
641
657
  * Indicates that a property is not visible in the given visibility class.
642
658
  *
643
659
  * This decorator removes all active visibility modifiers from the property within
644
- * the given visibility class.
660
+ * the given visibility class, making it invisible to any context that selects for
661
+ * visibility modifiers within that class.
645
662
  *
646
663
  * @param visibilityClass The visibility class to make the property invisible within.
647
664
  * @example
@@ -665,8 +682,8 @@ export type InvisibleDecorator = (context: DecoratorContext, target: ModelProper
665
682
  * @example
666
683
  * ```typespec
667
684
  * model Example {
668
- * // This property will have the Create and Update visibilities, but not the
669
- * // Read visibility, since it is removed.
685
+ * // This property will have all Lifecycle visibilities except the Read
686
+ * // visibility, since it is removed.
670
687
  * @removeVisibility(Lifecycle.Read)
671
688
  * secret_property: string;
672
689
  * }
@@ -674,22 +691,26 @@ export type InvisibleDecorator = (context: DecoratorContext, target: ModelProper
674
691
  */
675
692
  export type RemoveVisibilityDecorator = (context: DecoratorContext, target: ModelProperty, ...visibilities: EnumValue[]) => void;
676
693
  /**
677
- * Removes properties that are not considered to be present or applicable
678
- * ("visible") in the given named contexts ("visibilities"). Can be used
679
- * together with spread to effectively spread only visible properties into
680
- * a new model.
694
+ * Removes properties that do not have at least one of the given visibility modifiers
695
+ * active.
696
+ *
697
+ * If no visibility modifiers are supplied, this decorator has no effect.
681
698
  *
682
699
  * See also: [Automatic visibility](https://typespec.io/docs/libraries/http/operations#automatic-visibility)
683
700
  *
684
701
  * When using an emitter that applies visibility automatically, it is generally
685
702
  * not necessary to use this decorator.
686
703
  *
687
- * @param visibilities List of visibilities which apply to this property.
704
+ * @param visibilities List of visibilities that apply to this property.
688
705
  * @example
689
706
  * ```typespec
690
707
  * model Dog {
691
- * @visibility("read") id: int32;
692
- * @visibility("create", "update") secretName: string;
708
+ * @visibility(Lifecycle.Read)
709
+ * id: int32;
710
+ *
711
+ * @visibility(Lifecycle.Create, Lifecycle.Update)
712
+ * secretName: string;
713
+ *
693
714
  * name: string;
694
715
  * }
695
716
  *
@@ -699,14 +720,14 @@ export type RemoveVisibilityDecorator = (context: DecoratorContext, target: Mode
699
720
  * //
700
721
  * // In this case, the id property is removed, and the name and secretName
701
722
  * // properties are kept.
702
- * @withVisibility("create", "update")
723
+ * @withVisibility(Lifecycle.Create, Lifecycle.Update)
703
724
  * model DogCreateOrUpdate {
704
725
  * ...Dog;
705
726
  * }
706
727
  *
707
728
  * // In this case the id and name properties are kept and the secretName property
708
729
  * // is removed.
709
- * @withVisibility("read")
730
+ * @withVisibility(Lifecycle.Read)
710
731
  * model DogRead {
711
732
  * ...Dog;
712
733
  * }
@@ -714,15 +735,28 @@ export type RemoveVisibilityDecorator = (context: DecoratorContext, target: Mode
714
735
  */
715
736
  export type WithVisibilityDecorator = (context: DecoratorContext, target: Model, ...visibilities: (string | EnumValue)[]) => void;
716
737
  /**
717
- * Sets which visibilities apply to parameters for the given operation.
738
+ * Declares the visibility constraint of the parameters of a given operation.
739
+ *
740
+ * A parameter or property nested within a parameter will be visible if it has _any_ of the visibilities
741
+ * in the list.
718
742
  *
719
- * @param visibilities List of visibility strings which apply to this operation.
743
+ * WARNING: If no arguments are provided to this decorator, the `@typespec/http` library considers only properties
744
+ * that do not have visibility modifiers _explicitly_ configured to be visible. Additionally, the HTTP library will
745
+ * disable the feature of `@patch` operations that causes the properties of the request body to become effectively
746
+ * optional. Some specifications have used this configuration in the past to describe exact PATCH bodies, but using this
747
+ * decorator with no arguments in that manner is not recommended. The legacy behavior of `@parameterVisibility` with no
748
+ * arguments is preserved for backwards compatibility pending a future review and possible deprecation.
749
+ *
750
+ * @param visibilities List of visibility modifiers that apply to the parameters of this operation.
720
751
  */
721
752
  export type ParameterVisibilityDecorator = (context: DecoratorContext, target: Operation, ...visibilities: (string | EnumValue)[]) => void;
722
753
  /**
723
- * Sets which visibilities apply to the return type for the given operation.
754
+ * Declares the visibility constraint of the return type of a given operation.
755
+ *
756
+ * A property within the return type of the operation will be visible if it has _any_ of the visibilities
757
+ * in the list, or if the list is empty (in which case the property is always visible).
724
758
  *
725
- * @param visibilities List of visibility strings which apply to this operation.
759
+ * @param visibilities List of visibility modifiers that apply to the return type of this operation.
726
760
  */
727
761
  export type ReturnTypeVisibilityDecorator = (context: DecoratorContext, target: Operation, ...visibilities: (string | EnumValue)[]) => void;
728
762
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TypeSpec.d.ts","sourceRoot":"","sources":["../../generated-defs/TypeSpec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypeSpec.d.ts","sourceRoot":"","sources":["../../generated-defs/TypeSpec.ts"],"names":[],"mappings":"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"}
package/dist/manifest.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export default {
2
- "version": "0.65.0-dev.1",
3
- "commit": "4855f8708d956ff8b9e37631b09d29f4b181e802"
2
+ "version": "0.65.0-dev.2",
3
+ "commit": "546daec4b0d1e45dc02152769063455d881ae8f6"
4
4
  };
@@ -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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"}
@@ -8,19 +8,31 @@ using TypeSpec.Reflection;
8
8
  namespace TypeSpec;
9
9
 
10
10
  /**
11
- * Indicates that a property is only considered to be present or applicable ("visible") with
12
- * the in the given named contexts ("visibilities"). When a property has no visibilities applied
13
- * to it, it is implicitly visible always.
11
+ * Sets the visibility modifiers that are active on a property, indicating that it is only considered to be present
12
+ * (or "visible") in contexts that select for the given modifiers.
14
13
  *
15
- * As far as the TypeSpec core library is concerned, visibilities are open-ended and can be arbitrary
16
- * strings, but the following visibilities are well-known to standard libraries and should be used
17
- * with standard emitters that interpret them as follows:
14
+ * A property without any visibility settings applied for any visibility class (e.g. `Lifecycle`) is considered to have
15
+ * the default visibility settings for that class.
18
16
  *
19
- * - "read": output of any operation.
20
- * - "create": input to operations that create an entity..
21
- * - "query": input to operations that read data.
22
- * - "update": input to operations that update data.
23
- * - "delete": input to operations that delete data.
17
+ * If visibility for the property has already been set for a visibility class (for example, using `@invisible` or
18
+ * `@removeVisibility`), this decorator will **add** the specified visibility modifiers to the property.
19
+ *
20
+ * See: [Visibility](https://typespec.io/docs/language-basics/visibility)
21
+ *
22
+ * The `@typespec/http` library uses `Lifecycle` visibility to determine which properties are included in the request or
23
+ * response bodies of HTTP operations. By default, it uses the following visibility settings:
24
+ *
25
+ * - For the return type of operations, properties are included if they have `Lifecycle.Read` visibility.
26
+ * - For POST operation parameters, properties are included if they have `Lifecycle.Create` visibility.
27
+ * - For PUT operation parameters, properties are included if they have `Lifecycle.Create` or `Lifecycle.Update` visibility.
28
+ * - For PATCH operation parameters, properties are included if they have `Lifecycle.Update` visibility.
29
+ * - For DELETE operation parameters, properties are included if they have `Lifecycle.Delete` visibility.
30
+ * - For GET or HEAD operation parameters, properties are included if they have `Lifecycle.Query` visibility.
31
+ *
32
+ * By default, properties have all five Lifecycle visibility modifiers enabled, so a property is visible in all contexts
33
+ * by default.
34
+ *
35
+ * The default settings may be overridden using the `@returnTypeVisibility` and `@parameterVisibility` decorators.
24
36
  *
25
37
  * See also: [Automatic visibility](https://typespec.io/docs/libraries/http/operations#automatic-visibility)
26
38
  *
@@ -30,11 +42,15 @@ namespace TypeSpec;
30
42
  *
31
43
  * ```typespec
32
44
  * model Dog {
33
- * // the service will generate an ID, so you don't need to send it.
34
- * @visibility(Lifecycle.Read) id: int32;
35
- * // the service will store this secret name, but won't ever return it
36
- * @visibility(Lifecycle.Create, Lifecycle.Update) secretName: string;
37
- * // the regular name is always present
45
+ * // The service will generate an ID, so you don't need to send it.
46
+ * @visibility(Lifecycle.Read)
47
+ * id: int32;
48
+ *
49
+ * // The service will store this secret name, but won't ever return it.
50
+ * @visibility(Lifecycle.Create, Lifecycle.Update)
51
+ * secretName: string;
52
+ *
53
+ * // The regular name has all vi
38
54
  * name: string;
39
55
  * }
40
56
  * ```
@@ -45,7 +61,8 @@ extern dec visibility(target: ModelProperty, ...visibilities: valueof (string |
45
61
  * Indicates that a property is not visible in the given visibility class.
46
62
  *
47
63
  * This decorator removes all active visibility modifiers from the property within
48
- * the given visibility class.
64
+ * the given visibility class, making it invisible to any context that selects for
65
+ * visibility modifiers within that class.
49
66
  *
50
67
  * @param visibilityClass The visibility class to make the property invisible within.
51
68
  *
@@ -72,8 +89,8 @@ extern dec invisible(target: ModelProperty, visibilityClass: Enum);
72
89
  * @example
73
90
  * ```typespec
74
91
  * model Example {
75
- * // This property will have the Create and Update visibilities, but not the
76
- * // Read visibility, since it is removed.
92
+ * // This property will have all Lifecycle visibilities except the Read
93
+ * // visibility, since it is removed.
77
94
  * @removeVisibility(Lifecycle.Read)
78
95
  * secret_property: string;
79
96
  * }
@@ -82,23 +99,27 @@ extern dec invisible(target: ModelProperty, visibilityClass: Enum);
82
99
  extern dec removeVisibility(target: ModelProperty, ...visibilities: valueof EnumMember[]);
83
100
 
84
101
  /**
85
- * Removes properties that are not considered to be present or applicable
86
- * ("visible") in the given named contexts ("visibilities"). Can be used
87
- * together with spread to effectively spread only visible properties into
88
- * a new model.
102
+ * Removes properties that do not have at least one of the given visibility modifiers
103
+ * active.
104
+ *
105
+ * If no visibility modifiers are supplied, this decorator has no effect.
89
106
  *
90
107
  * See also: [Automatic visibility](https://typespec.io/docs/libraries/http/operations#automatic-visibility)
91
108
  *
92
109
  * When using an emitter that applies visibility automatically, it is generally
93
110
  * not necessary to use this decorator.
94
111
  *
95
- * @param visibilities List of visibilities which apply to this property.
112
+ * @param visibilities List of visibilities that apply to this property.
96
113
  *
97
114
  * @example
98
115
  * ```typespec
99
116
  * model Dog {
100
- * @visibility("read") id: int32;
101
- * @visibility("create", "update") secretName: string;
117
+ * @visibility(Lifecycle.Read)
118
+ * id: int32;
119
+ *
120
+ * @visibility(Lifecycle.Create, Lifecycle.Update)
121
+ * secretName: string;
122
+ *
102
123
  * name: string;
103
124
  * }
104
125
  *
@@ -108,14 +129,14 @@ extern dec removeVisibility(target: ModelProperty, ...visibilities: valueof Enum
108
129
  * //
109
130
  * // In this case, the id property is removed, and the name and secretName
110
131
  * // properties are kept.
111
- * @withVisibility("create", "update")
132
+ * @withVisibility(Lifecycle.Create, Lifecycle.Update)
112
133
  * model DogCreateOrUpdate {
113
134
  * ...Dog;
114
135
  * }
115
136
  *
116
137
  * // In this case the id and name properties are kept and the secretName property
117
138
  * // is removed.
118
- * @withVisibility("read")
139
+ * @withVisibility(Lifecycle.Read)
119
140
  * model DogRead {
120
141
  * ...Dog;
121
142
  * }
@@ -141,15 +162,29 @@ extern dec withVisibility(target: Model, ...visibilities: valueof (string | Enum
141
162
  extern dec withDefaultKeyVisibility(target: Model, visibility: valueof string | EnumMember);
142
163
 
143
164
  /**
144
- * Sets which visibilities apply to parameters for the given operation.
165
+ * Declares the visibility constraint of the parameters of a given operation.
145
166
  *
146
- * @param visibilities List of visibility strings which apply to this operation.
167
+ * A parameter or property nested within a parameter will be visible if it has _any_ of the visibilities
168
+ * in the list.
169
+ *
170
+ * WARNING: If no arguments are provided to this decorator, the `@typespec/http` library considers only properties
171
+ * that do not have visibility modifiers _explicitly_ configured to be visible. Additionally, the HTTP library will
172
+ * disable the feature of `@patch` operations that causes the properties of the request body to become effectively
173
+ * optional. Some specifications have used this configuration in the past to describe exact PATCH bodies, but using this
174
+ * decorator with no arguments in that manner is not recommended. The legacy behavior of `@parameterVisibility` with no
175
+ * arguments is preserved for backwards compatibility pending a future review and possible deprecation.
176
+ *
177
+ * @param visibilities List of visibility modifiers that apply to the parameters of this operation.
147
178
  */
148
179
  extern dec parameterVisibility(target: Operation, ...visibilities: valueof (string | EnumMember)[]);
149
180
 
150
181
  /**
151
- * Sets which visibilities apply to the return type for the given operation.
152
- * @param visibilities List of visibility strings which apply to this operation.
182
+ * Declares the visibility constraint of the return type of a given operation.
183
+ *
184
+ * A property within the return type of the operation will be visible if it has _any_ of the visibilities
185
+ * in the list, or if the list is empty (in which case the property is always visible).
186
+ *
187
+ * @param visibilities List of visibility modifiers that apply to the return type of this operation.
153
188
  */
154
189
  extern dec returnTypeVisibility(
155
190
  target: Operation,
@@ -176,14 +211,17 @@ extern dec defaultVisibility(target: Enum, ...visibilities: valueof EnumMember[]
176
211
  /**
177
212
  * A visibility class for resource lifecycle phases.
178
213
  *
179
- * These visibilities control whether a property is visible during the create, read, and update phases of a resource's
180
- * lifecycle.
214
+ * These visibilities control whether a property is visible during the various phases of a resource's lifecycle.
181
215
  *
182
216
  * @example
183
217
  * ```typespec
184
218
  * model Dog {
185
- * @visibility(Lifecycle.Read) id: int32;
186
- * @visibility(Lifecycle.Create, Lifecycle.Update) secretName: string;
219
+ * @visibility(Lifecycle.Read)
220
+ * id: int32;
221
+ *
222
+ * @visibility(Lifecycle.Create, Lifecycle.Update)
223
+ * secretName: string;
224
+ *
187
225
  * name: string;
188
226
  * }
189
227
  * ```
@@ -195,9 +233,32 @@ extern dec defaultVisibility(target: Enum, ...visibilities: valueof EnumMember[]
195
233
  * therefore visible in all phases.
196
234
  */
197
235
  enum Lifecycle {
236
+ /**
237
+ * The property is visible when a resource is being created.
238
+ */
198
239
  Create,
240
+
241
+ /**
242
+ * The property is visible when a resource is being read.
243
+ */
199
244
  Read,
245
+
246
+ /**
247
+ * The property is visible when a resource is being updated.
248
+ */
200
249
  Update,
250
+
251
+ /**
252
+ * The property is visible when a resource is being deleted.
253
+ */
254
+ Delete,
255
+
256
+ /**
257
+ * The property is visible when a resource is being queried.
258
+ *
259
+ * In HTTP APIs, this visibility applies to parameters of GET or HEAD operations.
260
+ */
261
+ Query,
201
262
  }
202
263
 
203
264
  /**
@@ -293,6 +354,7 @@ extern dec withLifecycleUpdate(target: Model);
293
354
  * name: string;
294
355
  * }
295
356
  *
357
+ * // This model has only the `name` field.
296
358
  * model CreateDog is Create<Dog>;
297
359
  * ```
298
360
  */
@@ -306,6 +368,9 @@ model Create<T extends Reflection.Model, NameTemplate extends valueof string = "
306
368
  * A copy of the input model `T` with only the properties that are visible during the
307
369
  * "Read" resource lifecycle phase.
308
370
  *
371
+ * The "Read" lifecycle phase is used for properties returned by operations that read data, like
372
+ * HTTP GET operations.
373
+ *
309
374
  * This transformation is recursive, and will include only properties that have the
310
375
  * `Lifecycle.Read` visibility modifier.
311
376
  *
@@ -321,9 +386,13 @@ model Create<T extends Reflection.Model, NameTemplate extends valueof string = "
321
386
  * @visibility(Lifecycle.Read)
322
387
  * id: int32;
323
388
  *
389
+ * @visibility(Lifecycle.Create, Lifecycle.Update)
390
+ * secretName: string;
391
+ *
324
392
  * name: string;
325
393
  * }
326
394
  *
395
+ * // This model has the `id` and `name` fields, but not `secretName`.
327
396
  * model ReadDog is Read<Dog>;
328
397
  * ```
329
398
  */
@@ -337,6 +406,9 @@ model Read<T extends Reflection.Model, NameTemplate extends valueof string = "Re
337
406
  * A copy of the input model `T` with only the properties that are visible during the
338
407
  * "Update" resource lifecycle phase.
339
408
  *
409
+ * The "Update" lifecycle phase is used for properties passed as parameters to operations
410
+ * that update data, like HTTP PATCH operations.
411
+ *
340
412
  * This transformation will include only the properties that have the `Lifecycle.Update`
341
413
  * visibility modifier, and the types of all properties will be replaced with the
342
414
  * equivalent `CreateOrUpdate` transformation.
@@ -353,9 +425,13 @@ model Read<T extends Reflection.Model, NameTemplate extends valueof string = "Re
353
425
  * @visibility(Lifecycle.Read)
354
426
  * id: int32;
355
427
  *
428
+ * @visibility(Lifecycle.Create, Lifecycle.Update)
429
+ * secretName: string;
430
+ *
356
431
  * name: string;
357
432
  * }
358
433
  *
434
+ * // This model will have the `secretName` and `name` fields, but not the `id` field.
359
435
  * model UpdateDog is Update<Dog>;
360
436
  * ```
361
437
  */
@@ -369,6 +445,9 @@ model Update<T extends Reflection.Model, NameTemplate extends valueof string = "
369
445
  * A copy of the input model `T` with only the properties that are visible during the
370
446
  * "Create" or "Update" resource lifecycle phases.
371
447
  *
448
+ * The "CreateOrUpdate" lifecycle phase is used by default for properties passed as parameters to operations
449
+ * that can create _or_ update data, like HTTP PUT operations.
450
+ *
372
451
  * This transformation is recursive, and will include only properties that have the
373
452
  * `Lifecycle.Create` or `Lifecycle.Update` visibility modifier.
374
453
  *
@@ -384,9 +463,16 @@ model Update<T extends Reflection.Model, NameTemplate extends valueof string = "
384
463
  * @visibility(Lifecycle.Read)
385
464
  * id: int32;
386
465
  *
466
+ * @visibility(Lifecycle.Create)
467
+ * immutableSecret: string;
468
+ *
469
+ * @visibility(Lifecycle.Create, Lifecycle.Update)
470
+ * secretName: string;
471
+ *
387
472
  * name: string;
388
473
  * }
389
474
  *
475
+ * // This model will have the `immutableSecret`, `secretName`, and `name` fields, but not the `id` field.
390
476
  * model CreateOrUpdateDog is CreateOrUpdate<Dog>;
391
477
  * ```
392
478
  */
@@ -398,3 +484,91 @@ model CreateOrUpdate<
398
484
  > {
399
485
  ...T;
400
486
  }
487
+
488
+ /**
489
+ * A copy of the input model `T` with only the properties that are visible during the
490
+ * "Delete" resource lifecycle phase.
491
+ *
492
+ * The "Delete" lifecycle phase is used for properties passed as parameters to operations
493
+ * that delete data, like HTTP DELETE operations.
494
+ *
495
+ * This transformation is recursive, and will include only properties that have the
496
+ * `Lifecycle.Delete` visibility modifier.
497
+ *
498
+ * If a `NameTemplate` is provided, the new model will be named according to the template.
499
+ * The template uses the same syntax as the `@friendlyName` decorator.
500
+ *
501
+ * @template T The model to transform.
502
+ * @template NameTemplate The name template to use for the new model.
503
+ *
504
+ * * @example
505
+ * ```typespec
506
+ * model Dog {
507
+ * @visibility(Lifecycle.Read)
508
+ * id: int32;
509
+ *
510
+ * // Set when the Dog is removed from our data store. This happens when the
511
+ * // Dog is re-homed to a new owner.
512
+ * @visibility(Lifecycle.Delete)
513
+ * nextOwner: string;
514
+ *
515
+ * name: string;
516
+ * }
517
+ *
518
+ * // This model will have the `nextOwner` and `name` fields, but not the `id` field.
519
+ * model DeleteDog is Delete<Dog>;
520
+ * ```
521
+ */
522
+ @friendlyName(NameTemplate, T)
523
+ @withVisibilityFilter(#{ all: #[Lifecycle.Delete] })
524
+ model Delete<T extends Reflection.Model, NameTemplate extends valueof string = "Delete{name}"> {
525
+ ...T;
526
+ }
527
+
528
+ /**
529
+ * A copy of the input model `T` with only the properties that are visible during the
530
+ * "Query" resource lifecycle phase.
531
+ *
532
+ * The "Query" lifecycle phase is used for properties passed as parameters to operations
533
+ * that read data, like HTTP GET or HEAD operations. This should not be confused for
534
+ * the `@query` decorator, which specifies that the property is transmitted in the
535
+ * query string of an HTTP request.
536
+ *
537
+ * This transformation is recursive, and will include only properties that have the
538
+ * `Lifecycle.Query` visibility modifier.
539
+ *
540
+ * If a `NameTemplate` is provided, the new model will be named according to the template.
541
+ * The template uses the same syntax as the `@friendlyName` decorator.
542
+ *
543
+ * @template T The model to transform.
544
+ * @template NameTemplate The name template to use for the new model.
545
+ *
546
+ * * @example
547
+ * ```typespec
548
+ * model Dog {
549
+ * @visibility(Lifecycle.Read)
550
+ * id: int32;
551
+ *
552
+ * // When getting information for a Dog, you can set this field to true to include
553
+ * // some extra information about the Dog's pedigree that is normally not returned.
554
+ * // Alternatively, you could just use a separate option parameter to get this
555
+ * // information.
556
+ * @visibility(Lifecycle.Query)
557
+ * includePedigree?: boolean;
558
+ *
559
+ * name: string;
560
+ *
561
+ * // Only included if `includePedigree` is set to true in the request.
562
+ * @visibility(Lifecycle.Read)
563
+ * pedigree?: string;
564
+ * }
565
+ *
566
+ * // This model will have the `includePedigree` and `name` fields, but not `id` or `pedigree`.
567
+ * model QueryDog is Query<Dog>;
568
+ * ```
569
+ */
570
+ @friendlyName(NameTemplate, T)
571
+ @withVisibilityFilter(#{ all: #[Lifecycle.Query] })
572
+ model Query<T extends Reflection.Model, NameTemplate extends valueof string = "Query{name}"> {
573
+ ...T;
574
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/compiler",
3
- "version": "0.65.0-dev.1",
3
+ "version": "0.65.0-dev.2",
4
4
  "description": "TypeSpec Compiler Preview",
5
5
  "author": "Microsoft Corporation",
6
6
  "license": "MIT",