@alloy-js/core 0.6.0 → 0.8.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 (137) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/babel.config.cjs +1 -4
  3. package/dist/src/binder.d.ts +15 -13
  4. package/dist/src/binder.d.ts.map +1 -1
  5. package/dist/src/binder.js +34 -34
  6. package/dist/src/binder.js.map +1 -1
  7. package/dist/src/code.d.ts +11 -2
  8. package/dist/src/code.d.ts.map +1 -1
  9. package/dist/src/code.js +27 -2
  10. package/dist/src/code.js.map +1 -1
  11. package/dist/src/components/Block.d.ts +2 -2
  12. package/dist/src/components/Block.d.ts.map +1 -1
  13. package/dist/src/components/Block.js +6 -5
  14. package/dist/src/components/Block.js.map +1 -1
  15. package/dist/src/components/Declaration.d.ts +31 -7
  16. package/dist/src/components/Declaration.d.ts.map +1 -1
  17. package/dist/src/components/Declaration.js +15 -7
  18. package/dist/src/components/Declaration.js.map +1 -1
  19. package/dist/src/components/For.d.ts +6 -0
  20. package/dist/src/components/For.d.ts.map +1 -1
  21. package/dist/src/components/For.js +2 -3
  22. package/dist/src/components/For.js.map +1 -1
  23. package/dist/src/components/Indent.d.ts +29 -1
  24. package/dist/src/components/Indent.d.ts.map +1 -1
  25. package/dist/src/components/Indent.js +7 -2
  26. package/dist/src/components/Indent.js.map +1 -1
  27. package/dist/src/components/List.d.ts +7 -3
  28. package/dist/src/components/List.d.ts.map +1 -1
  29. package/dist/src/components/List.js +1 -16
  30. package/dist/src/components/List.js.map +1 -1
  31. package/dist/src/components/MemberDeclaration.d.ts +35 -5
  32. package/dist/src/components/MemberDeclaration.d.ts.map +1 -1
  33. package/dist/src/components/MemberDeclaration.js +18 -7
  34. package/dist/src/components/MemberDeclaration.js.map +1 -1
  35. package/dist/src/components/MemberScope.d.ts +2 -0
  36. package/dist/src/components/MemberScope.d.ts.map +1 -1
  37. package/dist/src/components/MemberScope.js +2 -0
  38. package/dist/src/components/MemberScope.js.map +1 -1
  39. package/dist/src/components/Prose.d.ts +10 -0
  40. package/dist/src/components/Prose.d.ts.map +1 -0
  41. package/dist/src/components/Prose.js +23 -0
  42. package/dist/src/components/Prose.js.map +1 -0
  43. package/dist/src/components/Scope.d.ts +33 -2
  44. package/dist/src/components/Scope.d.ts.map +1 -1
  45. package/dist/src/components/Scope.js +20 -4
  46. package/dist/src/components/Scope.js.map +1 -1
  47. package/dist/src/components/SourceFile.d.ts +5 -0
  48. package/dist/src/components/SourceFile.d.ts.map +1 -1
  49. package/dist/src/components/SourceFile.js +10 -1
  50. package/dist/src/components/SourceFile.js.map +1 -1
  51. package/dist/src/components/index.d.ts +1 -0
  52. package/dist/src/components/index.d.ts.map +1 -1
  53. package/dist/src/components/index.js +1 -0
  54. package/dist/src/components/index.js.map +1 -1
  55. package/dist/src/components/stc/index.d.ts +19 -95
  56. package/dist/src/components/stc/index.d.ts.map +1 -1
  57. package/dist/src/components/stc/index.js +3 -6
  58. package/dist/src/components/stc/index.js.map +1 -1
  59. package/dist/src/components/stc/sti.d.ts +9 -0
  60. package/dist/src/components/stc/sti.d.ts.map +1 -0
  61. package/dist/src/components/stc/sti.js +10 -0
  62. package/dist/src/components/stc/sti.js.map +1 -0
  63. package/dist/src/context/assignment.d.ts +6 -0
  64. package/dist/src/context/assignment.d.ts.map +1 -1
  65. package/dist/src/context/assignment.js +7 -0
  66. package/dist/src/context/assignment.js.map +1 -1
  67. package/dist/src/context.d.ts +2 -0
  68. package/dist/src/context.d.ts.map +1 -1
  69. package/dist/src/context.js +12 -9
  70. package/dist/src/context.js.map +1 -1
  71. package/dist/src/index.d.ts +1 -0
  72. package/dist/src/index.d.ts.map +1 -1
  73. package/dist/src/index.js +1 -0
  74. package/dist/src/index.js.map +1 -1
  75. package/dist/src/jsx-runtime.d.ts +98 -1
  76. package/dist/src/jsx-runtime.d.ts.map +1 -1
  77. package/dist/src/jsx-runtime.js +46 -1
  78. package/dist/src/jsx-runtime.js.map +1 -1
  79. package/dist/src/render.d.ts.map +1 -1
  80. package/dist/src/render.js +12 -0
  81. package/dist/src/render.js.map +1 -1
  82. package/dist/src/stc.d.ts +5 -7
  83. package/dist/src/stc.d.ts.map +1 -1
  84. package/dist/src/stc.js +11 -23
  85. package/dist/src/stc.js.map +1 -1
  86. package/dist/src/sti.d.ts +11 -0
  87. package/dist/src/sti.d.ts.map +1 -0
  88. package/dist/src/sti.js +31 -0
  89. package/dist/src/sti.js.map +1 -0
  90. package/dist/src/tap.d.ts +69 -6
  91. package/dist/src/tap.d.ts.map +1 -1
  92. package/dist/src/tap.js +70 -0
  93. package/dist/src/tap.js.map +1 -1
  94. package/dist/src/utils.d.ts +5 -0
  95. package/dist/src/utils.d.ts.map +1 -1
  96. package/dist/src/utils.js +20 -0
  97. package/dist/src/utils.js.map +1 -1
  98. package/dist/src/write-output.js +3 -3
  99. package/dist/src/write-output.js.map +1 -1
  100. package/dist/test/components/prose.test.d.ts +2 -0
  101. package/dist/test/components/prose.test.d.ts.map +1 -0
  102. package/dist/test/props-with-defaults.test.d.ts +2 -0
  103. package/dist/test/props-with-defaults.test.d.ts.map +1 -0
  104. package/dist/tsconfig.tsbuildinfo +1 -1
  105. package/package.json +3 -3
  106. package/src/binder.ts +46 -40
  107. package/src/code.ts +37 -3
  108. package/src/components/Block.tsx +3 -6
  109. package/src/components/Declaration.tsx +43 -11
  110. package/src/components/For.tsx +10 -3
  111. package/src/components/Indent.tsx +38 -5
  112. package/src/components/List.tsx +14 -40
  113. package/src/components/MemberDeclaration.tsx +51 -12
  114. package/src/components/MemberScope.tsx +2 -0
  115. package/src/components/Prose.tsx +35 -0
  116. package/src/components/Scope.tsx +45 -5
  117. package/src/components/SourceFile.tsx +10 -0
  118. package/src/components/index.tsx +1 -0
  119. package/src/components/stc/index.ts +3 -6
  120. package/src/components/stc/sti.ts +10 -0
  121. package/src/context/assignment.ts +7 -1
  122. package/src/context.ts +15 -11
  123. package/src/index.ts +1 -0
  124. package/src/jsx-runtime.ts +162 -0
  125. package/src/render.ts +14 -0
  126. package/src/stc.ts +35 -56
  127. package/src/sti.ts +63 -0
  128. package/src/tap.ts +69 -6
  129. package/src/{utils.ts → utils.tsx} +45 -0
  130. package/src/write-output.ts +3 -3
  131. package/temp/api.json +1563 -393
  132. package/test/components/declaration.test.tsx +1 -1
  133. package/test/components/prose.test.tsx +36 -0
  134. package/test/components/source-file.test.tsx +17 -0
  135. package/test/props-with-defaults.test.ts +97 -0
  136. package/test/symbols.test.ts +14 -33
  137. package/vitest.config.ts +2 -10
package/CHANGELOG.md CHANGED
@@ -1,5 +1,42 @@
1
1
  # Changelog - @alloy-js/core
2
2
 
3
+ ## 0.8.0
4
+
5
+ ### Bug Fixes
6
+
7
+ - [#76](https://github.com/alloy-framework/alloy/pull/76) No longer validates that instance member symbols are referenced inside the instance member scope. Languages may allow refernecing instance member symbols in a variety of ways (e.g. TypeScript allows referencing private instance symbols in a private instance symbol scope).
8
+
9
+ ### Features
10
+
11
+ - [#67](https://github.com/alloy-framework/alloy/pull/67) Add metadata record to symbols and scopes for applications to store arbitrary information about them. Various declaration and scope forms have an additional prop to set this metadata.
12
+ - [#67](https://github.com/alloy-framework/alloy/pull/67) Scope name is now optional. Many scopes don't have names.
13
+ - [#74](https://github.com/alloy-framework/alloy/pull/74) Add `defaultProps` to allow setting default prop values.
14
+ - [#66](https://github.com/alloy-framework/alloy/pull/66) Add `text` helper that processes a string template similar to a JSX template with respect to whitespace handling.
15
+ - [#66](https://github.com/alloy-framework/alloy/pull/66) Add `ProviderStc` to context for providing context inside string template components.
16
+ - [#68](https://github.com/alloy-framework/alloy/pull/68) Add `doubleHardline` as a list joiner boolean prop. Useful for markdown paragraphs or separating declarations with a blank line.
17
+ - [#69](https://github.com/alloy-framework/alloy/pull/69) Add SourceFile `header` prop.
18
+ - [#71](https://github.com/alloy-framework/alloy/pull/71) Add `skipFalsy` prop to `For` component for controlling whether to skip falsy values. Previously this defaulted to true, it now defaults to false (which likely just fixes bugs).
19
+ - [#78](https://github.com/alloy-framework/alloy/pull/78) Add `Prose` component for wrapping string paragraphs at the line width.
20
+
21
+ ### Breaking Changes
22
+
23
+ - [#67](https://github.com/alloy-framework/alloy/pull/67) Refkeys no longer default to `refkey(name)`. This behavior is just not very useful and leads to some very confusing behavior especially when multiple same-named symbols exist within a single emit. The old behavior can be achieved by passing the `refkey={refkey(name)}` prop, but this is not recommended.
24
+ - [#67](https://github.com/alloy-framework/alloy/pull/67) DeclarationProps, MemberDeclarationProps, and ScopeProps are now unions in order to properly type check and document the distinct usages of either passing a symbol or props necessary to construct a symbol. Anyone extending these interfaces will need to make a similar split.
25
+ - [#74](https://github.com/alloy-framework/alloy/pull/74) Remove plural `refkeys` prop. Can now pass an array for the `refkey` prop.
26
+ - [#68](https://github.com/alloy-framework/alloy/pull/68) Indent component no longer takes `break` prop. Instead, pass `hardline`, `softline`, `line`, or `literalline` boolean props.
27
+
28
+
29
+ ## 0.7.0
30
+
31
+ ### Bug Fixes
32
+
33
+ - [#62](https://github.com/alloy-framework/alloy/pull/62) Fix writeOutput failing to make new files
34
+
35
+ ### Breaking Changes
36
+
37
+ - [#61](https://github.com/alloy-framework/alloy/pull/61) Symbols now allow for multiple refkeys. The `refkey` property has been removed, however the refkey prop remains on declaration components and the refkey option remains for the binder's createSymbol, so the breakage should be limited to code which interacts directly with symbols."
38
+
39
+
3
40
  ## 0.6.0
4
41
 
5
42
  ### Bug Fixes
package/babel.config.cjs CHANGED
@@ -1,7 +1,4 @@
1
1
  module.exports = {
2
2
  sourceMaps: true,
3
- presets: [
4
- "@babel/preset-typescript",
5
- ["@alloy-js/babel-preset"],
6
- ],
3
+ presets: ["@babel/preset-typescript", ["@alloy-js/babel-preset"]],
7
4
  };
@@ -74,9 +74,9 @@ export interface OutputSymbol {
74
74
  */
75
75
  binder: Binder;
76
76
  /**
77
- * A unique value that references this symbol.
77
+ * The unique values that reference this symbol.
78
78
  */
79
- refkey: Refkey;
79
+ refkeys: Refkey[];
80
80
  /**
81
81
  * The instance members available on this symbol.
82
82
  *
@@ -100,6 +100,10 @@ export interface OutputSymbol {
100
100
  * one static member symbol in the output (i.e., the symbol is unique).
101
101
  */
102
102
  staticMemberScope?: OutputScope;
103
+ /**
104
+ * Additional custom metadata about this symbol.
105
+ */
106
+ metadata: Record<string, unknown>;
103
107
  }
104
108
  /**
105
109
  * Flags that describe an output scope.
@@ -143,7 +147,7 @@ export interface OutputScope {
143
147
  * The kind of scope. Subtypes will likely provide a set of known scope kinds.
144
148
  * The kind is not used by the binder itself.
145
149
  */
146
- kind: string;
150
+ kind?: string;
147
151
  /**
148
152
  * The name of the scope.
149
153
  */
@@ -185,8 +189,9 @@ export interface OutputScope {
185
189
  export type CreateSymbolOptions<T extends OutputSymbol = OutputSymbol> = {
186
190
  name: string;
187
191
  scope?: OutputScope;
188
- refkey?: Refkey;
192
+ refkey?: Refkey | Refkey[];
189
193
  flags?: OutputSymbolFlags;
194
+ metadata?: Record<string, unknown>;
190
195
  } & Omit<T, keyof OutputSymbol>;
191
196
  export type CreateScopeOptions<T extends OutputScope = OutputScope> = {
192
197
  kind: T["kind"];
@@ -194,6 +199,7 @@ export type CreateScopeOptions<T extends OutputScope = OutputScope> = {
194
199
  parent?: OutputScope | undefined;
195
200
  flags?: OutputScopeFlags;
196
201
  owner?: OutputSymbol;
202
+ metadata?: Record<string, unknown>;
197
203
  } & Omit<T, keyof OutputScope>;
198
204
  /**
199
205
  * The binder tracks all output scopes and symbols. Scopes are nested containers
@@ -293,15 +299,11 @@ export interface Binder {
293
299
  * When we resolve the refkey for `bar` from within `namespace scope 2`, we will get the following
294
300
  * resolution result:
295
301
  *
296
- * **targetDeclaration**: symbol bar, the symbol we resolved.
297
- *
298
- * **commonScope**: global scope, because this is the most specific scope that contains both the declaration and the reference.
299
- *
300
- * **pathUp**: [namespace scope 2], because this is the scope between the reference and the common scope.
301
- *
302
- * **pathDown**: [namespace scope 1], because this is the scope between the common scope and the declaration
303
- *
304
- * **memberPath**: [foo, bar], because we resolved a member symbol and these are the symbols that lead from the base declaration to the member symbol.
302
+ * * **targetDeclaration**: symbol bar, the symbol we resolved.
303
+ * * **commonScope**: global scope, because this is the most specific scope that contains both the declaration and the reference.
304
+ * * **pathUp**: [namespace scope 2], because this is the scope between the reference and the common scope.
305
+ * * **pathDown**: [namespace scope 1], because this is the scope between the common scope and the declaration
306
+ * * **memberPath**: [foo, bar], because we resolved a member symbol and these are the symbols that lead from the base declaration to the member symbol.
305
307
  */
306
308
  export interface ResolutionResult<TScope extends OutputScope, TSymbol extends OutputSymbol> {
307
309
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"binder.d.ts","sourceRoot":"","sources":["../../src/binder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binder.d.ts","sourceRoot":"","sources":["../../src/binder.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,GAAG,EAGJ,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EAAU,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,IAAI,IAAI;IAER;;;OAGG;IACH,uBAAuB,IAAS;IAEhC;;;OAGG;IACH,qBAAqB,IAAS;IAE9B;;OAEG;IACH,eAAe,IAAkD;IAEjE;;;OAGG;IACH,cAAc,IAAS;IAEvB;;;OAGG;IACH,YAAY,IAAS;IAErB;;OAEG;IACH,MAAM,KAAgC;CACvC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,iBAAiB,CAAC;IAEzB;;OAEG;IACH,KAAK,EAAE,WAAW,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB;;;;;;;;;;;OAWG;IACH,mBAAmB,CAAC,EAAE,WAAW,CAAC;IAElC;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAEhC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,oBAAY,gBAAgB;IAC1B,IAAI,IAAI;IAER;;OAEG;IACH,iBAAiB,IAAS;IAE1B;;OAEG;IACH,mBAAmB,IAAS;IAE5B;;;OAGG;IACH,WAAW,IAA0C;CACtD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,gBAAgB,CAAC;IAExB;;OAEG;IACH,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IAE3B;;OAEG;IACH,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAE3C;;OAEG;IACH,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAE3B;;OAEG;IACH,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAEhC;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,cAAc,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,IAAI;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,YAAY,CAAC,CAAC;AAEhC,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI;IACpE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,WAAW,CAAC,CAAC;AAE/B;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,MAAM;IACrB;;;OAGG;IACH,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAEnE;;;OAGG;IACH,YAAY,CAAC,CAAC,SAAS,YAAY,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAEtE;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAEzC;;;;;;OAMG;IACH,qBAAqB,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;IAE9E;;;;OAIG;IACH,wBAAwB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAErD;;;;OAIG;IACH,0BAA0B,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAEvD;;;;;;OAMG;IACH,uBAAuB,CACrB,MAAM,SAAS,WAAW,GAAG,WAAW,EACxC,OAAO,SAAS,YAAY,GAAG,YAAY,EAE3C,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,kBAAkB,EAAE,MAAM,GAAG,SAAS,EACtC,GAAG,EAAE,MAAM,GACV,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;IAEtD;;;;OAIG;IACH,cAAc,CACZ,MAAM,SAAS,WAAW,GAAG,WAAW,EACxC,OAAO,SAAS,YAAY,GAAG,YAAY,EAE3C,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,IAAI,EAAE,MAAM,GACX,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAE5B,aAAa,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW,EACpD,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,IAAI,EAAE,MAAM,GACX,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE3B;;;;;;;OAOG;IACH,UAAU,CACR,MAAM,SAAS,WAAW,GAAG,WAAW,EACxC,OAAO,SAAS,YAAY,GAAG,YAAY,EAE3C,GAAG,EAAE,MAAM,GACV,GAAG,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;IAErC;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,gBAAgB,CAC/B,MAAM,SAAS,WAAW,EAC1B,OAAO,SAAS,YAAY;IAE5B;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,aAAa;IAC5B,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAED,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,aAAkB,GAAG,MAAM,CAihBtE;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CACrB,MAAM,SAAS,WAAW,EAC1B,OAAO,SAAS,YAAY,EAC5B,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAUxD;AAED,QAAA,MAAM,mBAAmB,EAAE,OAAO,MAAiB,CAAC;AACpD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,aAAa,GACrB,aAAa,CAAC,OAAO,mBAAmB,CAAC,CAE3C;AAED,wBAAgB,sBAAsB,IAAI,OAAO,mBAAmB,CAEnE;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAaD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,KAAK,GAAE,iBAA0C,2BAelD"}
@@ -100,15 +100,11 @@ export let OutputScopeFlags = /*#__PURE__*/function (OutputScopeFlags) {
100
100
  * When we resolve the refkey for `bar` from within `namespace scope 2`, we will get the following
101
101
  * resolution result:
102
102
  *
103
- * **targetDeclaration**: symbol bar, the symbol we resolved.
104
- *
105
- * **commonScope**: global scope, because this is the most specific scope that contains both the declaration and the reference.
106
- *
107
- * **pathUp**: [namespace scope 2], because this is the scope between the reference and the common scope.
108
- *
109
- * **pathDown**: [namespace scope 1], because this is the scope between the common scope and the declaration
110
- *
111
- * **memberPath**: [foo, bar], because we resolved a member symbol and these are the symbols that lead from the base declaration to the member symbol.
103
+ * * **targetDeclaration**: symbol bar, the symbol we resolved.
104
+ * * **commonScope**: global scope, because this is the most specific scope that contains both the declaration and the reference.
105
+ * * **pathUp**: [namespace scope 2], because this is the scope between the reference and the common scope.
106
+ * * **pathDown**: [namespace scope 1], because this is the scope between the common scope and the declaration
107
+ * * **memberPath**: [foo, bar], because we resolved a member symbol and these are the symbols that lead from the base declaration to the member symbol.
112
108
  */
113
109
 
114
110
  export function createOutputBinder(options = {}) {
@@ -149,6 +145,7 @@ export function createOutputBinder(options = {}) {
149
145
  parent,
150
146
  owner,
151
147
  flags = OutputScopeFlags.None,
148
+ metadata = {},
152
149
  ...rest
153
150
  } = args;
154
151
  if (flags & OutputScopeFlags.MemberScope) {
@@ -179,6 +176,7 @@ export function createOutputBinder(options = {}) {
179
176
  flags,
180
177
  owner,
181
178
  binder,
179
+ metadata,
182
180
  ...rest,
183
181
  getSymbolNames: symbolNames(symbols)
184
182
  });
@@ -200,8 +198,10 @@ export function createOutputBinder(options = {}) {
200
198
  scope = useDefaultScope(args.flags),
201
199
  refkey,
202
200
  flags = OutputSymbolFlags.None,
201
+ metadata = {},
203
202
  ...rest
204
203
  } = args;
204
+ const allRefkeys = [refkey ?? []].flat();
205
205
  if (!scope) {
206
206
  throw new Error("No scope was provided and no scope could be found in context");
207
207
  }
@@ -217,9 +217,10 @@ export function createOutputBinder(options = {}) {
217
217
  originalName: name,
218
218
  name: name,
219
219
  scope,
220
- refkey,
220
+ refkeys: allRefkeys,
221
221
  binder,
222
222
  flags,
223
+ metadata,
223
224
  ...rest
224
225
  });
225
226
  if (args.flags && args.flags & OutputSymbolFlags.InstanceMemberContainer) {
@@ -241,7 +242,9 @@ export function createOutputBinder(options = {}) {
241
242
  });
242
243
  }
243
244
  scope.symbols.add(symbol);
244
- scope.symbolsByRefkey.set(symbol.refkey, symbol);
245
+ for (const refkey of allRefkeys) {
246
+ scope.symbolsByRefkey.set(refkey, symbol);
247
+ }
245
248
  deconflict(symbol);
246
249
  notifyRefkey(symbol);
247
250
  return symbol;
@@ -251,9 +254,11 @@ export function createOutputBinder(options = {}) {
251
254
  if (!refkey) {
252
255
  return;
253
256
  }
254
- const resolution = waitingDeclarations.get(symbol.refkey);
255
- if (!resolution) return;
256
- resolution.value = undefined;
257
+ for (const refkey of symbol.refkeys) {
258
+ const resolution = waitingDeclarations.get(refkey);
259
+ if (!resolution) return;
260
+ resolution.value = undefined;
261
+ }
257
262
  }
258
263
  function instantiateSymbolInto(source, target) {
259
264
  if (~source.flags & OutputSymbolFlags.InstanceMemberContainer) {
@@ -268,7 +273,7 @@ export function createOutputBinder(options = {}) {
268
273
  createSymbol({
269
274
  name: sym.name,
270
275
  scope: target.instanceMemberScope,
271
- refkey: refkey(target.refkey, sym.refkey),
276
+ refkey: [refkey(target.refkeys[0], sym.refkeys[0])],
272
277
  flags: sym.flags | OutputSymbolFlags.InstanceMember
273
278
  });
274
279
  }
@@ -319,10 +324,6 @@ export function createOutputBinder(options = {}) {
319
324
  }
320
325
  function buildResult(currentScope, currentMemberScope, targetDeclarationBase) {
321
326
  if (targetDeclarationBase.flags & OutputSymbolFlags.InstanceMember) {
322
- if (targetDeclarationBase.scope !== currentMemberScope) {
323
- throw new Error("Cannot resolve member symbols from a different member scope");
324
- }
325
-
326
327
  // todo: handle referencing nested objects by refkey
327
328
  return {
328
329
  pathUp: [],
@@ -404,22 +405,21 @@ export function createOutputBinder(options = {}) {
404
405
  }
405
406
  function notifyRefkey(symbol) {
406
407
  effect(() => {
407
- const refkey = symbol.refkey;
408
- if (!refkey) return;
409
-
410
- // notify those waiting for this refkey
411
- knownDeclarations.set(refkey, symbol);
412
- if (waitingDeclarations.has(refkey)) {
413
- const signal = waitingDeclarations.get(refkey);
414
- signal.value = symbol;
415
- }
408
+ for (const refkey of symbol.refkeys) {
409
+ // notify those waiting for this refkey
410
+ knownDeclarations.set(refkey, symbol);
411
+ if (waitingDeclarations.has(refkey)) {
412
+ const signal = waitingDeclarations.get(refkey);
413
+ signal.value = symbol;
414
+ }
416
415
 
417
- // notify those waiting for this symbol name
418
- const waitingScope = waitingSymbolNames.get(symbol.scope);
419
- if (waitingScope) {
420
- const waitingName = waitingScope.get(symbol.name);
421
- if (waitingName) {
422
- waitingName.value = symbol;
416
+ // notify those waiting for this symbol name
417
+ const waitingScope = waitingSymbolNames.get(symbol.scope);
418
+ if (waitingScope) {
419
+ const waitingName = waitingScope.get(symbol.name);
420
+ if (waitingName) {
421
+ waitingName.value = symbol;
422
+ }
423
423
  }
424
424
  }
425
425
  });
@@ -1 +1 @@
1
- {"version":3,"file":"binder.js","names":["computed","effect","reactive","ref","shallowRef","useBinder","useMemberScope","useScope","memo","untrack","refkey","OutputSymbolFlags","OutputScopeFlags","createOutputBinder","options","binder","createScope","createSymbol","deleteSymbol","resolveDeclarationByKey","addStaticMembersToSymbol","addInstanceMembersToSymbol","instantiateSymbolInto","findSymbolName","findScopeName","resolveFQN","globalScope","undefined","globalSymbols","Set","kind","name","symbols","symbolsByRefkey","Map","children","parent","flags","None","getSymbolNames","symbolNames","knownDeclarations","waitingDeclarations","waitingSymbolNames","waitingScopeNames","args","owner","rest","MemberScope","Error","parentScope","scope","add","has","waiting","get","value","useDefaultScope","Member","StaticMemberScope","InstanceMember","StaticMember","symbol","originalName","InstanceMemberContainer","instanceMemberScope","InstanceMemberScope","StaticMemberContainer","staticMemberScope","set","deconflict","notifyRefkey","delete","resolution","source","target","sym","currentScope","currentMemberScope","key","targetDeclaration","buildResult","waitForRefkey","targetDeclarationBase","pathUp","pathDown","memberPath","commonScope","scopeChain","targetChain","scopeAndMemberChain","currentChain","diffStart","slice","length","at","result","currentSymbol","unshift","startScope","chain","existingNames","filter","nameConflictResolver","i","cb","declSignal","signal","waitingScope","waitingName","symRef","child","scopeRef","findScopeOrSymbolName","fqn","parts","match","base","op","resolve","memberScope","instanceMembers","createSymbolsSymbol","Symbol","getSymbolCreator","creator","getSymbolCreatorSymbol","names","values","staticMembers"],"sources":["../../src/binder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"binder.js","names":["computed","effect","reactive","ref","shallowRef","useBinder","useMemberScope","useScope","memo","untrack","refkey","OutputSymbolFlags","OutputScopeFlags","createOutputBinder","options","binder","createScope","createSymbol","deleteSymbol","resolveDeclarationByKey","addStaticMembersToSymbol","addInstanceMembersToSymbol","instantiateSymbolInto","findSymbolName","findScopeName","resolveFQN","globalScope","undefined","globalSymbols","Set","kind","name","symbols","symbolsByRefkey","Map","children","parent","flags","None","getSymbolNames","symbolNames","knownDeclarations","waitingDeclarations","waitingSymbolNames","waitingScopeNames","args","owner","metadata","rest","MemberScope","Error","parentScope","scope","add","has","waiting","get","value","useDefaultScope","allRefkeys","flat","Member","StaticMemberScope","InstanceMember","StaticMember","symbol","originalName","refkeys","InstanceMemberContainer","instanceMemberScope","InstanceMemberScope","StaticMemberContainer","staticMemberScope","set","deconflict","notifyRefkey","delete","resolution","source","target","sym","currentScope","currentMemberScope","key","targetDeclaration","buildResult","waitForRefkey","targetDeclarationBase","pathUp","pathDown","memberPath","commonScope","scopeChain","targetChain","scopeAndMemberChain","currentChain","diffStart","slice","length","at","result","currentSymbol","unshift","startScope","chain","existingNames","filter","nameConflictResolver","i","cb","declSignal","signal","waitingScope","waitingName","symRef","child","scopeRef","findScopeOrSymbolName","fqn","parts","match","base","op","resolve","memberScope","instanceMembers","createSymbolsSymbol","Symbol","getSymbolCreator","creator","getSymbolCreatorSymbol","names","values","staticMembers"],"sources":["../../src/binder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,12 @@
1
- import { Child, Children } from "./jsx-runtime.js";
2
- export declare function code(template: TemplateStringsArray, ...substitutions: Children[]): Child[];
1
+ import { Children } from "./jsx-runtime.js";
2
+ export declare function text(template: TemplateStringsArray, ...substitutions: Children[]): Children;
3
+ /**
4
+ * Turn the provided string template into Children by replacing literal line
5
+ * breaks with hardlines and automatically indenting indented content. Similar
6
+ * in spirit to the `<code>` element in HTML.
7
+ *
8
+ * @see {@link text} for a similar function which treats whitespace similar to
9
+ * JSX template bodies.
10
+ */
11
+ export declare function code(template: TemplateStringsArray, ...substitutions: Children[]): Children;
3
12
  //# sourceMappingURL=code.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/code.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAMnD,wBAAgB,IAAI,CAClB,QAAQ,EAAE,oBAAoB,EAC9B,GAAG,aAAa,EAAE,QAAQ,EAAE,WAkF7B"}
1
+ {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/code.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEnD,wBAAgB,IAAI,CAClB,QAAQ,EAAE,oBAAoB,EAC9B,GAAG,aAAa,EAAE,QAAQ,EAAE,GAC3B,QAAQ,CAmBV;AAQD;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAClB,QAAQ,EAAE,oBAAoB,EAC9B,GAAG,aAAa,EAAE,QAAQ,EAAE,GAC3B,QAAQ,CAiFV"}
package/dist/src/code.js CHANGED
@@ -1,7 +1,32 @@
1
1
  // this code is split into a tokenizer and a parser of sorts because I feel like
2
- // it should be psosible to share logic between this and the babel transform, but
2
+ // it should be possible to share logic between this and the babel transform, but
3
3
  // this is an exercise for the future.
4
- import { hbr, indent } from "./components/stc/index.js";
4
+ import { hbr, indent } from "./components/stc/sti.js";
5
+ export function text(template, ...substitutions) {
6
+ const children = [];
7
+ // push the literal parts and the substitutions into the children array. The
8
+ // first part has all leading whitespace removed, the last part has all
9
+ // trailing whitespace removed, and each part in the middle replaces any
10
+ // amount of whitespace with a single space.
11
+
12
+ for (let i = 0; i < template.length; i++) {
13
+ let part = template[i];
14
+ part = part.replace(/(^(\s*\r?\n\s*)+)|((\s*\r?\n\s*)+$)/g, "").replace(/(\s*\r?\n\s*)+/g, " ");
15
+ children.push(part);
16
+ if (i < substitutions.length) {
17
+ children.push(substitutions[i]);
18
+ }
19
+ }
20
+ return children;
21
+ }
22
+ /**
23
+ * Turn the provided string template into Children by replacing literal line
24
+ * breaks with hardlines and automatically indenting indented content. Similar
25
+ * in spirit to the `<code>` element in HTML.
26
+ *
27
+ * @see {@link text} for a similar function which treats whitespace similar to
28
+ * JSX template bodies.
29
+ */
5
30
  export function code(template, ...substitutions) {
6
31
  const indentNodes = [{
7
32
  kind: "indent",
@@ -1 +1 @@
1
- {"version":3,"file":"code.js","names":["hbr","indent","code","template","substitutions","indentNodes","kind","children","pendingLines","child","childTokens","indentationLevel","length","pushIndent","popIndent","currentIndent","at","push","line","flushLines","value","childNodesFor","indentNode","map","newIndent","times","i","pop","str","index","flat","newline","indentStack","level","literalIndent","processLiteralString","undefined","pos","lines","split","lineTokens","match","shift","trimStart","lineNum","entries","lineIndent","startIndent"],"sources":["../../src/code.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"code.js","names":["hbr","indent","text","template","substitutions","children","i","length","part","replace","push","code","indentNodes","kind","pendingLines","child","childTokens","indentationLevel","pushIndent","popIndent","currentIndent","at","line","flushLines","value","childNodesFor","indentNode","map","newIndent","times","pop","str","index","flat","newline","indentStack","level","literalIndent","processLiteralString","undefined","pos","lines","split","lineTokens","match","shift","trimStart","lineNum","entries","lineIndent","startIndent"],"sources":["../../src/code.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -18,8 +18,8 @@ export interface BlockProps {
18
18
  }
19
19
  /**
20
20
  * Create an indented block of source text. The block has `opener` text which is
21
- * added prior to the block, which defaults to "\{", and `closer` text which is
22
- * added after the block, which defaults to "\}".
21
+ * added prior to the block, which defaults to `"{"`, and `closer` text which is
22
+ * added after the block, which defaults to `"}"`.
23
23
  */
24
24
  export declare function Block(props: BlockProps): Children;
25
25
  //# sourceMappingURL=Block.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Block.d.ts","sourceRoot":"","sources":["../../../src/components/Block.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmC,MAAM,gBAAgB,CAAC;AAE3E,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,YAetC"}
1
+ {"version":3,"file":"Block.d.ts","sourceRoot":"","sources":["../../../src/components/Block.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmC,MAAM,gBAAgB,CAAC;AAE3E,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,YAYtC"}
@@ -4,21 +4,22 @@ import { memo as _$memo } from "@alloy-js/core/jsx-runtime";
4
4
  import { childrenArray, computed, Indent } from "@alloy-js/core";
5
5
  /**
6
6
  * Create an indented block of source text. The block has `opener` text which is
7
- * added prior to the block, which defaults to "\{", and `closer` text which is
8
- * added after the block, which defaults to "\}".
7
+ * added prior to the block, which defaults to `"{"`, and `closer` text which is
8
+ * added after the block, which defaults to `"}"`.
9
9
  */
10
10
  export function Block(props) {
11
11
  const childCount = computed(() => childrenArray(() => props.children).length);
12
12
  return _$createIntrinsic("group", {
13
13
  get children() {
14
14
  return [_$memo(() => _$memo(() => !!props.newline)() && _$createIntrinsic("br", {})), _$memo(() => props.opener ?? "{"), _$createComponent(Indent, {
15
- get ["break"]() {
16
- return childCount.value > 0 ? "hard" : "soft";
15
+ get softline() {
16
+ return childCount.value === 0;
17
17
  },
18
+ trailingBreak: true,
18
19
  get children() {
19
20
  return props.children;
20
21
  }
21
- }), _$memo(() => _$memo(() => childCount.value > 0)() ? _$createIntrinsic("hbr", {}) : _$createIntrinsic("sbr", {})), _$memo(() => props.closer ?? "}")];
22
+ }), _$memo(() => props.closer ?? "}")];
22
23
  }
23
24
  });
24
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Block.js","names":["childrenArray","computed","Indent","Block","props","childCount","children","length","_$createIntrinsic","_$memo","newline","opener","_$createComponent","break","value","closer"],"sources":["../../../src/components/Block.tsx"],"sourcesContent":[null],"mappings":";;;AAAA,SAAmBA,aAAa,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,gBAAgB;AAuB1E;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,KAAKA,CAACC,KAAiB,EAAE;EACvC,MAAMC,UAAU,GAAGJ,QAAQ,CAAC,MAAMD,aAAa,CAAC,MAAMI,KAAK,CAACE,QAAQ,CAAC,CAACC,MAAM,CAAC;EAC7E,OAAAC,iBAAA;IAAA,IAAAF,SAAA;MAAA,QAAAG,MAAA,OAEKA,MAAA,SAAAL,KAAK,CAACM,OAAO,OAAAF,iBAAA,UAAU,GAAAC,MAAA,OACvBL,KAAK,CAACO,MAAM,IAAI,GAAG,GAAAC,iBAAA,CACnBV,MAAM;QAAA,aAAAW,CAAA;UAAA,OAAQR,UAAU,CAACS,KAAK,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM;QAAA;QAAA,IAAAR,SAAA;UAAA,OAClDF,KAAK,CAACE,QAAQ;QAAA;MAAA,IAAAG,MAAA,OAEhBA,MAAA,OAAAJ,UAAU,CAACS,KAAK,GAAG,CAAC,MAAAN,iBAAA,cAAAA,iBAAA,WAEZ,GAAAC,MAAA,OACRL,KAAK,CAACW,MAAM,IAAI,GAAG;IAAA;EAAA;AAG1B","ignoreList":[]}
1
+ {"version":3,"file":"Block.js","names":["childrenArray","computed","Indent","Block","props","childCount","children","length","_$createIntrinsic","_$memo","newline","opener","_$createComponent","softline","value","trailingBreak","closer"],"sources":["../../../src/components/Block.tsx"],"sourcesContent":[null],"mappings":";;;AAAA,SAAmBA,aAAa,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,gBAAgB;AAuB1E;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,KAAKA,CAACC,KAAiB,EAAE;EACvC,MAAMC,UAAU,GAAGJ,QAAQ,CAAC,MAAMD,aAAa,CAAC,MAAMI,KAAK,CAACE,QAAQ,CAAC,CAACC,MAAM,CAAC;EAC7E,OAAAC,iBAAA;IAAA,IAAAF,SAAA;MAAA,QAAAG,MAAA,OAEKA,MAAA,SAAAL,KAAK,CAACM,OAAO,OAAAF,iBAAA,UAAU,GAAAC,MAAA,OACvBL,KAAK,CAACO,MAAM,IAAI,GAAG,GAAAC,iBAAA,CACnBV,MAAM;QAAA,IAACW,QAAQA,CAAA;UAAA,OAAER,UAAU,CAACS,KAAK,KAAK,CAAC;QAAA;QAAEC,aAAa;QAAA,IAAAT,SAAA;UAAA,OACpDF,KAAK,CAACE,QAAQ;QAAA;MAAA,IAAAG,MAAA,OAEhBL,KAAK,CAACY,MAAM,IAAI,GAAG;IAAA;EAAA;AAG1B","ignoreList":[]}
@@ -1,12 +1,37 @@
1
1
  import { OutputSymbol } from "../binder.js";
2
2
  import { Children } from "../jsx-runtime.js";
3
3
  import { Refkey } from "../refkey.js";
4
- export interface DeclarationProps {
5
- name?: string;
6
- refkey?: Refkey;
7
- symbol?: OutputSymbol;
4
+ /**
5
+ * Create a declaration by providing an already created symbol. The symbol is
6
+ * merely exposed via {@link DeclarationContext}.
7
+ */
8
+ export interface DeclarationPropsWithSymbol {
9
+ /**
10
+ * The symbol being declared. When provided, the name, refkey, and metadata
11
+ * props are ignored.
12
+ */
13
+ symbol: OutputSymbol;
14
+ children?: Children;
15
+ }
16
+ /**
17
+ * Create a declaration by providing a symbol name and optional symbol metadata.
18
+ */
19
+ export interface DeclarationPropsWithInfo {
20
+ /**
21
+ * The name of this declaration.
22
+ */
23
+ name: string;
24
+ /**
25
+ * The unique key or array of unique keys for this declaration.
26
+ */
27
+ refkey?: Refkey | Refkey[];
28
+ /**
29
+ * Additional metadata for the declared symbol.
30
+ */
31
+ metadata?: Record<string, unknown>;
8
32
  children?: Children;
9
33
  }
34
+ export type DeclarationProps = DeclarationPropsWithSymbol | DeclarationPropsWithInfo;
10
35
  /**
11
36
  * Declares a symbol in the current scope for this component's children.
12
37
  *
@@ -15,11 +40,10 @@ export interface DeclarationProps {
15
40
  * This component must be called in one of two ways: with a name and an optional
16
41
  * refkey, or else passing in the symbol. When called with a name and refkey, a
17
42
  * symbol will be created in the current scope (provided by
18
- * {@link ScopeContext}) with that name and refkey. If a refkey is not provided,
19
- * `refkey(props.name)` is used.
43
+ * {@link ScopeContext}) with that name and refkey.
20
44
  *
21
45
  * When called with a symbol, that symbol is merely exposed via
22
- * {@link DeclarationContext }. It is assumed that the caller of this component
46
+ * {@link DeclarationContext}. It is assumed that the caller of this component
23
47
  * has created the symbol with the `createSymbol` API on the
24
48
  * {@link BinderContext }.
25
49
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Declaration.d.ts","sourceRoot":"","sources":["../../../src/components/Declaration.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAI5C,OAAO,EAAE,QAAQ,EAAa,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAU,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,YA0BlD"}
1
+ {"version":3,"file":"Declaration.d.ts","sourceRoot":"","sources":["../../../src/components/Declaration.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAI5C,OAAO,EAAE,QAAQ,EAAa,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,MAAM,EAAE,YAAY,CAAC;IAErB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,MAAM,gBAAgB,GACxB,0BAA0B,GAC1B,wBAAwB,CAAC;AAE7B;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,YA0BlD"}