@alloy-js/core 0.3.0 → 0.4.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.
Files changed (136) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/src/binder.d.ts +28 -5
  3. package/dist/src/binder.d.ts.map +1 -1
  4. package/dist/src/binder.js +107 -7
  5. package/dist/src/binder.js.map +1 -1
  6. package/dist/src/components/Declaration.d.ts +1 -1
  7. package/dist/src/components/Declaration.d.ts.map +1 -1
  8. package/dist/src/components/Declaration.js.map +1 -1
  9. package/dist/src/components/Indent.d.ts +1 -1
  10. package/dist/src/components/Indent.d.ts.map +1 -1
  11. package/dist/src/components/Indent.js.map +1 -1
  12. package/dist/src/components/MemberDeclaration.d.ts +1 -1
  13. package/dist/src/components/MemberDeclaration.d.ts.map +1 -1
  14. package/dist/src/components/MemberDeclaration.js.map +1 -1
  15. package/dist/src/components/MemberScope.d.ts +1 -1
  16. package/dist/src/components/MemberScope.d.ts.map +1 -1
  17. package/dist/src/components/Output.d.ts +1 -1
  18. package/dist/src/components/Output.d.ts.map +1 -1
  19. package/dist/src/components/Output.js +5 -3
  20. package/dist/src/components/Output.js.map +1 -1
  21. package/dist/src/components/Scope.d.ts +1 -1
  22. package/dist/src/components/Scope.d.ts.map +1 -1
  23. package/dist/src/components/Scope.js.map +1 -1
  24. package/dist/src/components/SourceDirectory.d.ts +1 -1
  25. package/dist/src/components/SourceDirectory.d.ts.map +1 -1
  26. package/dist/src/components/SourceDirectory.js +1 -1
  27. package/dist/src/components/SourceDirectory.js.map +1 -1
  28. package/dist/src/components/SourceFile.d.ts +1 -1
  29. package/dist/src/components/SourceFile.d.ts.map +1 -1
  30. package/dist/src/components/SourceFile.js +1 -1
  31. package/dist/src/components/SourceFile.js.map +1 -1
  32. package/dist/src/context/assignment.d.ts.map +1 -1
  33. package/dist/src/context/assignment.js +2 -2
  34. package/dist/src/context/assignment.js.map +1 -1
  35. package/dist/src/context/binder.d.ts.map +1 -1
  36. package/dist/src/context/binder.js +2 -2
  37. package/dist/src/context/binder.js.map +1 -1
  38. package/dist/src/context/declaration.d.ts.map +1 -1
  39. package/dist/src/context/declaration.js +2 -2
  40. package/dist/src/context/declaration.js.map +1 -1
  41. package/dist/src/context/indent.d.ts.map +1 -1
  42. package/dist/src/context/indent.js +2 -2
  43. package/dist/src/context/indent.js.map +1 -1
  44. package/dist/src/context/member-declaration.d.ts.map +1 -1
  45. package/dist/src/context/member-declaration.js +2 -2
  46. package/dist/src/context/member-declaration.js.map +1 -1
  47. package/dist/src/context/member-scope.d.ts.map +1 -1
  48. package/dist/src/context/member-scope.js +2 -2
  49. package/dist/src/context/member-scope.js.map +1 -1
  50. package/dist/src/context/name-policy.d.ts.map +1 -1
  51. package/dist/src/context/name-policy.js +2 -2
  52. package/dist/src/context/name-policy.js.map +1 -1
  53. package/dist/src/context/scope.d.ts.map +1 -1
  54. package/dist/src/context/scope.js +2 -2
  55. package/dist/src/context/scope.js.map +1 -1
  56. package/dist/src/context/source-directory.d.ts.map +1 -1
  57. package/dist/src/context/source-directory.js +2 -2
  58. package/dist/src/context/source-directory.js.map +1 -1
  59. package/dist/src/context/source-file.d.ts.map +1 -1
  60. package/dist/src/context/source-file.js +2 -2
  61. package/dist/src/context/source-file.js.map +1 -1
  62. package/dist/src/context.d.ts +5 -2
  63. package/dist/src/context.d.ts.map +1 -1
  64. package/dist/src/context.js +11 -4
  65. package/dist/src/context.js.map +1 -1
  66. package/dist/src/debug.d.ts +14 -0
  67. package/dist/src/debug.d.ts.map +1 -0
  68. package/dist/src/debug.js +163 -0
  69. package/dist/src/debug.js.map +1 -0
  70. package/dist/src/index.d.ts +2 -1
  71. package/dist/src/index.d.ts.map +1 -1
  72. package/dist/src/index.js +2 -1
  73. package/dist/src/index.js.map +1 -1
  74. package/dist/src/jsx-runtime.d.ts +6 -2
  75. package/dist/src/jsx-runtime.d.ts.map +1 -1
  76. package/dist/src/jsx-runtime.js +8 -6
  77. package/dist/src/jsx-runtime.js.map +1 -1
  78. package/dist/src/render.d.ts +1 -1
  79. package/dist/src/render.d.ts.map +1 -1
  80. package/dist/src/render.js +3 -3
  81. package/dist/src/render.js.map +1 -1
  82. package/dist/src/slot.d.ts +15 -0
  83. package/dist/src/slot.d.ts.map +1 -0
  84. package/dist/src/slot.js +51 -0
  85. package/dist/src/slot.js.map +1 -0
  86. package/dist/src/utils.d.ts +2 -7
  87. package/dist/src/utils.d.ts.map +1 -1
  88. package/dist/src/utils.js +1 -34
  89. package/dist/src/utils.js.map +1 -1
  90. package/dist/src/write-output.browser.d.ts +2 -0
  91. package/dist/src/write-output.browser.d.ts.map +1 -0
  92. package/dist/src/write-output.browser.js +4 -0
  93. package/dist/src/write-output.browser.js.map +1 -0
  94. package/dist/src/write-output.d.ts +7 -0
  95. package/dist/src/write-output.d.ts.map +1 -0
  96. package/dist/src/write-output.js +34 -0
  97. package/dist/src/write-output.js.map +1 -0
  98. package/dist/test/components/slot.test.d.ts +2 -0
  99. package/dist/test/components/slot.test.d.ts.map +1 -0
  100. package/dist/testing/render.d.ts +1 -1
  101. package/dist/testing/render.d.ts.map +1 -1
  102. package/dist/tsconfig.tsbuildinfo +1 -1
  103. package/package.json +8 -5
  104. package/src/binder.ts +181 -6
  105. package/src/components/Declaration.tsx +1 -1
  106. package/src/components/Indent.tsx +1 -1
  107. package/src/components/MemberDeclaration.tsx +1 -1
  108. package/src/components/MemberScope.tsx +1 -1
  109. package/src/components/Output.tsx +3 -2
  110. package/src/components/Scope.tsx +1 -1
  111. package/src/components/SourceDirectory.tsx +1 -1
  112. package/src/components/SourceFile.tsx +1 -5
  113. package/src/context/assignment.ts +6 -2
  114. package/src/context/binder.ts +7 -2
  115. package/src/context/declaration.ts +2 -2
  116. package/src/context/indent.ts +13 -6
  117. package/src/context/member-declaration.ts +2 -2
  118. package/src/context/member-scope.ts +6 -2
  119. package/src/context/name-policy.ts +6 -2
  120. package/src/context/scope.ts +7 -2
  121. package/src/context/source-directory.ts +2 -2
  122. package/src/context/source-file.ts +2 -2
  123. package/src/context.ts +15 -4
  124. package/src/debug.ts +209 -0
  125. package/src/index.ts +2 -1
  126. package/src/jsx-runtime.ts +19 -8
  127. package/src/render.ts +8 -8
  128. package/src/slot.ts +90 -0
  129. package/src/utils.ts +2 -34
  130. package/src/write-output.browser.ts +3 -0
  131. package/src/write-output.ts +33 -0
  132. package/temp/api.json +575 -69
  133. package/test/components/slot.test.tsx +172 -0
  134. package/test/rendering/basic.test.tsx +1 -1
  135. package/test/symbols.test.ts +102 -0
  136. package/testing/render.ts +1 -1
package/temp/api.json CHANGED
@@ -604,10 +604,233 @@
604
604
  ],
605
605
  "name": "createSymbol"
606
606
  },
607
+ {
608
+ "kind": "MethodSignature",
609
+ "canonicalReference": "@alloy-js/core!Binder#findScopeName:member(1)",
610
+ "docComment": "",
611
+ "excerptTokens": [
612
+ {
613
+ "kind": "Content",
614
+ "text": "findScopeName<TScope extends "
615
+ },
616
+ {
617
+ "kind": "Reference",
618
+ "text": "OutputScope",
619
+ "canonicalReference": "@alloy-js/core!OutputScope:interface"
620
+ },
621
+ {
622
+ "kind": "Content",
623
+ "text": " = "
624
+ },
625
+ {
626
+ "kind": "Reference",
627
+ "text": "OutputScope",
628
+ "canonicalReference": "@alloy-js/core!OutputScope:interface"
629
+ },
630
+ {
631
+ "kind": "Content",
632
+ "text": ">(currentScope: "
633
+ },
634
+ {
635
+ "kind": "Content",
636
+ "text": "TScope | undefined"
637
+ },
638
+ {
639
+ "kind": "Content",
640
+ "text": ", name: "
641
+ },
642
+ {
643
+ "kind": "Content",
644
+ "text": "string"
645
+ },
646
+ {
647
+ "kind": "Content",
648
+ "text": "): "
649
+ },
650
+ {
651
+ "kind": "Reference",
652
+ "text": "Ref",
653
+ "canonicalReference": "@vue/reactivity!Ref:interface"
654
+ },
655
+ {
656
+ "kind": "Content",
657
+ "text": "<TScope | undefined>"
658
+ },
659
+ {
660
+ "kind": "Content",
661
+ "text": ";"
662
+ }
663
+ ],
664
+ "isOptional": false,
665
+ "returnTypeTokenRange": {
666
+ "startIndex": 9,
667
+ "endIndex": 11
668
+ },
669
+ "releaseTag": "Public",
670
+ "overloadIndex": 1,
671
+ "parameters": [
672
+ {
673
+ "parameterName": "currentScope",
674
+ "parameterTypeTokenRange": {
675
+ "startIndex": 5,
676
+ "endIndex": 6
677
+ },
678
+ "isOptional": false
679
+ },
680
+ {
681
+ "parameterName": "name",
682
+ "parameterTypeTokenRange": {
683
+ "startIndex": 7,
684
+ "endIndex": 8
685
+ },
686
+ "isOptional": false
687
+ }
688
+ ],
689
+ "typeParameters": [
690
+ {
691
+ "typeParameterName": "TScope",
692
+ "constraintTokenRange": {
693
+ "startIndex": 1,
694
+ "endIndex": 2
695
+ },
696
+ "defaultTypeTokenRange": {
697
+ "startIndex": 3,
698
+ "endIndex": 4
699
+ }
700
+ }
701
+ ],
702
+ "name": "findScopeName"
703
+ },
704
+ {
705
+ "kind": "MethodSignature",
706
+ "canonicalReference": "@alloy-js/core!Binder#findSymbolName:member(1)",
707
+ "docComment": "/**\n * Find a symbol with a given name in the given scope. Returns a ref for the symbol, such that when the symbol is available, the ref value will update.\n */\n",
708
+ "excerptTokens": [
709
+ {
710
+ "kind": "Content",
711
+ "text": "findSymbolName<TScope extends "
712
+ },
713
+ {
714
+ "kind": "Reference",
715
+ "text": "OutputScope",
716
+ "canonicalReference": "@alloy-js/core!OutputScope:interface"
717
+ },
718
+ {
719
+ "kind": "Content",
720
+ "text": " = "
721
+ },
722
+ {
723
+ "kind": "Reference",
724
+ "text": "OutputScope",
725
+ "canonicalReference": "@alloy-js/core!OutputScope:interface"
726
+ },
727
+ {
728
+ "kind": "Content",
729
+ "text": ", TSymbol extends "
730
+ },
731
+ {
732
+ "kind": "Reference",
733
+ "text": "OutputSymbol",
734
+ "canonicalReference": "@alloy-js/core!OutputSymbol:interface"
735
+ },
736
+ {
737
+ "kind": "Content",
738
+ "text": " = "
739
+ },
740
+ {
741
+ "kind": "Reference",
742
+ "text": "OutputSymbol",
743
+ "canonicalReference": "@alloy-js/core!OutputSymbol:interface"
744
+ },
745
+ {
746
+ "kind": "Content",
747
+ "text": ">(currentScope: "
748
+ },
749
+ {
750
+ "kind": "Content",
751
+ "text": "TScope | undefined"
752
+ },
753
+ {
754
+ "kind": "Content",
755
+ "text": ", name: "
756
+ },
757
+ {
758
+ "kind": "Content",
759
+ "text": "string"
760
+ },
761
+ {
762
+ "kind": "Content",
763
+ "text": "): "
764
+ },
765
+ {
766
+ "kind": "Reference",
767
+ "text": "Ref",
768
+ "canonicalReference": "@vue/reactivity!Ref:interface"
769
+ },
770
+ {
771
+ "kind": "Content",
772
+ "text": "<TSymbol | undefined>"
773
+ },
774
+ {
775
+ "kind": "Content",
776
+ "text": ";"
777
+ }
778
+ ],
779
+ "isOptional": false,
780
+ "returnTypeTokenRange": {
781
+ "startIndex": 13,
782
+ "endIndex": 15
783
+ },
784
+ "releaseTag": "Public",
785
+ "overloadIndex": 1,
786
+ "parameters": [
787
+ {
788
+ "parameterName": "currentScope",
789
+ "parameterTypeTokenRange": {
790
+ "startIndex": 9,
791
+ "endIndex": 10
792
+ },
793
+ "isOptional": false
794
+ },
795
+ {
796
+ "parameterName": "name",
797
+ "parameterTypeTokenRange": {
798
+ "startIndex": 11,
799
+ "endIndex": 12
800
+ },
801
+ "isOptional": false
802
+ }
803
+ ],
804
+ "typeParameters": [
805
+ {
806
+ "typeParameterName": "TScope",
807
+ "constraintTokenRange": {
808
+ "startIndex": 1,
809
+ "endIndex": 2
810
+ },
811
+ "defaultTypeTokenRange": {
812
+ "startIndex": 3,
813
+ "endIndex": 4
814
+ }
815
+ },
816
+ {
817
+ "typeParameterName": "TSymbol",
818
+ "constraintTokenRange": {
819
+ "startIndex": 5,
820
+ "endIndex": 6
821
+ },
822
+ "defaultTypeTokenRange": {
823
+ "startIndex": 7,
824
+ "endIndex": 8
825
+ }
826
+ }
827
+ ],
828
+ "name": "findSymbolName"
829
+ },
607
830
  {
608
831
  "kind": "PropertySignature",
609
832
  "canonicalReference": "@alloy-js/core!Binder#globalScope:member",
610
- "docComment": "",
833
+ "docComment": "/**\n * The global scope. This is the root scope for all symbols.\n */\n",
611
834
  "excerptTokens": [
612
835
  {
613
836
  "kind": "Content",
@@ -746,42 +969,168 @@
746
969
  },
747
970
  {
748
971
  "kind": "Content",
749
- "text": ", currentMemberScope: "
972
+ "text": ", currentMemberScope: "
973
+ },
974
+ {
975
+ "kind": "Content",
976
+ "text": "TScope | undefined"
977
+ },
978
+ {
979
+ "kind": "Content",
980
+ "text": ", key: "
981
+ },
982
+ {
983
+ "kind": "Reference",
984
+ "text": "Refkey",
985
+ "canonicalReference": "@alloy-js/core!Refkey:type"
986
+ },
987
+ {
988
+ "kind": "Content",
989
+ "text": "): "
990
+ },
991
+ {
992
+ "kind": "Reference",
993
+ "text": "Ref",
994
+ "canonicalReference": "@vue/reactivity!Ref:interface"
995
+ },
996
+ {
997
+ "kind": "Content",
998
+ "text": "<"
999
+ },
1000
+ {
1001
+ "kind": "Reference",
1002
+ "text": "ResolutionResult",
1003
+ "canonicalReference": "@alloy-js/core!ResolutionResult:interface"
1004
+ },
1005
+ {
1006
+ "kind": "Content",
1007
+ "text": "<TScope, TSymbol> | undefined>"
1008
+ },
1009
+ {
1010
+ "kind": "Content",
1011
+ "text": ";"
1012
+ }
1013
+ ],
1014
+ "isOptional": false,
1015
+ "returnTypeTokenRange": {
1016
+ "startIndex": 15,
1017
+ "endIndex": 19
1018
+ },
1019
+ "releaseTag": "Public",
1020
+ "overloadIndex": 1,
1021
+ "parameters": [
1022
+ {
1023
+ "parameterName": "currentScope",
1024
+ "parameterTypeTokenRange": {
1025
+ "startIndex": 9,
1026
+ "endIndex": 10
1027
+ },
1028
+ "isOptional": false
1029
+ },
1030
+ {
1031
+ "parameterName": "currentMemberScope",
1032
+ "parameterTypeTokenRange": {
1033
+ "startIndex": 11,
1034
+ "endIndex": 12
1035
+ },
1036
+ "isOptional": false
1037
+ },
1038
+ {
1039
+ "parameterName": "key",
1040
+ "parameterTypeTokenRange": {
1041
+ "startIndex": 13,
1042
+ "endIndex": 14
1043
+ },
1044
+ "isOptional": false
1045
+ }
1046
+ ],
1047
+ "typeParameters": [
1048
+ {
1049
+ "typeParameterName": "TScope",
1050
+ "constraintTokenRange": {
1051
+ "startIndex": 1,
1052
+ "endIndex": 2
1053
+ },
1054
+ "defaultTypeTokenRange": {
1055
+ "startIndex": 3,
1056
+ "endIndex": 4
1057
+ }
1058
+ },
1059
+ {
1060
+ "typeParameterName": "TSymbol",
1061
+ "constraintTokenRange": {
1062
+ "startIndex": 5,
1063
+ "endIndex": 6
1064
+ },
1065
+ "defaultTypeTokenRange": {
1066
+ "startIndex": 7,
1067
+ "endIndex": 8
1068
+ }
1069
+ }
1070
+ ],
1071
+ "name": "resolveDeclarationByKey"
1072
+ },
1073
+ {
1074
+ "kind": "MethodSignature",
1075
+ "canonicalReference": "@alloy-js/core!Binder#resolveFQN:member(1)",
1076
+ "docComment": "/**\n * Resolve a fully qualified name to a symbol. Access a nested scope by name with `::`, a nested static member with `.` and a nested instance member with `#`.\n *\n * Per-language packages may provide their own resolveFQN function that uses syntax more natural to that language.\n */\n",
1077
+ "excerptTokens": [
1078
+ {
1079
+ "kind": "Content",
1080
+ "text": "resolveFQN<TScope extends "
1081
+ },
1082
+ {
1083
+ "kind": "Reference",
1084
+ "text": "OutputScope",
1085
+ "canonicalReference": "@alloy-js/core!OutputScope:interface"
1086
+ },
1087
+ {
1088
+ "kind": "Content",
1089
+ "text": " = "
1090
+ },
1091
+ {
1092
+ "kind": "Reference",
1093
+ "text": "OutputScope",
1094
+ "canonicalReference": "@alloy-js/core!OutputScope:interface"
1095
+ },
1096
+ {
1097
+ "kind": "Content",
1098
+ "text": ", TSymbol extends "
750
1099
  },
751
1100
  {
752
- "kind": "Content",
753
- "text": "TScope | undefined"
1101
+ "kind": "Reference",
1102
+ "text": "OutputSymbol",
1103
+ "canonicalReference": "@alloy-js/core!OutputSymbol:interface"
754
1104
  },
755
1105
  {
756
1106
  "kind": "Content",
757
- "text": ", key: "
1107
+ "text": " = "
758
1108
  },
759
1109
  {
760
1110
  "kind": "Reference",
761
- "text": "Refkey",
762
- "canonicalReference": "@alloy-js/core!Refkey:type"
1111
+ "text": "OutputSymbol",
1112
+ "canonicalReference": "@alloy-js/core!OutputSymbol:interface"
763
1113
  },
764
1114
  {
765
1115
  "kind": "Content",
766
- "text": "): "
1116
+ "text": ">(fqn: "
767
1117
  },
768
1118
  {
769
- "kind": "Reference",
770
- "text": "Ref",
771
- "canonicalReference": "@vue/reactivity!Ref:interface"
1119
+ "kind": "Content",
1120
+ "text": "string"
772
1121
  },
773
1122
  {
774
1123
  "kind": "Content",
775
- "text": "<"
1124
+ "text": "): "
776
1125
  },
777
1126
  {
778
1127
  "kind": "Reference",
779
- "text": "ResolutionResult",
780
- "canonicalReference": "@alloy-js/core!ResolutionResult:interface"
1128
+ "text": "Ref",
1129
+ "canonicalReference": "@vue/reactivity!Ref:interface"
781
1130
  },
782
1131
  {
783
1132
  "kind": "Content",
784
- "text": "<TScope, TSymbol> | undefined>"
1133
+ "text": "<TSymbol | TScope | undefined>"
785
1134
  },
786
1135
  {
787
1136
  "kind": "Content",
@@ -790,35 +1139,19 @@
790
1139
  ],
791
1140
  "isOptional": false,
792
1141
  "returnTypeTokenRange": {
793
- "startIndex": 15,
794
- "endIndex": 19
1142
+ "startIndex": 11,
1143
+ "endIndex": 13
795
1144
  },
796
1145
  "releaseTag": "Public",
797
1146
  "overloadIndex": 1,
798
1147
  "parameters": [
799
1148
  {
800
- "parameterName": "currentScope",
1149
+ "parameterName": "fqn",
801
1150
  "parameterTypeTokenRange": {
802
1151
  "startIndex": 9,
803
1152
  "endIndex": 10
804
1153
  },
805
1154
  "isOptional": false
806
- },
807
- {
808
- "parameterName": "currentMemberScope",
809
- "parameterTypeTokenRange": {
810
- "startIndex": 11,
811
- "endIndex": 12
812
- },
813
- "isOptional": false
814
- },
815
- {
816
- "parameterName": "key",
817
- "parameterTypeTokenRange": {
818
- "startIndex": 13,
819
- "endIndex": 14
820
- },
821
- "isOptional": false
822
1155
  }
823
1156
  ],
824
1157
  "typeParameters": [
@@ -845,7 +1178,7 @@
845
1178
  }
846
1179
  }
847
1180
  ],
848
- "name": "resolveDeclarationByKey"
1181
+ "name": "resolveFQN"
849
1182
  }
850
1183
  ],
851
1184
  "extendsTokenRanges": []
@@ -1424,6 +1757,33 @@
1424
1757
  "endIndex": 2
1425
1758
  }
1426
1759
  },
1760
+ {
1761
+ "kind": "PropertySignature",
1762
+ "canonicalReference": "@alloy-js/core!ComponentContext#name:member",
1763
+ "docComment": "",
1764
+ "excerptTokens": [
1765
+ {
1766
+ "kind": "Content",
1767
+ "text": "name?: "
1768
+ },
1769
+ {
1770
+ "kind": "Content",
1771
+ "text": "string"
1772
+ },
1773
+ {
1774
+ "kind": "Content",
1775
+ "text": ";"
1776
+ }
1777
+ ],
1778
+ "isReadonly": false,
1779
+ "isOptional": true,
1780
+ "releaseTag": "Public",
1781
+ "name": "name",
1782
+ "propertyTypeTokenRange": {
1783
+ "startIndex": 1,
1784
+ "endIndex": 2
1785
+ }
1786
+ },
1427
1787
  {
1428
1788
  "kind": "PropertySignature",
1429
1789
  "canonicalReference": "@alloy-js/core!ComponentContext#Provider:member",
@@ -1739,6 +2099,38 @@
1739
2099
  "name": "Context",
1740
2100
  "preserveMemberOrder": false,
1741
2101
  "members": [
2102
+ {
2103
+ "kind": "PropertySignature",
2104
+ "canonicalReference": "@alloy-js/core!Context#componentOwner:member",
2105
+ "docComment": "/**\n * When this context was created by a component, this will be the component that created it.\n */\n",
2106
+ "excerptTokens": [
2107
+ {
2108
+ "kind": "Content",
2109
+ "text": "componentOwner?: "
2110
+ },
2111
+ {
2112
+ "kind": "Reference",
2113
+ "text": "ComponentCreator",
2114
+ "canonicalReference": "@alloy-js/core!ComponentCreator:interface"
2115
+ },
2116
+ {
2117
+ "kind": "Content",
2118
+ "text": "<unknown>"
2119
+ },
2120
+ {
2121
+ "kind": "Content",
2122
+ "text": ";"
2123
+ }
2124
+ ],
2125
+ "isReadonly": false,
2126
+ "isOptional": true,
2127
+ "releaseTag": "Public",
2128
+ "name": "componentOwner",
2129
+ "propertyTypeTokenRange": {
2130
+ "startIndex": 1,
2131
+ "endIndex": 3
2132
+ }
2133
+ },
1742
2134
  {
1743
2135
  "kind": "PropertySignature",
1744
2136
  "canonicalReference": "@alloy-js/core!Context#context:member",
@@ -1964,6 +2356,43 @@
1964
2356
  ],
1965
2357
  "extendsTokenRanges": []
1966
2358
  },
2359
+ {
2360
+ "kind": "Variable",
2361
+ "canonicalReference": "@alloy-js/core!contextsByKey:var",
2362
+ "docComment": "",
2363
+ "excerptTokens": [
2364
+ {
2365
+ "kind": "Content",
2366
+ "text": "contextsByKey: "
2367
+ },
2368
+ {
2369
+ "kind": "Reference",
2370
+ "text": "Map",
2371
+ "canonicalReference": "!Map:interface"
2372
+ },
2373
+ {
2374
+ "kind": "Content",
2375
+ "text": "<symbol, "
2376
+ },
2377
+ {
2378
+ "kind": "Reference",
2379
+ "text": "ComponentContext",
2380
+ "canonicalReference": "@alloy-js/core!ComponentContext:interface"
2381
+ },
2382
+ {
2383
+ "kind": "Content",
2384
+ "text": "<any>>"
2385
+ }
2386
+ ],
2387
+ "fileUrlPath": "src/context.ts",
2388
+ "isReadonly": true,
2389
+ "releaseTag": "Public",
2390
+ "name": "contextsByKey",
2391
+ "variableTypeTokenRange": {
2392
+ "startIndex": 1,
2393
+ "endIndex": 5
2394
+ }
2395
+ },
1967
2396
  {
1968
2397
  "kind": "Function",
1969
2398
  "canonicalReference": "@alloy-js/core!createAssignmentContext:function(1)",
@@ -2134,6 +2563,14 @@
2134
2563
  "kind": "Content",
2135
2564
  "text": "T"
2136
2565
  },
2566
+ {
2567
+ "kind": "Content",
2568
+ "text": ", name?: "
2569
+ },
2570
+ {
2571
+ "kind": "Content",
2572
+ "text": "string"
2573
+ },
2137
2574
  {
2138
2575
  "kind": "Content",
2139
2576
  "text": "): "
@@ -2154,8 +2591,8 @@
2154
2591
  ],
2155
2592
  "fileUrlPath": "src/context.ts",
2156
2593
  "returnTypeTokenRange": {
2157
- "startIndex": 5,
2158
- "endIndex": 7
2594
+ "startIndex": 7,
2595
+ "endIndex": 9
2159
2596
  },
2160
2597
  "releaseTag": "Public",
2161
2598
  "overloadIndex": 1,
@@ -2167,6 +2604,14 @@
2167
2604
  "endIndex": 4
2168
2605
  },
2169
2606
  "isOptional": true
2607
+ },
2608
+ {
2609
+ "parameterName": "name",
2610
+ "parameterTypeTokenRange": {
2611
+ "startIndex": 5,
2612
+ "endIndex": 6
2613
+ },
2614
+ "isOptional": true
2170
2615
  }
2171
2616
  ],
2172
2617
  "typeParameters": [
@@ -2184,6 +2629,85 @@
2184
2629
  ],
2185
2630
  "name": "createContext"
2186
2631
  },
2632
+ {
2633
+ "kind": "Function",
2634
+ "canonicalReference": "@alloy-js/core!createNamedContext:function(1)",
2635
+ "docComment": "",
2636
+ "excerptTokens": [
2637
+ {
2638
+ "kind": "Content",
2639
+ "text": "export declare function createNamedContext<T>(name: "
2640
+ },
2641
+ {
2642
+ "kind": "Content",
2643
+ "text": "string"
2644
+ },
2645
+ {
2646
+ "kind": "Content",
2647
+ "text": ", defaultValue?: "
2648
+ },
2649
+ {
2650
+ "kind": "Content",
2651
+ "text": "T"
2652
+ },
2653
+ {
2654
+ "kind": "Content",
2655
+ "text": "): "
2656
+ },
2657
+ {
2658
+ "kind": "Reference",
2659
+ "text": "ComponentContext",
2660
+ "canonicalReference": "@alloy-js/core!ComponentContext:interface"
2661
+ },
2662
+ {
2663
+ "kind": "Content",
2664
+ "text": "<T>"
2665
+ },
2666
+ {
2667
+ "kind": "Content",
2668
+ "text": ";"
2669
+ }
2670
+ ],
2671
+ "fileUrlPath": "src/context.ts",
2672
+ "returnTypeTokenRange": {
2673
+ "startIndex": 5,
2674
+ "endIndex": 7
2675
+ },
2676
+ "releaseTag": "Public",
2677
+ "overloadIndex": 1,
2678
+ "parameters": [
2679
+ {
2680
+ "parameterName": "name",
2681
+ "parameterTypeTokenRange": {
2682
+ "startIndex": 1,
2683
+ "endIndex": 2
2684
+ },
2685
+ "isOptional": false
2686
+ },
2687
+ {
2688
+ "parameterName": "defaultValue",
2689
+ "parameterTypeTokenRange": {
2690
+ "startIndex": 3,
2691
+ "endIndex": 4
2692
+ },
2693
+ "isOptional": true
2694
+ }
2695
+ ],
2696
+ "typeParameters": [
2697
+ {
2698
+ "typeParameterName": "T",
2699
+ "constraintTokenRange": {
2700
+ "startIndex": 0,
2701
+ "endIndex": 0
2702
+ },
2703
+ "defaultTypeTokenRange": {
2704
+ "startIndex": 0,
2705
+ "endIndex": 0
2706
+ }
2707
+ }
2708
+ ],
2709
+ "name": "createNamedContext"
2710
+ },
2187
2711
  {
2188
2712
  "kind": "Function",
2189
2713
  "canonicalReference": "@alloy-js/core!createNamePolicy:function(1)",
@@ -2669,7 +3193,7 @@
2669
3193
  },
2670
3194
  {
2671
3195
  "kind": "Content",
2672
- "text": "<import(\"@alloy-js/core/jsx-runtime\")."
3196
+ "text": "<import(\"./jsx-runtime.js\")."
2673
3197
  },
2674
3198
  {
2675
3199
  "kind": "Reference",
@@ -6832,7 +7356,7 @@
6832
7356
  {
6833
7357
  "kind": "Interface",
6834
7358
  "canonicalReference": "@alloy-js/core!ResolutionResult:interface",
6835
- "docComment": "/**\n * A successful resolution of a refkey.\n *\n * @example\n *\n * Let's say we have the following scopes and symbols:\n * ```\n * scope: global scope\n * ├── scope: namespace scope 1\n * │ └── symbol: foo\n * │ └── static member scope\n * │ └── symbol: bar\n * └── scope: namespace scope 2\n * └── (resolve bar from here)\n * ```\n *\n * When we resolve the refkey for `bar` from within `namespace scope 2`, we will get the following resolution result:\n *\n * * **targetDeclaration**: symbol bar, the symbol we resolved. * **commonScope**: global scope, because this is the most specific scope that contains both the declaration and the reference. * **pathUp**: [namespace scope 2], because this is the scope between the reference and the common scope. * **pathDown**: [namespace scope 1], because this is the scope between the common scope and the declaration * **memberPath**: [foo, bar], because we resolved a member symbol and these are the symbols that lead from the base declaration to the member symbol.\n */\n",
7359
+ "docComment": "/**\n * A successful resolution of a refkey.\n *\n * @example\n *\n * Let's say we have the following scopes and symbols:\n * ```\n * scope: global scope\n * ├── scope: namespace scope 1\n * │ └── symbol: foo\n * │ └── static member scope\n * │ └── symbol: bar\n * └── scope: namespace scope 2\n * └── (resolve bar from here)\n * ```\n *\n * When we resolve the refkey for `bar` from within `namespace scope 2`, we will get the following resolution result:\n *\n * **targetDeclaration**: symbol bar, the symbol we resolved.\n *\n * **commonScope**: global scope, because this is the most specific scope that contains both the declaration and the reference.\n *\n * **pathUp**: [namespace scope 2], because this is the scope between the reference and the common scope.\n *\n * **pathDown**: [namespace scope 1], because this is the scope between the common scope and the declaration\n *\n * **memberPath**: [foo, bar], because we resolved a member symbol and these are the symbols that lead from the base declaration to the member symbol.\n */\n",
6836
7360
  "excerptTokens": [
6837
7361
  {
6838
7362
  "kind": "Content",
@@ -7150,11 +7674,16 @@
7150
7674
  },
7151
7675
  {
7152
7676
  "kind": "Content",
7153
- "text": ", src?: "
7677
+ "text": ", componentOwner?: "
7678
+ },
7679
+ {
7680
+ "kind": "Reference",
7681
+ "text": "ComponentCreator",
7682
+ "canonicalReference": "@alloy-js/core!ComponentCreator:interface"
7154
7683
  },
7155
7684
  {
7156
7685
  "kind": "Content",
7157
- "text": "string"
7686
+ "text": "<any>"
7158
7687
  },
7159
7688
  {
7160
7689
  "kind": "Content",
@@ -7171,8 +7700,8 @@
7171
7700
  ],
7172
7701
  "fileUrlPath": "src/jsx-runtime.ts",
7173
7702
  "returnTypeTokenRange": {
7174
- "startIndex": 7,
7175
- "endIndex": 8
7703
+ "startIndex": 8,
7704
+ "endIndex": 9
7176
7705
  },
7177
7706
  "releaseTag": "Public",
7178
7707
  "overloadIndex": 1,
@@ -7186,10 +7715,10 @@
7186
7715
  "isOptional": false
7187
7716
  },
7188
7717
  {
7189
- "parameterName": "src",
7718
+ "parameterName": "componentOwner",
7190
7719
  "parameterTypeTokenRange": {
7191
7720
  "startIndex": 5,
7192
- "endIndex": 6
7721
+ "endIndex": 7
7193
7722
  },
7194
7723
  "isOptional": true
7195
7724
  }
@@ -7420,29 +7949,6 @@
7420
7949
  ],
7421
7950
  "extendsTokenRanges": []
7422
7951
  },
7423
- {
7424
- "kind": "Variable",
7425
- "canonicalReference": "@alloy-js/core!shouldDebug:var",
7426
- "docComment": "",
7427
- "excerptTokens": [
7428
- {
7429
- "kind": "Content",
7430
- "text": "shouldDebug: "
7431
- },
7432
- {
7433
- "kind": "Content",
7434
- "text": "boolean"
7435
- }
7436
- ],
7437
- "fileUrlPath": "src/jsx-runtime.ts",
7438
- "isReadonly": true,
7439
- "releaseTag": "Public",
7440
- "name": "shouldDebug",
7441
- "variableTypeTokenRange": {
7442
- "startIndex": 1,
7443
- "endIndex": 2
7444
- }
7445
- },
7446
7952
  {
7447
7953
  "kind": "Function",
7448
7954
  "canonicalReference": "@alloy-js/core!SourceDirectory:function(1)",
@@ -8834,7 +9340,7 @@
8834
9340
  "text": ";"
8835
9341
  }
8836
9342
  ],
8837
- "fileUrlPath": "src/utils.ts",
9343
+ "fileUrlPath": "src/write-output.ts",
8838
9344
  "returnTypeTokenRange": {
8839
9345
  "startIndex": 5,
8840
9346
  "endIndex": 6