@alloy-js/csharp 0.20.0-dev.5 → 0.20.0-dev.8

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 (73) hide show
  1. package/dist/src/components/SourceFile.d.ts +5 -0
  2. package/dist/src/components/SourceFile.d.ts.map +1 -1
  3. package/dist/src/components/SourceFile.js +18 -58
  4. package/dist/src/components/SourceFile.js.map +1 -1
  5. package/dist/src/components/access-expression/access-expression.d.ts +54 -0
  6. package/dist/src/components/access-expression/access-expression.d.ts.map +1 -0
  7. package/dist/src/components/access-expression/access-expression.js +277 -0
  8. package/dist/src/components/access-expression/access-expression.js.map +1 -0
  9. package/dist/src/components/access-expression/access-expression.test.d.ts +2 -0
  10. package/dist/src/components/access-expression/access-expression.test.d.ts.map +1 -0
  11. package/dist/src/components/access-expression/access-expression.test.js +336 -0
  12. package/dist/src/components/access-expression/access-expression.test.js.map +1 -0
  13. package/dist/src/components/access-expression/part-descriptors.d.ts +32 -0
  14. package/dist/src/components/access-expression/part-descriptors.d.ts.map +1 -0
  15. package/dist/src/components/access-expression/part-descriptors.js +99 -0
  16. package/dist/src/components/access-expression/part-descriptors.js.map +1 -0
  17. package/dist/src/components/class/declaration.d.ts.map +1 -1
  18. package/dist/src/components/class/declaration.js.map +1 -1
  19. package/dist/src/components/index.d.ts +1 -0
  20. package/dist/src/components/index.d.ts.map +1 -1
  21. package/dist/src/components/index.js +1 -0
  22. package/dist/src/components/index.js.map +1 -1
  23. package/dist/src/components/invocation-expression/invocation-expression.d.ts +29 -0
  24. package/dist/src/components/invocation-expression/invocation-expression.d.ts.map +1 -0
  25. package/dist/src/components/invocation-expression/invocation-expression.js +70 -0
  26. package/dist/src/components/invocation-expression/invocation-expression.js.map +1 -0
  27. package/dist/src/components/invocation-expression/invocation-expression.test.d.ts +2 -0
  28. package/dist/src/components/invocation-expression/invocation-expression.test.d.ts.map +1 -0
  29. package/dist/src/components/invocation-expression/invocation-expression.test.js +105 -0
  30. package/dist/src/components/invocation-expression/invocation-expression.test.js.map +1 -0
  31. package/dist/src/components/parameters/parameters.d.ts +1 -2
  32. package/dist/src/components/parameters/parameters.d.ts.map +1 -1
  33. package/dist/src/components/parameters/parameters.js +2 -1
  34. package/dist/src/components/parameters/parameters.js.map +1 -1
  35. package/dist/src/components/parameters/parameters.test.js +66 -0
  36. package/dist/src/components/parameters/parameters.test.js.map +1 -1
  37. package/dist/src/components/property/property.d.ts +2 -2
  38. package/dist/src/components/property/property.d.ts.map +1 -1
  39. package/dist/src/components/property/property.js +10 -3
  40. package/dist/src/components/property/property.js.map +1 -1
  41. package/dist/src/scopes/csharp.d.ts +2 -0
  42. package/dist/src/scopes/csharp.d.ts.map +1 -1
  43. package/dist/src/scopes/csharp.js +3 -0
  44. package/dist/src/scopes/csharp.js.map +1 -1
  45. package/dist/src/symbols/csharp.d.ts +11 -0
  46. package/dist/src/symbols/csharp.d.ts.map +1 -1
  47. package/dist/src/symbols/csharp.js +23 -0
  48. package/dist/src/symbols/csharp.js.map +1 -1
  49. package/dist/src/symbols/factories.d.ts.map +1 -1
  50. package/dist/src/symbols/factories.js +12 -6
  51. package/dist/src/symbols/factories.js.map +1 -1
  52. package/dist/src/symbols/reference.d.ts +2 -2
  53. package/dist/src/symbols/reference.d.ts.map +1 -1
  54. package/dist/src/symbols/reference.js +17 -5
  55. package/dist/src/symbols/reference.js.map +1 -1
  56. package/dist/tsconfig.tsbuildinfo +1 -1
  57. package/package.json +2 -2
  58. package/src/components/SourceFile.tsx +27 -30
  59. package/src/components/access-expression/access-expression.test.tsx +284 -0
  60. package/src/components/access-expression/access-expression.tsx +375 -0
  61. package/src/components/access-expression/part-descriptors.ts +175 -0
  62. package/src/components/class/declaration.tsx +1 -0
  63. package/src/components/index.ts +1 -0
  64. package/src/components/invocation-expression/invocation-expression.test.tsx +101 -0
  65. package/src/components/invocation-expression/invocation-expression.tsx +60 -0
  66. package/src/components/parameters/parameters.test.tsx +46 -0
  67. package/src/components/parameters/parameters.tsx +2 -2
  68. package/src/components/property/property.tsx +8 -2
  69. package/src/scopes/csharp.ts +5 -0
  70. package/src/symbols/csharp.ts +32 -0
  71. package/src/symbols/factories.ts +31 -15
  72. package/src/symbols/{reference.ts → reference.tsx} +11 -9
  73. package/temp/api.json +271 -36
@@ -1,7 +1,11 @@
1
1
  import { Children } from "@alloy-js/core";
2
+ /**
3
+ * Props for {@link SourceFile} component
4
+ */
2
5
  export interface SourceFileProps {
3
6
  /** Path of the source file */
4
7
  path: string;
8
+ /** Source file content */
5
9
  children?: Children;
6
10
  /**
7
11
  * A list of using directives to explicitly include. Note that providing
@@ -9,5 +13,6 @@ export interface SourceFileProps {
9
13
  */
10
14
  using?: string[];
11
15
  }
16
+ /** A C# source file exists within the context of a namespace contains using statements and declarations */
12
17
  export declare function SourceFile(props: SourceFileProps): Children;
13
18
  //# sourceMappingURL=SourceFile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SourceFile.d.ts","sourceRoot":"","sources":["../../../src/components/SourceFile.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAMT,MAAM,gBAAgB,CAAC;AASxB,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAID,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,YA2DhD"}
1
+ {"version":3,"file":"SourceFile.d.ts","sourceRoot":"","sources":["../../../src/components/SourceFile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAKT,MAAM,gBAAgB,CAAC;AASxB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,2GAA2G;AAC3G,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,YAqDhD"}
@@ -1,13 +1,17 @@
1
- import { memo as _$memo, createIntrinsic as _$createIntrinsic, createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
- import { computed, SourceFile as CoreSourceFile, Scope, Show, useBinder } from "@alloy-js/core";
1
+ import { createComponent as _$createComponent, memo as _$memo, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
+ import { Block, computed, SourceFile as CoreSourceFile, Scope, useBinder } from "@alloy-js/core";
3
3
  import { getGlobalNamespace } from "../contexts/global-namespace.js";
4
4
  import { useNamespaceContext } from "../contexts/namespace.js";
5
5
  import { CSharpSourceFileScope } from "../scopes/source-file.js";
6
- import { NamespaceScope, NamespaceScopes } from "./namespace-scopes.js";
6
+ import { NamespaceScopes } from "./namespace-scopes.js";
7
7
  import { Reference } from "./Reference.js";
8
8
  import { UsingDirective } from "./UsingDirective.js";
9
- // a C# source file. exists within the context of a namespace
10
- // contains using statements and declarations
9
+
10
+ /**
11
+ * Props for {@link SourceFile} component
12
+ */
13
+
14
+ /** A C# source file exists within the context of a namespace contains using statements and declarations */
11
15
  export function SourceFile(props) {
12
16
  const sourceFileScope = new CSharpSourceFileScope(props.path);
13
17
  const nsContext = useNamespaceContext();
@@ -17,6 +21,12 @@ export function SourceFile(props) {
17
21
  const usings = computed(() => {
18
22
  return Array.from(sourceFileScope.usings).concat(props.using ?? []);
19
23
  });
24
+ const content = computed(() => _$createComponent(NamespaceScopes, {
25
+ symbol: nsSymbol,
26
+ get children() {
27
+ return props.children;
28
+ }
29
+ }));
20
30
  return _$createComponent(CoreSourceFile, {
21
31
  get path() {
22
32
  return props.path;
@@ -33,59 +43,9 @@ export function SourceFile(props) {
33
43
  get namespaces() {
34
44
  return usings.value;
35
45
  }
36
- }), _$createIntrinsic("hbr", {}), _$createIntrinsic("hbr", {})]), _$createComponent(Show, {
37
- when: !!nsContext && nsSymbol !== globalNs,
38
- get children() {
39
- return [_$createComponent(Show, {
40
- get when() {
41
- return sourceFileScope.hasBlockNamespace;
42
- },
43
- get children() {
44
- return ["namespace ", nsRef, " {", _$createIntrinsic("hbr", {}), " "];
45
- }
46
- }), _$createComponent(Show, {
47
- get when() {
48
- return !sourceFileScope.hasBlockNamespace;
49
- },
50
- get children() {
51
- return ["namespace ", nsRef, ";", _$createIntrinsic("hbr", {}), _$createIntrinsic("hbr", {})];
52
- }
53
- }), _$createIntrinsic("align", {
54
- get width() {
55
- return sourceFileScope.hasBlockNamespace ? 4 : 0;
56
- },
57
- get children() {
58
- return _$createComponent(NamespaceScopes, {
59
- get symbol() {
60
- return nsContext.symbol;
61
- },
62
- get children() {
63
- return props.children;
64
- }
65
- });
66
- }
67
- }), _$createComponent(Show, {
68
- get when() {
69
- return sourceFileScope.hasBlockNamespace;
70
- },
71
- get children() {
72
- return [_$createIntrinsic("hbr", {}), "}"];
73
- }
74
- })];
75
- }
76
- }), _$createComponent(Show, {
77
- when: !nsContext || nsSymbol === globalNs,
78
- get children() {
79
- return _$createComponent(NamespaceScope, {
80
- get symbol() {
81
- return getGlobalNamespace(useBinder());
82
- },
83
- get children() {
84
- return props.children;
85
- }
86
- });
87
- }
88
- })];
46
+ }), _$createIntrinsic("hbr", {}), _$createIntrinsic("hbr", {})]), _$memo(() => nsSymbol === globalNs ? content : ["namespace ", nsRef, _$memo(() => _$memo(() => !!sourceFileScope.hasBlockNamespace)() ? [" ", _$createComponent(Block, {
47
+ children: content
48
+ })] : [";", _$createIntrinsic("hbr", {}), _$createIntrinsic("hbr", {}), content])])];
89
49
  }
90
50
  });
91
51
  }
@@ -1 +1 @@
1
- {"version":3,"names":["computed","SourceFile","CoreSourceFile","Scope","Show","useBinder","getGlobalNamespace","useNamespaceContext","CSharpSourceFileScope","NamespaceScope","NamespaceScopes","Reference","UsingDirective","props","sourceFileScope","path","nsContext","globalNs","nsSymbol","symbol","nsRef","name","undefined","usings","Array","from","concat","using","_$createComponent","filetype","reference","tabWidth","printWidth","children","value","_$memo","size","length","namespaces","_$createIntrinsic","when","hasBlockNamespace","width"],"sources":["../../../src/components/SourceFile.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Block","computed","SourceFile","CoreSourceFile","Scope","useBinder","getGlobalNamespace","useNamespaceContext","CSharpSourceFileScope","NamespaceScopes","Reference","UsingDirective","props","sourceFileScope","path","nsContext","globalNs","nsSymbol","symbol","nsRef","name","undefined","usings","Array","from","concat","using","content","_$createComponent","children","filetype","reference","tabWidth","printWidth","value","_$memo","size","length","namespaces","_$createIntrinsic","hasBlockNamespace"],"sources":["../../../src/components/SourceFile.tsx"],"sourcesContent":[null],"mappings":";AAAA,SACEA,KAAK,EAELC,QAAQ,EACRC,UAAU,IAAIC,cAAc,EAC5BC,KAAK,EACLC,SAAS,QACJ,gBAAgB;AACvB,SAASC,kBAAkB,QAAQ,iCAAiC;AACpE,SAASC,mBAAmB,QAAQ,0BAA0B;AAC9D,SAASC,qBAAqB,QAAQ,0BAA0B;AAEhE,SAASC,eAAe;AACxB,SAASC,SAAS;AAClB,SAASC,cAAc;;AAEvB;AACA;AACA;;AAeA;AACA,OAAO,SAAST,UAAUA,CAACU,KAAsB,EAAE;EACjD,MAAMC,eAAe,GAAG,IAAIL,qBAAqB,CAACI,KAAK,CAACE,IAAI,CAAC;EAE7D,MAAMC,SAAS,GAAGR,mBAAmB,CAAC,CAAC;EACvC,MAAMS,QAAQ,GAAGV,kBAAkB,CAACD,SAAS,CAAC,CAAC,CAAC;EAChD,MAAMY,QAAQ,GAAGF,SAAS,GAAGA,SAAS,CAACG,MAAM,GAAGF,QAAQ;EACxD,MAAMG,KAAK,GAAGJ,SAAS,GAAGA,SAAS,CAACG,MAAM,CAACE,IAAI,GAAGC,SAAS;EAC3D,MAAMC,MAAM,GAAGrB,QAAQ,CAAC,MAAM;IAC5B,OACEsB,KAAK,CAACC,IAAI,CAACX,eAAe,CAACS,MAAM,CAAC,CAClCG,MAAM,CAACb,KAAK,CAACc,KAAK,IAAI,EAAE,CAAC;EAC7B,CAAC,CAAC;EAEF,MAAMC,OAAO,GAAG1B,QAAQ,CAAC,MAAA2B,iBAAA,CACtBnB,eAAe;IAACS,MAAM,EAAED,QAAQ;IAAA,IAAAY,SAAA;MAAA,OAAGjB,KAAK,CAACiB,QAAQ;IAAA;EAAA,EACnD,CAAC;EACF,OAAAD,iBAAA,CACGzB,cAAc;IAAA,IACbW,IAAIA,CAAA;MAAA,OAAEF,KAAK,CAACE,IAAI;IAAA;IAChBgB,QAAQ;IACRC,SAAS,EAAErB,SAAS;IACpBsB,QAAQ,EAAE,CAAC;IACXC,UAAU,EAAE,GAAG;IAAA,IAAAJ,SAAA;MAAA,OAAAD,iBAAA,CAEdxB,KAAK;QAAC8B,KAAK,EAAErB,eAAe;QAAA,IAAAgB,SAAA;UAAA,QAAAM,MAAA,OAC1BA,MAAA,UAACtB,eAAe,CAACS,MAAM,CAACc,IAAI,GAAG,CAAC,IAC9BxB,KAAK,CAACc,KAAK,IAAId,KAAK,CAACc,KAAK,CAACW,MAAM,GAAG,CAAE,SAAAT,iBAAA,CAEpCjB,cAAc;YAAA,IAAC2B,UAAUA,CAAA;cAAA,OAAEhB,MAAM,CAACY,KAAK;YAAA;UAAA,IAAAK,iBAAA,aAAAA,iBAAA,YAI3C,GAAAJ,MAAA,OACAlB,QAAQ,KAAKD,QAAQ,GACpBW,OAAO,kBAEMR,KAAK,EAAAgB,MAAA,OACfA,MAAA,SAAAtB,eAAe,CAAC2B,iBAAiB,OAE7B,GAAG,EAAAZ,iBAAA,CACH5B,KAAK;YAAA6B,QAAA,EAAEF;UAAO,YAAAY,iBAAA,aAAAA,iBAAA,aAKdZ,OAAO,CACP,EAEJ;QAAA;MAAA;IAAA;EAAA;AAKb","ignoreList":[]}
@@ -0,0 +1,54 @@
1
+ import { Children, Refkey } from "@alloy-js/core";
2
+ import { CSharpSymbol } from "../../symbols/csharp.js";
3
+ export interface AccessExpressionProps {
4
+ children: Children;
5
+ }
6
+ export declare function AccessExpression(props: AccessExpressionProps): string | number | boolean | void | (() => Children) | import("@vue/reactivity").Ref<any, any> | import("@alloy-js/core").SymbolRefkey | import("@alloy-js/core").MemberRefkey | import("@alloy-js/core").CustomContext | import("@alloy-js/core").IndentIntrinsicElement | import("@alloy-js/core").IndentIfBreakIntrinsicElement | import("@alloy-js/core").BrIntrinsicElement | import("@alloy-js/core").LineIntrinsicElement | import("@alloy-js/core").HbrIntrinsicElement | import("@alloy-js/core").HardlineIntrinsicElement | import("@alloy-js/core").SbrIntrinsicElement | import("@alloy-js/core").SoftlineIntrinsicElement | import("@alloy-js/core").GroupIntrinsicElement | import("@alloy-js/core").AlignIntrinsicElement | import("@alloy-js/core").FillIntrinsicElement | import("@alloy-js/core").BreakParentIntrinsicElement | import("@alloy-js/core").LineSuffixIntrinsicElement | import("@alloy-js/core").LineSuffixBoundaryIntrinsicElement | import("@alloy-js/core").DedentIntrinsicElement | import("@alloy-js/core").LiterallineIntrinsicElement | import("@alloy-js/core").LbrIntrinsicElement | import("@alloy-js/core").DedentToRootIntrinsicElement | import("@alloy-js/core").MarkAsRootIntrinsicElement | import("@alloy-js/core").IfBreakIntrinsicElement | Children[] | import("@vue/reactivity").ComputedRef<Children> | null;
7
+ export declare namespace AccessExpression {
8
+ var Part: (props: AccessExpressionPartProps) => void;
9
+ }
10
+ export interface AccessExpressionPartProps {
11
+ children?: Children;
12
+ /**
13
+ * Whether this part should use conditional access.
14
+ */
15
+ conditional?: boolean;
16
+ /**
17
+ * Emit a function call.
18
+ */
19
+ args?: boolean | Children[];
20
+ /**
21
+ * Type arguments to pass to a member access.
22
+ */
23
+ typeArgs?: Children[];
24
+ /**
25
+ * A refkey for the symbol whose name becomes this part's identifier. When a refkey is provided for the first
26
+ * part, it will be fully resolved. Otherwise, just the symbol's name is used.
27
+ */
28
+ refkey?: Refkey;
29
+ /**
30
+ * The symbol whose name becomes this part's identifier.
31
+ */
32
+ symbol?: CSharpSymbol;
33
+ /**
34
+ * The identifier to use for this part.
35
+ */
36
+ id?: string;
37
+ /**
38
+ * Create an element access part with a single indexer argument. Mutually
39
+ * exclusive with the `indexerArgs` prop.
40
+ */
41
+ index?: Children;
42
+ /**
43
+ * Create an element access part with multiple indexer arguments. Mutually
44
+ * exclusive with the `index` prop.
45
+ */
46
+ indexerArgs?: Children[];
47
+ /**
48
+ * Whether this part could possibly be null. Will guard member and element
49
+ * access with a conditional access operator. Passing this is not necessary if
50
+ * you provide a symbol or refkey and the symbol's nullable flag is set.
51
+ */
52
+ nullable?: boolean;
53
+ }
54
+ //# sourceMappingURL=access-expression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-expression.d.ts","sourceRoot":"","sources":["../../../../src/components/access-expression/access-expression.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAMR,MAAM,EAGP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAWvD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,qyCA6B5D;yBA7Be,gBAAgB;sBAoGS,yBAAyB;;AApDlE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEtB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;IAEjB;;;OAGG;IACH,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
@@ -0,0 +1,277 @@
1
+ import { createIntrinsic as _$createIntrinsic, createComponent as _$createComponent, memo as _$memo } from "@alloy-js/core/jsx-runtime";
2
+ import { childrenArray, computed, For, isComponentCreator, Show, takeSymbols } from "@alloy-js/core";
3
+ import { childrenToPartDescriptors, isArgsPart, isIdPart } from "./part-descriptors.js";
4
+ export function AccessExpression(props) {
5
+ const children = flattenAccessExpression(childrenArray(() => props.children));
6
+ const parts = childrenToPartDescriptors(children);
7
+
8
+ // any symbols emitted from the children won't be relevant to parent scopes.
9
+ takeSymbols();
10
+ if (parts.length === 0) {
11
+ return [];
12
+ }
13
+ const isCallChain = computed(() => {
14
+ let callCount = 0;
15
+ for (const part of parts) {
16
+ if (isArgsPart(part)) callCount++;
17
+ }
18
+ return callCount > 1;
19
+ });
20
+
21
+ // construct a member expression from the parts. When a part is nullish,
22
+ // and there is a subsequent part, we use `?.` instead of `.`. accessStyle determines
23
+ // whether we use dot or bracket notation.
24
+
25
+ return computed(() => {
26
+ return isCallChain.value ? formatCallChain(parts) : formatNonCallChain(parts);
27
+ });
28
+ }
29
+
30
+ /**
31
+ * Flattens nested access expressions into a single array of parts.
32
+ */
33
+ function flattenAccessExpression(children) {
34
+ const flattened = [];
35
+ for (const child of children) {
36
+ if (isComponentCreator(child, AccessExpression)) {
37
+ flattened.push(...flattenAccessExpression(childrenArray(() => child.props.children)));
38
+ } else {
39
+ flattened.push(child);
40
+ }
41
+ }
42
+ return flattened;
43
+ }
44
+ AccessExpression.Part = function (props) {
45
+ /** renders nothing, the parent AccessExpression will use these args */
46
+ };
47
+
48
+ /**
49
+ * Formatting of call chains (i.e. member expressions which have more than one
50
+ * call in them). The general approach is that line breaks occur after each
51
+ * call, and there is only one call per line. When there are non-call elements,
52
+ * they occur prior to the call part. The first part of the member expression
53
+ * contains all but the last non-call part.
54
+ *
55
+ * The following is an example of proper formatting:
56
+ *
57
+ * ```ts
58
+ * z.dummy // all but the last non-call part for the first element
59
+ * .object({ // the first call part with line break after
60
+ * a: 1,
61
+ * })
62
+ * .dummy.partial() // the next call part with non-call parts before it
63
+ * ```
64
+ */
65
+ function formatCallChain(parts) {
66
+ return computed(() => {
67
+ const expression = [];
68
+
69
+ // break the expression into parts.
70
+ const chunks = [];
71
+
72
+ // the first part is all the non-call parts
73
+ let partIndex = 0;
74
+ function pushPart() {
75
+ const part = parts[partIndex];
76
+ if (!part) throw new Error("No part to push");
77
+ chunks.at(-1).push(part);
78
+ partIndex++;
79
+ }
80
+ function pushChunk() {
81
+ chunks.push([]);
82
+ }
83
+
84
+ // For the first chunk, take all the non-call parts except the last one
85
+ // and put them in a chunk.
86
+ pushChunk();
87
+ while (partIndex < parts.length && (partIndex === parts.length - 1 || chunks.at(-1).length === 0 || !isArgsPart(parts[partIndex + 1]))) {
88
+ pushPart();
89
+ if (isArgsPart(chunks.at(-1).at(-1))) {
90
+ // the first segment always ends after we see a call
91
+ // if we happen to take one
92
+ break;
93
+ }
94
+ }
95
+
96
+ // then for all remaining parts, collect all the non-call parts and end with
97
+ // a call chunk
98
+ while (partIndex < parts.length) {
99
+ pushChunk();
100
+ while (partIndex < parts.length && !isArgsPart(parts[partIndex])) {
101
+ pushPart();
102
+ }
103
+ while (partIndex < parts.length && isArgsPart(parts[partIndex])) {
104
+ pushPart();
105
+ }
106
+ }
107
+ for (let chunkIndex = 0; chunkIndex < chunks.length; chunkIndex++) {
108
+ const chunk = chunks[chunkIndex];
109
+ const chunkExpression = [];
110
+ for (let partIndex = 0; partIndex < chunk.length; partIndex++) {
111
+ if (chunkIndex === 0 && partIndex === 0) {
112
+ // first part is just gonna be the id
113
+ const firstPart = isIdPart(chunk[0]) ? chunk[0].id : chunk[0].indexerArgs;
114
+ chunkExpression.push(firstPart);
115
+ continue;
116
+ }
117
+ const part = chunk[partIndex];
118
+ const prevPart = partIndex === 0 ? chunks[chunkIndex - 1].at(-1) : chunk[partIndex - 1];
119
+ if (isArgsPart(part)) {
120
+ // For parts with only args (no name), append function call directly with appropriate nullish operator
121
+ chunkExpression.push(formatCallExpr(prevPart, part));
122
+ } else if (isIdPart(part)) {
123
+ chunkExpression.push(formatMemberAccess(prevPart, part, true));
124
+ } else {
125
+ // bracket notation - don't include the dot
126
+ chunkExpression.push(formatElementAccess(prevPart, part));
127
+ }
128
+ }
129
+ expression.push(chunkIndex === 0 ? chunkExpression : [_$createIntrinsic("sbr", {}), chunkExpression]);
130
+ }
131
+ return _$createIntrinsic("group", {
132
+ get children() {
133
+ return _$createIntrinsic("indent", {
134
+ children: expression
135
+ });
136
+ }
137
+ });
138
+ });
139
+ }
140
+ function formatNonCallChain(parts) {
141
+ return computed(() => {
142
+ const expression = [];
143
+ for (let i = 0; i < parts.length; i++) {
144
+ const part = parts[i];
145
+ const base = isIdPart(part) ? part.id : part.indexerArgs;
146
+ if (i === 0) {
147
+ expression.push(base, _$createComponent(TypeArgs, {
148
+ get args() {
149
+ return part.typeArgs;
150
+ }
151
+ }));
152
+ } else {
153
+ // Determine if we should use nullish operator from previous part
154
+ const prevPart = parts[i - 1];
155
+ if (isArgsPart(part)) {
156
+ // For parts with only args (no name), append function call directly with appropriate nullish operator
157
+ expression.push(formatCallExpr(prevPart, part));
158
+ } else if (isIdPart(part)) {
159
+ expression.push(formatMemberAccess(prevPart, part));
160
+ } else {
161
+ // bracket notation - don't include the dot
162
+ expression.push(formatElementAccess(prevPart, part));
163
+ }
164
+ }
165
+ }
166
+ return expression;
167
+ });
168
+ }
169
+ function formatElementAccess(prevPart, part) {
170
+ return _$createIntrinsic("group", {
171
+ get children() {
172
+ return [_$memo(() => part.conditional || "nullable" in prevPart && prevPart.nullable ? "?" : ""), "[", _$createIntrinsic("indent", {
173
+ get children() {
174
+ return [_$createIntrinsic("sbr", {}), _$createComponent(For, {
175
+ get each() {
176
+ return part.indexerArgs;
177
+ },
178
+ comma: true,
179
+ line: true,
180
+ children: arg => arg
181
+ })];
182
+ }
183
+ }), _$createIntrinsic("sbr", {}), "]"];
184
+ }
185
+ });
186
+ }
187
+ function formatMemberAccess(prevPart, part, noIndent = false) {
188
+ let Wrapping;
189
+ if (noIndent) {
190
+ Wrapping = function (props) {
191
+ return _$createIntrinsic("group", {
192
+ get children() {
193
+ return [_$createIntrinsic("sbr", {}), _$memo(() => props.children)];
194
+ }
195
+ });
196
+ };
197
+ } else {
198
+ Wrapping = function (props) {
199
+ return _$createIntrinsic("group", {
200
+ get children() {
201
+ return _$createIntrinsic("indent", {
202
+ get children() {
203
+ return [_$createIntrinsic("sbr", {}), _$memo(() => props.children)];
204
+ }
205
+ });
206
+ }
207
+ });
208
+ };
209
+ }
210
+ return _$createComponent(Wrapping, {
211
+ get children() {
212
+ return [_$memo(() => part.conditional || "nullable" in prevPart && prevPart.nullable ? "?." : "."), _$memo(() => isIdPart(part) ? part.id : part.indexerArgs), _$createComponent(TypeArgs, {
213
+ get args() {
214
+ return part.typeArgs;
215
+ }
216
+ })];
217
+ }
218
+ });
219
+ }
220
+ function TypeArgs(props) {
221
+ return _$createComponent(Show, {
222
+ get when() {
223
+ return props.args && props.args.length > 0;
224
+ },
225
+ get children() {
226
+ return ["<", _$createIntrinsic("group", {
227
+ get children() {
228
+ return [_$createIntrinsic("indent", {
229
+ get children() {
230
+ return [_$createIntrinsic("sbr", {}), _$createComponent(For, {
231
+ get each() {
232
+ return props.args;
233
+ },
234
+ comma: true,
235
+ line: true,
236
+ children: arg => arg
237
+ })];
238
+ }
239
+ }), _$createIntrinsic("sbr", {})];
240
+ }
241
+ }), ">"];
242
+ }
243
+ });
244
+ }
245
+ function formatCallExpr(prevPart, part) {
246
+ return _$createIntrinsic("group", {
247
+ get children() {
248
+ return ["(", _$createComponent(Show, {
249
+ get when() {
250
+ return part.args.length <= 1;
251
+ },
252
+ get children() {
253
+ return part.args[0];
254
+ }
255
+ }), _$createComponent(Show, {
256
+ get when() {
257
+ return part.args.length > 1;
258
+ },
259
+ get children() {
260
+ return [_$createIntrinsic("indent", {
261
+ get children() {
262
+ return [_$createIntrinsic("sbr", {}), _$createComponent(For, {
263
+ get each() {
264
+ return part.args;
265
+ },
266
+ comma: true,
267
+ line: true,
268
+ children: arg => arg
269
+ })];
270
+ }
271
+ }), _$createIntrinsic("sbr", {})];
272
+ }
273
+ }), ")"];
274
+ }
275
+ });
276
+ }
277
+ //# sourceMappingURL=access-expression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["childrenArray","computed","For","isComponentCreator","Show","takeSymbols","childrenToPartDescriptors","isArgsPart","isIdPart","AccessExpression","props","children","flattenAccessExpression","parts","length","isCallChain","callCount","part","value","formatCallChain","formatNonCallChain","flattened","child","push","Part","expression","chunks","partIndex","pushPart","Error","at","pushChunk","chunkIndex","chunk","chunkExpression","firstPart","id","indexerArgs","prevPart","formatCallExpr","formatMemberAccess","formatElementAccess","_$createIntrinsic","i","base","_$createComponent","TypeArgs","args","typeArgs","_$memo","conditional","nullable","each","comma","line","arg","noIndent","Wrapping","when"],"sources":["../../../../src/components/access-expression/access-expression.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=access-expression.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-expression.test.d.ts","sourceRoot":"","sources":["../../../../src/components/access-expression/access-expression.test.tsx"],"names":[],"mappings":""}