@typespec/prettier-plugin-typespec 0.45.0-dev.0 → 0.46.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -858,49 +858,50 @@ var SyntaxKind;
858
858
  SyntaxKind[SyntaxKind["VoidKeyword"] = 36] = "VoidKeyword";
859
859
  SyntaxKind[SyntaxKind["NeverKeyword"] = 37] = "NeverKeyword";
860
860
  SyntaxKind[SyntaxKind["UnknownKeyword"] = 38] = "UnknownKeyword";
861
- SyntaxKind[SyntaxKind["TypeReference"] = 39] = "TypeReference";
862
- SyntaxKind[SyntaxKind["ProjectionReference"] = 40] = "ProjectionReference";
863
- SyntaxKind[SyntaxKind["TemplateParameterDeclaration"] = 41] = "TemplateParameterDeclaration";
864
- SyntaxKind[SyntaxKind["EmptyStatement"] = 42] = "EmptyStatement";
865
- SyntaxKind[SyntaxKind["InvalidStatement"] = 43] = "InvalidStatement";
866
- SyntaxKind[SyntaxKind["LineComment"] = 44] = "LineComment";
867
- SyntaxKind[SyntaxKind["BlockComment"] = 45] = "BlockComment";
868
- SyntaxKind[SyntaxKind["Doc"] = 46] = "Doc";
869
- SyntaxKind[SyntaxKind["DocText"] = 47] = "DocText";
870
- SyntaxKind[SyntaxKind["DocParamTag"] = 48] = "DocParamTag";
871
- SyntaxKind[SyntaxKind["DocReturnsTag"] = 49] = "DocReturnsTag";
872
- SyntaxKind[SyntaxKind["DocTemplateTag"] = 50] = "DocTemplateTag";
873
- SyntaxKind[SyntaxKind["DocUnknownTag"] = 51] = "DocUnknownTag";
874
- SyntaxKind[SyntaxKind["Projection"] = 52] = "Projection";
875
- SyntaxKind[SyntaxKind["ProjectionParameterDeclaration"] = 53] = "ProjectionParameterDeclaration";
876
- SyntaxKind[SyntaxKind["ProjectionModelSelector"] = 54] = "ProjectionModelSelector";
877
- SyntaxKind[SyntaxKind["ProjectionModelPropertySelector"] = 55] = "ProjectionModelPropertySelector";
878
- SyntaxKind[SyntaxKind["ProjectionOperationSelector"] = 56] = "ProjectionOperationSelector";
879
- SyntaxKind[SyntaxKind["ProjectionUnionSelector"] = 57] = "ProjectionUnionSelector";
880
- SyntaxKind[SyntaxKind["ProjectionUnionVariantSelector"] = 58] = "ProjectionUnionVariantSelector";
881
- SyntaxKind[SyntaxKind["ProjectionInterfaceSelector"] = 59] = "ProjectionInterfaceSelector";
882
- SyntaxKind[SyntaxKind["ProjectionEnumSelector"] = 60] = "ProjectionEnumSelector";
883
- SyntaxKind[SyntaxKind["ProjectionEnumMemberSelector"] = 61] = "ProjectionEnumMemberSelector";
884
- SyntaxKind[SyntaxKind["ProjectionExpressionStatement"] = 62] = "ProjectionExpressionStatement";
885
- SyntaxKind[SyntaxKind["ProjectionIfExpression"] = 63] = "ProjectionIfExpression";
886
- SyntaxKind[SyntaxKind["ProjectionBlockExpression"] = 64] = "ProjectionBlockExpression";
887
- SyntaxKind[SyntaxKind["ProjectionMemberExpression"] = 65] = "ProjectionMemberExpression";
888
- SyntaxKind[SyntaxKind["ProjectionLogicalExpression"] = 66] = "ProjectionLogicalExpression";
889
- SyntaxKind[SyntaxKind["ProjectionEqualityExpression"] = 67] = "ProjectionEqualityExpression";
890
- SyntaxKind[SyntaxKind["ProjectionUnaryExpression"] = 68] = "ProjectionUnaryExpression";
891
- SyntaxKind[SyntaxKind["ProjectionRelationalExpression"] = 69] = "ProjectionRelationalExpression";
892
- SyntaxKind[SyntaxKind["ProjectionArithmeticExpression"] = 70] = "ProjectionArithmeticExpression";
893
- SyntaxKind[SyntaxKind["ProjectionCallExpression"] = 71] = "ProjectionCallExpression";
894
- SyntaxKind[SyntaxKind["ProjectionLambdaExpression"] = 72] = "ProjectionLambdaExpression";
895
- SyntaxKind[SyntaxKind["ProjectionLambdaParameterDeclaration"] = 73] = "ProjectionLambdaParameterDeclaration";
896
- SyntaxKind[SyntaxKind["ProjectionModelExpression"] = 74] = "ProjectionModelExpression";
897
- SyntaxKind[SyntaxKind["ProjectionModelProperty"] = 75] = "ProjectionModelProperty";
898
- SyntaxKind[SyntaxKind["ProjectionModelSpreadProperty"] = 76] = "ProjectionModelSpreadProperty";
899
- SyntaxKind[SyntaxKind["ProjectionSpreadProperty"] = 77] = "ProjectionSpreadProperty";
900
- SyntaxKind[SyntaxKind["ProjectionTupleExpression"] = 78] = "ProjectionTupleExpression";
901
- SyntaxKind[SyntaxKind["ProjectionStatement"] = 79] = "ProjectionStatement";
902
- SyntaxKind[SyntaxKind["ProjectionDecoratorReferenceExpression"] = 80] = "ProjectionDecoratorReferenceExpression";
903
- SyntaxKind[SyntaxKind["Return"] = 81] = "Return";
861
+ SyntaxKind[SyntaxKind["ValueOfExpression"] = 39] = "ValueOfExpression";
862
+ SyntaxKind[SyntaxKind["TypeReference"] = 40] = "TypeReference";
863
+ SyntaxKind[SyntaxKind["ProjectionReference"] = 41] = "ProjectionReference";
864
+ SyntaxKind[SyntaxKind["TemplateParameterDeclaration"] = 42] = "TemplateParameterDeclaration";
865
+ SyntaxKind[SyntaxKind["EmptyStatement"] = 43] = "EmptyStatement";
866
+ SyntaxKind[SyntaxKind["InvalidStatement"] = 44] = "InvalidStatement";
867
+ SyntaxKind[SyntaxKind["LineComment"] = 45] = "LineComment";
868
+ SyntaxKind[SyntaxKind["BlockComment"] = 46] = "BlockComment";
869
+ SyntaxKind[SyntaxKind["Doc"] = 47] = "Doc";
870
+ SyntaxKind[SyntaxKind["DocText"] = 48] = "DocText";
871
+ SyntaxKind[SyntaxKind["DocParamTag"] = 49] = "DocParamTag";
872
+ SyntaxKind[SyntaxKind["DocReturnsTag"] = 50] = "DocReturnsTag";
873
+ SyntaxKind[SyntaxKind["DocTemplateTag"] = 51] = "DocTemplateTag";
874
+ SyntaxKind[SyntaxKind["DocUnknownTag"] = 52] = "DocUnknownTag";
875
+ SyntaxKind[SyntaxKind["Projection"] = 53] = "Projection";
876
+ SyntaxKind[SyntaxKind["ProjectionParameterDeclaration"] = 54] = "ProjectionParameterDeclaration";
877
+ SyntaxKind[SyntaxKind["ProjectionModelSelector"] = 55] = "ProjectionModelSelector";
878
+ SyntaxKind[SyntaxKind["ProjectionModelPropertySelector"] = 56] = "ProjectionModelPropertySelector";
879
+ SyntaxKind[SyntaxKind["ProjectionOperationSelector"] = 57] = "ProjectionOperationSelector";
880
+ SyntaxKind[SyntaxKind["ProjectionUnionSelector"] = 58] = "ProjectionUnionSelector";
881
+ SyntaxKind[SyntaxKind["ProjectionUnionVariantSelector"] = 59] = "ProjectionUnionVariantSelector";
882
+ SyntaxKind[SyntaxKind["ProjectionInterfaceSelector"] = 60] = "ProjectionInterfaceSelector";
883
+ SyntaxKind[SyntaxKind["ProjectionEnumSelector"] = 61] = "ProjectionEnumSelector";
884
+ SyntaxKind[SyntaxKind["ProjectionEnumMemberSelector"] = 62] = "ProjectionEnumMemberSelector";
885
+ SyntaxKind[SyntaxKind["ProjectionExpressionStatement"] = 63] = "ProjectionExpressionStatement";
886
+ SyntaxKind[SyntaxKind["ProjectionIfExpression"] = 64] = "ProjectionIfExpression";
887
+ SyntaxKind[SyntaxKind["ProjectionBlockExpression"] = 65] = "ProjectionBlockExpression";
888
+ SyntaxKind[SyntaxKind["ProjectionMemberExpression"] = 66] = "ProjectionMemberExpression";
889
+ SyntaxKind[SyntaxKind["ProjectionLogicalExpression"] = 67] = "ProjectionLogicalExpression";
890
+ SyntaxKind[SyntaxKind["ProjectionEqualityExpression"] = 68] = "ProjectionEqualityExpression";
891
+ SyntaxKind[SyntaxKind["ProjectionUnaryExpression"] = 69] = "ProjectionUnaryExpression";
892
+ SyntaxKind[SyntaxKind["ProjectionRelationalExpression"] = 70] = "ProjectionRelationalExpression";
893
+ SyntaxKind[SyntaxKind["ProjectionArithmeticExpression"] = 71] = "ProjectionArithmeticExpression";
894
+ SyntaxKind[SyntaxKind["ProjectionCallExpression"] = 72] = "ProjectionCallExpression";
895
+ SyntaxKind[SyntaxKind["ProjectionLambdaExpression"] = 73] = "ProjectionLambdaExpression";
896
+ SyntaxKind[SyntaxKind["ProjectionLambdaParameterDeclaration"] = 74] = "ProjectionLambdaParameterDeclaration";
897
+ SyntaxKind[SyntaxKind["ProjectionModelExpression"] = 75] = "ProjectionModelExpression";
898
+ SyntaxKind[SyntaxKind["ProjectionModelProperty"] = 76] = "ProjectionModelProperty";
899
+ SyntaxKind[SyntaxKind["ProjectionModelSpreadProperty"] = 77] = "ProjectionModelSpreadProperty";
900
+ SyntaxKind[SyntaxKind["ProjectionSpreadProperty"] = 78] = "ProjectionSpreadProperty";
901
+ SyntaxKind[SyntaxKind["ProjectionTupleExpression"] = 79] = "ProjectionTupleExpression";
902
+ SyntaxKind[SyntaxKind["ProjectionStatement"] = 80] = "ProjectionStatement";
903
+ SyntaxKind[SyntaxKind["ProjectionDecoratorReferenceExpression"] = 81] = "ProjectionDecoratorReferenceExpression";
904
+ SyntaxKind[SyntaxKind["Return"] = 82] = "Return";
904
905
  })(SyntaxKind = SyntaxKind || (SyntaxKind = {}));
905
906
  var IdentifierKind;
906
907
  (function (IdentifierKind) {
@@ -1996,27 +1997,28 @@ var Token;
1996
1997
  Token[Token["IfKeyword"] = 60] = "IfKeyword";
1997
1998
  Token[Token["DecKeyword"] = 61] = "DecKeyword";
1998
1999
  Token[Token["FnKeyword"] = 62] = "FnKeyword";
2000
+ Token[Token["ValueOfKeyword"] = 63] = "ValueOfKeyword";
1999
2001
  // Add new statement keyword above
2000
- /** @internal */ Token[Token["__EndStatementKeyword"] = 63] = "__EndStatementKeyword";
2002
+ /** @internal */ Token[Token["__EndStatementKeyword"] = 64] = "__EndStatementKeyword";
2001
2003
  ///////////////////////////////////////////////////////////////
2002
2004
  ///////////////////////////////////////////////////////////////
2003
- /** @internal */ Token[Token["__StartModifierKeyword"] = 63] = "__StartModifierKeyword";
2004
- Token[Token["ExternKeyword"] = 63] = "ExternKeyword";
2005
- /** @internal */ Token[Token["__EndModifierKeyword"] = 64] = "__EndModifierKeyword";
2005
+ /** @internal */ Token[Token["__StartModifierKeyword"] = 64] = "__StartModifierKeyword";
2006
+ Token[Token["ExternKeyword"] = 64] = "ExternKeyword";
2007
+ /** @internal */ Token[Token["__EndModifierKeyword"] = 65] = "__EndModifierKeyword";
2006
2008
  ///////////////////////////////////////////////////////////////
2007
2009
  ///////////////////////////////////////////////////////////////
2008
2010
  // Other keywords
2009
- Token[Token["ExtendsKeyword"] = 64] = "ExtendsKeyword";
2010
- Token[Token["TrueKeyword"] = 65] = "TrueKeyword";
2011
- Token[Token["FalseKeyword"] = 66] = "FalseKeyword";
2012
- Token[Token["ReturnKeyword"] = 67] = "ReturnKeyword";
2013
- Token[Token["VoidKeyword"] = 68] = "VoidKeyword";
2014
- Token[Token["NeverKeyword"] = 69] = "NeverKeyword";
2015
- Token[Token["UnknownKeyword"] = 70] = "UnknownKeyword";
2011
+ Token[Token["ExtendsKeyword"] = 65] = "ExtendsKeyword";
2012
+ Token[Token["TrueKeyword"] = 66] = "TrueKeyword";
2013
+ Token[Token["FalseKeyword"] = 67] = "FalseKeyword";
2014
+ Token[Token["ReturnKeyword"] = 68] = "ReturnKeyword";
2015
+ Token[Token["VoidKeyword"] = 69] = "VoidKeyword";
2016
+ Token[Token["NeverKeyword"] = 70] = "NeverKeyword";
2017
+ Token[Token["UnknownKeyword"] = 71] = "UnknownKeyword";
2016
2018
  // Add new non-statement keyword above
2017
- /** @internal */ Token[Token["__EndKeyword"] = 71] = "__EndKeyword";
2019
+ /** @internal */ Token[Token["__EndKeyword"] = 72] = "__EndKeyword";
2018
2020
  ///////////////////////////////////////////////////////////////
2019
- /** @internal */ Token[Token["__Count"] = 71] = "__Count";
2021
+ /** @internal */ Token[Token["__Count"] = 72] = "__Count";
2020
2022
  })(Token = Token || (Token = {}));
2021
2023
  /** @internal */
2022
2024
  const TokenDisplay = getTokenDisplayTable([
@@ -2083,6 +2085,7 @@ const TokenDisplay = getTokenDisplayTable([
2083
2085
  [Token.IfKeyword, "'if'"],
2084
2086
  [Token.DecKeyword, "'dec'"],
2085
2087
  [Token.FnKeyword, "'fn'"],
2088
+ [Token.ValueOfKeyword, "'valueof'"],
2086
2089
  [Token.ExtendsKeyword, "'extends'"],
2087
2090
  [Token.TrueKeyword, "'true'"],
2088
2091
  [Token.FalseKeyword, "'false'"],
@@ -2111,6 +2114,7 @@ const Keywords = new Map([
2111
2114
  ["alias", Token.AliasKeyword],
2112
2115
  ["dec", Token.DecKeyword],
2113
2116
  ["fn", Token.FnKeyword],
2117
+ ["valueof", Token.ValueOfKeyword],
2114
2118
  ["true", Token.TrueKeyword],
2115
2119
  ["false", Token.FalseKeyword],
2116
2120
  ["return", Token.ReturnKeyword],
@@ -3117,6 +3121,8 @@ path, options, print) {
3117
3121
  return printUnionVariant(path, options, print);
3118
3122
  case SyntaxKind.TypeReference:
3119
3123
  return printTypeReference(path, options, print);
3124
+ case SyntaxKind.ValueOfExpression:
3125
+ return printValueOfExpression(path, options, print);
3120
3126
  case SyntaxKind.TemplateParameterDeclaration:
3121
3127
  return printTemplateParameterDeclaration(path, options, print);
3122
3128
  case SyntaxKind.ModelSpreadProperty:
@@ -3790,6 +3796,10 @@ function printTypeReference(path, options, print) {
3790
3796
  const template = printTemplateParameters(path, options, print, "arguments");
3791
3797
  return [type, template];
3792
3798
  }
3799
+ function printValueOfExpression(path, options, print) {
3800
+ const type = path.call(print, "target");
3801
+ return ["valueof ", type];
3802
+ }
3793
3803
  function printTemplateParameterDeclaration(path, options, print) {
3794
3804
  const node = path.getValue();
3795
3805
  return [
@@ -4791,6 +4801,16 @@ function createParser(code, options = {}) {
4791
4801
  }
4792
4802
  return expr;
4793
4803
  }
4804
+ function parseValueOfExpression() {
4805
+ const pos = tokenPos();
4806
+ parseExpected(Token.ValueOfKeyword);
4807
+ const target = parseExpression();
4808
+ return {
4809
+ kind: SyntaxKind.ValueOfExpression,
4810
+ target,
4811
+ ...finishNode(pos),
4812
+ };
4813
+ }
4794
4814
  function parseReferenceExpression(message) {
4795
4815
  const pos = tokenPos();
4796
4816
  const target = parseIdentifierOrMemberExpression(message);
@@ -4964,6 +4984,8 @@ function createParser(code, options = {}) {
4964
4984
  function parsePrimaryExpression() {
4965
4985
  while (true) {
4966
4986
  switch (token()) {
4987
+ case Token.ValueOfKeyword:
4988
+ return parseValueOfExpression();
4967
4989
  case Token.Identifier:
4968
4990
  return parseReferenceExpression();
4969
4991
  case Token.StringLiteral: