@alloy-js/core 0.21.0-dev.1 → 0.21.0-dev.10

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 (76) hide show
  1. package/dist/src/binder.d.ts +3 -3
  2. package/dist/src/binder.d.ts.map +1 -1
  3. package/dist/src/binder.js +18 -4
  4. package/dist/src/binder.js.map +1 -1
  5. package/dist/src/components/ReferenceOrContent.d.ts +1 -1
  6. package/dist/src/components/ReferenceOrContent.d.ts.map +1 -1
  7. package/dist/src/index.d.ts +1 -0
  8. package/dist/src/index.d.ts.map +1 -1
  9. package/dist/src/index.js +1 -0
  10. package/dist/src/index.js.map +1 -1
  11. package/dist/src/library-symbol-reference.d.ts +8 -0
  12. package/dist/src/library-symbol-reference.d.ts.map +1 -0
  13. package/dist/src/library-symbol-reference.js +5 -0
  14. package/dist/src/library-symbol-reference.js.map +1 -0
  15. package/dist/src/pretty-string/pretty-string.d.ts +47 -0
  16. package/dist/src/pretty-string/pretty-string.d.ts.map +1 -0
  17. package/dist/src/pretty-string/pretty-string.js +100 -0
  18. package/dist/src/pretty-string/pretty-string.js.map +1 -0
  19. package/dist/src/pretty-string/pretty-string.test.d.ts +2 -0
  20. package/dist/src/pretty-string/pretty-string.test.d.ts.map +1 -0
  21. package/dist/src/pretty-string/pretty-string.test.js +38 -0
  22. package/dist/src/pretty-string/pretty-string.test.js.map +1 -0
  23. package/dist/src/refkey.d.ts +12 -8
  24. package/dist/src/refkey.d.ts.map +1 -1
  25. package/dist/src/refkey.js +40 -12
  26. package/dist/src/refkey.js.map +1 -1
  27. package/dist/src/render.d.ts.map +1 -1
  28. package/dist/src/render.js +10 -4
  29. package/dist/src/render.js.map +1 -1
  30. package/dist/src/runtime/component.d.ts +22 -2
  31. package/dist/src/runtime/component.d.ts.map +1 -1
  32. package/dist/src/runtime/component.js +18 -0
  33. package/dist/src/runtime/component.js.map +1 -1
  34. package/dist/src/symbols/output-symbol.d.ts +9 -0
  35. package/dist/src/symbols/output-symbol.d.ts.map +1 -1
  36. package/dist/src/symbols/output-symbol.js +30 -0
  37. package/dist/src/symbols/output-symbol.js.map +1 -1
  38. package/dist/src/tracer.d.ts.map +1 -1
  39. package/dist/src/tracer.js +2 -2
  40. package/dist/src/tracer.js.map +1 -1
  41. package/dist/test/refkey.test.js +11 -1
  42. package/dist/test/refkey.test.js.map +1 -1
  43. package/dist/test/rendering/basic.test.js +22 -0
  44. package/dist/test/rendering/basic.test.js.map +1 -1
  45. package/dist/test/symbols/output-scope.test.js +4 -3
  46. package/dist/test/symbols/output-scope.test.js.map +1 -1
  47. package/dist/test/symbols/resolution.test.js +29 -1
  48. package/dist/test/symbols/resolution.test.js.map +1 -1
  49. package/dist/testing/create-test-wrapper.d.ts +22 -0
  50. package/dist/testing/create-test-wrapper.d.ts.map +1 -0
  51. package/dist/testing/create-test-wrapper.js +60 -0
  52. package/dist/testing/create-test-wrapper.js.map +1 -0
  53. package/dist/testing/index.d.ts +1 -0
  54. package/dist/testing/index.d.ts.map +1 -1
  55. package/dist/testing/index.js +1 -0
  56. package/dist/testing/index.js.map +1 -1
  57. package/dist/tsconfig.tsbuildinfo +1 -1
  58. package/package.json +1 -1
  59. package/src/binder.ts +34 -6
  60. package/src/index.ts +1 -0
  61. package/src/library-symbol-reference.ts +20 -0
  62. package/src/pretty-string/pretty-string.test.ts +47 -0
  63. package/src/pretty-string/pretty-string.ts +130 -0
  64. package/src/refkey.ts +67 -26
  65. package/src/render.ts +11 -3
  66. package/src/runtime/component.ts +33 -1
  67. package/src/symbols/output-symbol.ts +40 -0
  68. package/src/tracer.ts +2 -5
  69. package/temp/api.json +728 -86
  70. package/test/refkey.test.ts +12 -1
  71. package/test/rendering/basic.test.tsx +35 -1
  72. package/test/symbols/output-scope.test.ts +4 -4
  73. package/test/symbols/resolution.test.ts +42 -1
  74. package/testing/create-test-wrapper.tsx +70 -0
  75. package/testing/index.ts +1 -0
  76. package/tsconfig.json +1 -0
@@ -1,5 +1,5 @@
1
1
  import { Ref } from "@vue/reactivity";
2
- import { Refkey } from "./refkey.js";
2
+ import { Refkey, Refkeyable } from "./refkey.js";
3
3
  import { OutputScope } from "./symbols/output-scope.js";
4
4
  import { type OutputSymbol } from "./symbols/output-symbol.js";
5
5
  export type Metadata = object;
@@ -29,7 +29,7 @@ export interface Binder {
29
29
  * Get a ref to the symbol associated with the given refkey. The value of the
30
30
  * ref is undefined if the symbol has not been created yet.
31
31
  */
32
- getSymbolForRefkey<TSymbol extends OutputSymbol>(refkey: Refkey): Ref<TSymbol | undefined>;
32
+ getSymbolForRefkey<TSymbol extends OutputSymbol>(refkey: Refkeyable): Ref<TSymbol | undefined>;
33
33
  /**
34
34
  * The name conflict resolver to use for this binder.
35
35
  */
@@ -175,7 +175,7 @@ export declare function resolve<TScope extends OutputScope, TSymbol extends Outp
175
175
  * not found. The symbol you're looking for may not have been declared yet. When the symbol
176
176
  * is declared, the ref will be updated with the symbol.
177
177
  */
178
- export declare function symbolForRefkey(refkey: Refkey): Ref<OutputSymbol | undefined, OutputSymbol | undefined>;
178
+ export declare function symbolForRefkey(refkey: Refkeyable): Ref<OutputSymbol | undefined, OutputSymbol | undefined>;
179
179
  declare const createSymbolsSymbol: unique symbol;
180
180
  export declare function getSymbolCreator(creator: SymbolCreator): SymbolCreator[typeof createSymbolsSymbol];
181
181
  export declare function getSymbolCreatorSymbol(): typeof createSymbolsSymbol;
@@ -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":"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"}
@@ -3,7 +3,7 @@ import { useBinder } from "./context/binder.js";
3
3
  import { useMemberContext } from "./context/member-scope.js";
4
4
  import { useScope } from "./context/scope.js";
5
5
  import { effect } from "./reactivity.js";
6
- import { isMemberRefkey, refkey } from "./refkey.js";
6
+ import { isMemberRefkey, refkey, toRefkey } from "./refkey.js";
7
7
  import { formatRefkeys, formatSymbolName, trace, TracePhase } from "./tracer.js";
8
8
 
9
9
  /**
@@ -197,14 +197,15 @@ export function createOutputBinder(options = {}) {
197
197
  }
198
198
  return chain;
199
199
  }
200
- function getSymbolForRefkey(refkey) {
200
+ function getSymbolForRefkey(refkeyable) {
201
+ const refkey = toRefkey(refkeyable);
201
202
  if (waitingDeclarations.has(refkey)) {
202
203
  return waitingDeclarations.get(refkey);
203
204
  }
204
205
  let symbolRef;
205
206
  if (isMemberRefkey(refkey)) {
206
207
  const baseSymbolRef = getSymbolForRefkey(refkey.base);
207
- const memberSymbolRef = getSymbolForRefkey(refkey.member);
208
+ const memberSymbolRef = getMemberSymbolFromMemberRefkey(refkey);
208
209
  symbolRef = computed(() => {
209
210
  // even though we don't necessarily need the base symbol to be available
210
211
  // yet (the member symbol might already be declared on a type), we wait
@@ -310,7 +311,7 @@ export function createOutputBinder(options = {}) {
310
311
  function getMemberPathFromRefkey(refkey) {
311
312
  if (isMemberRefkey(refkey)) {
312
313
  return [...getMemberPathFromRefkey(refkey.base), {
313
- symbol: getSymbolForRefkey(refkey.member).value,
314
+ symbol: getMemberSymbolFromMemberRefkey(refkey).value,
314
315
  isMemberAccess: true
315
316
  }];
316
317
  }
@@ -319,6 +320,19 @@ export function createOutputBinder(options = {}) {
319
320
  isMemberAccess: false
320
321
  }];
321
322
  }
323
+ function getMemberSymbolFromMemberRefkey(refkey) {
324
+ if (typeof refkey.member === "string") {
325
+ return computed(() => {
326
+ const baseSymbol = getSymbolForRefkey(refkey.base).value;
327
+ if (!baseSymbol) {
328
+ return undefined;
329
+ }
330
+ return baseSymbol.resolveMemberByName(refkey.member);
331
+ });
332
+ } else {
333
+ return getSymbolForRefkey(refkey.member);
334
+ }
335
+ }
322
336
  function resolveMember(base, member, memberResolver, context) {
323
337
  if (memberResolver) {
324
338
  memberResolver(base, member, context);
@@ -1 +1 @@
1
- {"version":3,"names":["computed","shallowRef","useBinder","useMemberContext","useScope","effect","isMemberRefkey","refkey","formatRefkeys","formatSymbolName","trace","TracePhase","createOutputBinder","options","binder","resolveDeclarationByKey","getSymbolForRefkey","notifyScopeCreated","notifySymbolCreated","notifySymbolDeleted","nameConflictResolver","knownDeclarations","Map","waitingDeclarations","waitingSymbolNames","waitingScopeNames","scope","parent","has","waiting","get","name","ref","value","symbol","refkeys","resolution","undefined","buildResult","currentScope","targetDeclarationBase","memberPath","targetMemberPath","scopeChain","targetChain","scopeAndMemberChain","targetLexicalDeclaration","length","ownerSymbol","referenceChain","inScopeSymbols","isMemberScope","set","push","shift","index","entries","commonMemberContainer","findIndex","sourceLocation","splice","slice","diffStart","pathUp","pathDown","commonScope","lexicalDeclaration","fullSymbolPath","fullReferencePath","result","currentSymbol","isMemberSymbol","unshift","startScope","chain","symbolRef","baseSymbolRef","base","memberSymbolRef","member","baseSymbol","memberSymbol","resolvedSymbol","resolve","pending","failure","isTransient","some","memberDescriptorsFromRefkey","getMemberPathFromRefkey","newMemberPathDescriptors","allDescriptors","map","s","isMemberAccess","descriptor","at","currentBase","isTyped","hasTypeSymbol","resolveMember","memberResolver","referencePath","success","context","Error","memberOwner","type","dealias","oldRefkeys","includes","delete","signal","waitingScope","waitingName","memberScope","symbolForRefkey","createSymbolsSymbol","Symbol","getSymbolCreator","creator","getSymbolCreatorSymbol"],"sources":["../../src/binder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["computed","shallowRef","useBinder","useMemberContext","useScope","effect","isMemberRefkey","refkey","toRefkey","formatRefkeys","formatSymbolName","trace","TracePhase","createOutputBinder","options","binder","resolveDeclarationByKey","getSymbolForRefkey","notifyScopeCreated","notifySymbolCreated","notifySymbolDeleted","nameConflictResolver","knownDeclarations","Map","waitingDeclarations","waitingSymbolNames","waitingScopeNames","scope","parent","has","waiting","get","name","ref","value","symbol","refkeys","resolution","undefined","buildResult","currentScope","targetDeclarationBase","memberPath","targetMemberPath","scopeChain","targetChain","scopeAndMemberChain","targetLexicalDeclaration","length","ownerSymbol","referenceChain","inScopeSymbols","isMemberScope","set","push","shift","index","entries","commonMemberContainer","findIndex","sourceLocation","splice","slice","diffStart","pathUp","pathDown","commonScope","lexicalDeclaration","fullSymbolPath","fullReferencePath","result","currentSymbol","isMemberSymbol","unshift","startScope","chain","refkeyable","symbolRef","baseSymbolRef","base","memberSymbolRef","getMemberSymbolFromMemberRefkey","baseSymbol","memberSymbol","resolvedSymbol","resolve","pending","failure","isTransient","some","memberDescriptorsFromRefkey","getMemberPathFromRefkey","newMemberPathDescriptors","allDescriptors","map","s","isMemberAccess","descriptor","at","currentBase","member","isTyped","hasTypeSymbol","resolveMember","memberResolver","referencePath","success","resolveMemberByName","context","Error","memberOwner","type","dealias","oldRefkeys","includes","delete","signal","waitingScope","waitingName","memberScope","symbolForRefkey","createSymbolsSymbol","Symbol","getSymbolCreator","creator","getSymbolCreatorSymbol"],"sources":["../../src/binder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -4,5 +4,5 @@ export interface ReferenceOrContentProps {
4
4
  readonly refkey: Refkey;
5
5
  readonly children: Children;
6
6
  }
7
- export declare function ReferenceOrContent(props: ReferenceOrContentProps): import("@vue/reactivity").ComputedRef<string | number | boolean | void | (() => Children) | import("@vue/reactivity").Ref<any, any> | import("../refkey.js").SymbolRefkey | import("../refkey.js").MemberRefkey | import("../reactivity.js").CustomContext | import("../index.js").IndentIntrinsicElement | import("../index.js").IndentIfBreakIntrinsicElement | import("../index.js").BrIntrinsicElement | import("../index.js").LineIntrinsicElement | import("../index.js").HbrIntrinsicElement | import("../index.js").HardlineIntrinsicElement | import("../index.js").SbrIntrinsicElement | import("../index.js").SoftlineIntrinsicElement | import("../index.js").GroupIntrinsicElement | import("../index.js").AlignIntrinsicElement | import("../index.js").FillIntrinsicElement | import("../index.js").BreakParentIntrinsicElement | import("../index.js").LineSuffixIntrinsicElement | import("../index.js").LineSuffixBoundaryIntrinsicElement | import("../index.js").DedentIntrinsicElement | import("../index.js").LiterallineIntrinsicElement | import("../index.js").LbrIntrinsicElement | import("../index.js").DedentToRootIntrinsicElement | import("../index.js").MarkAsRootIntrinsicElement | import("../index.js").IfBreakIntrinsicElement | Children[] | null>;
7
+ export declare function ReferenceOrContent(props: ReferenceOrContentProps): import("@vue/reactivity").ComputedRef<string | number | boolean | void | import("../runtime/component.js").RenderableObject | import("../refkey.js").RefkeyableObject | (() => Children) | import("@vue/reactivity").Ref<any, any> | import("../reactivity.js").CustomContext | import("../index.js").IndentIntrinsicElement | import("../index.js").IndentIfBreakIntrinsicElement | import("../index.js").BrIntrinsicElement | import("../index.js").LineIntrinsicElement | import("../index.js").HbrIntrinsicElement | import("../index.js").HardlineIntrinsicElement | import("../index.js").SbrIntrinsicElement | import("../index.js").SoftlineIntrinsicElement | import("../index.js").GroupIntrinsicElement | import("../index.js").AlignIntrinsicElement | import("../index.js").FillIntrinsicElement | import("../index.js").BreakParentIntrinsicElement | import("../index.js").LineSuffixIntrinsicElement | import("../index.js").LineSuffixBoundaryIntrinsicElement | import("../index.js").DedentIntrinsicElement | import("../index.js").LiterallineIntrinsicElement | import("../index.js").LbrIntrinsicElement | import("../index.js").DedentToRootIntrinsicElement | import("../index.js").MarkAsRootIntrinsicElement | import("../index.js").IfBreakIntrinsicElement | Children[] | null>;
8
8
  //# sourceMappingURL=ReferenceOrContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReferenceOrContent.d.ts","sourceRoot":"","sources":["../../../src/components/ReferenceOrContent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,4tCAUhE"}
1
+ {"version":3,"file":"ReferenceOrContent.d.ts","sourceRoot":"","sources":["../../../src/components/ReferenceOrContent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,+uCAUhE"}
@@ -4,6 +4,7 @@ export * from "./code.js";
4
4
  export * from "./components/index.js";
5
5
  export * from "./context.js";
6
6
  export * from "./context/index.js";
7
+ export * from "./library-symbol-reference.js";
7
8
  export * from "./name-policy.js";
8
9
  export * from "./props-combinators.js";
9
10
  export * from "./reactive-union-set.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,OAAO,EACP,UAAU,EACV,KAAK,EACL,QAAQ,EACR,GAAG,EACH,eAAe,EACf,UAAU,EACV,KAAK,EACL,KAAK,EACL,MAAM,EACN,KAAK,EACL,OAAO,EACP,KAAK,EACL,KAAK,QAAQ,EACb,KAAK,GAAG,EACR,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,KAAK,EACV,KAAK,MAAM,GACZ,MAAM,iBAAiB,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,OAAO,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,OAAO,EACP,UAAU,EACV,KAAK,EACL,QAAQ,EACR,GAAG,EACH,eAAe,EACf,UAAU,EACV,KAAK,EACL,KAAK,EACL,MAAM,EACN,KAAK,EACL,OAAO,EACP,KAAK,EACL,KAAK,QAAQ,EACb,KAAK,GAAG,EACR,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,KAAK,EACV,KAAK,MAAM,GACZ,MAAM,iBAAiB,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,OAAO,YAAY,CAAC"}
package/dist/src/index.js CHANGED
@@ -4,6 +4,7 @@ export * from "./code.js";
4
4
  export * from "./components/index.js";
5
5
  export * from "./context.js";
6
6
  export * from "./context/index.js";
7
+ export * from "./library-symbol-reference.js";
7
8
  export * from "./name-policy.js";
8
9
  export * from "./props-combinators.js";
9
10
  export * from "./reactive-union-set.js";
@@ -1 +1 @@
1
- {"version":3,"names":["TrackOpTypes","TriggerOpTypes","computed","isProxy","isReactive","isRef","reactive","ref","shallowReactive","shallowRef","toRaw","toRef","toRefs","track","trigger","watch"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,YAAY,EACZC,cAAc,EACdC,QAAQ,EACRC,OAAO,EACPC,UAAU,EACVC,KAAK,EACLC,QAAQ,EACRC,GAAG,EACHC,eAAe,EACfC,UAAU,EACVC,KAAK,EACLC,KAAK,EACLC,MAAM,EACNC,KAAK,EACLC,OAAO,EACPC,KAAK,QAOA,iBAAiB;AACxB,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,uBAAuB;AACrC,cAAc,cAAc;AAC5B,cAAc,oBAAoB;AAClC,cAAc,kBAAkB;AAChC,cAAc,wBAAwB;AACtC,cAAc,yBAAyB;AACvC,cAAc,iBAAiB;AAC/B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,eAAe;AAC7B,cAAc,wBAAwB;AACtC,cAAc,wBAAwB;AACtC,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,oBAAoB;AAClC,cAAc,0BAA0B;AACxC,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,mBAAmB;AACjC,OAAO,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["TrackOpTypes","TriggerOpTypes","computed","isProxy","isReactive","isRef","reactive","ref","shallowReactive","shallowRef","toRaw","toRef","toRefs","track","trigger","watch"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,YAAY,EACZC,cAAc,EACdC,QAAQ,EACRC,OAAO,EACPC,UAAU,EACVC,KAAK,EACLC,QAAQ,EACRC,GAAG,EACHC,eAAe,EACfC,UAAU,EACVC,KAAK,EACLC,KAAK,EACLC,MAAM,EACNC,KAAK,EACLC,OAAO,EACPC,KAAK,QAOA,iBAAiB;AACxB,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,uBAAuB;AACrC,cAAc,cAAc;AAC5B,cAAc,oBAAoB;AAClC,cAAc,+BAA+B;AAC7C,cAAc,kBAAkB;AAChC,cAAc,wBAAwB;AACtC,cAAc,yBAAyB;AACvC,cAAc,iBAAiB;AAC/B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,eAAe;AAC7B,cAAc,wBAAwB;AACtC,cAAc,wBAAwB;AACtC,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,oBAAoB;AAClC,cAAc,0BAA0B;AACxC,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,mBAAmB;AACjC,OAAO,YAAY","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import { RefkeyableObject } from "./refkey.js";
2
+ import { OutputSymbol } from "./symbols/output-symbol.js";
3
+ export declare const TO_SYMBOL: unique symbol;
4
+ export interface LibrarySymbolReference extends RefkeyableObject {
5
+ [TO_SYMBOL](): OutputSymbol;
6
+ }
7
+ export declare function isLibrarySymbolReference(value: unknown): value is LibrarySymbolReference;
8
+ //# sourceMappingURL=library-symbol-reference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-symbol-reference.d.ts","sourceRoot":"","sources":["../../src/library-symbol-reference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,eAAO,MAAM,SAAS,EAAE,OAAO,MAE9B,CAAC;AAEF,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC;CAC7B;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,sBAAsB,CAMjC"}
@@ -0,0 +1,5 @@
1
+ export const TO_SYMBOL = Symbol("Alloy.RefkeyableObject.TO_SYMBOL");
2
+ export function isLibrarySymbolReference(value) {
3
+ return typeof value === "object" && value !== null && Object.hasOwn(value, TO_SYMBOL);
4
+ }
5
+ //# sourceMappingURL=library-symbol-reference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TO_SYMBOL","Symbol","isLibrarySymbolReference","value","Object","hasOwn"],"sources":["../../src/library-symbol-reference.ts"],"sourcesContent":[null],"mappings":"AAGA,OAAO,MAAMA,SAAwB,GAAGC,MAAM,CAC5C,kCACF,CAAC;AAMD,OAAO,SAASC,wBAAwBA,CACtCC,KAAc,EACmB;EACjC,OACE,OAAOA,KAAK,KAAK,QAAQ,IACzBA,KAAK,KAAK,IAAI,IACdC,MAAM,CAACC,MAAM,CAACF,KAAK,EAAEH,SAAS,CAAC;AAEnC","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ import { inspect } from "../inspect.js";
2
+ export declare function pret(strings: TemplateStringsArray, ...keys: PrettyStringSegment[]): PrettyString;
3
+ export declare namespace pret {
4
+ var black: (x: PrettyStringSegment) => PrettyStringColored;
5
+ var red: (x: PrettyStringSegment) => PrettyStringColored;
6
+ var green: (x: PrettyStringSegment) => PrettyStringColored;
7
+ var yellow: (x: PrettyStringSegment) => PrettyStringColored;
8
+ var blue: (x: PrettyStringSegment) => PrettyStringColored;
9
+ var magenta: (x: PrettyStringSegment) => PrettyStringColored;
10
+ var cyan: (x: PrettyStringSegment) => PrettyStringColored;
11
+ var white: (x: PrettyStringSegment) => PrettyStringColored;
12
+ var gray: (x: PrettyStringSegment) => PrettyStringColored;
13
+ var bgBlack: (x: PrettyStringSegment) => PrettyStringColored;
14
+ var bgRed: (x: PrettyStringSegment) => PrettyStringColored;
15
+ var bgGreen: (x: PrettyStringSegment) => PrettyStringColored;
16
+ var bgYellow: (x: PrettyStringSegment) => PrettyStringColored;
17
+ var bgBlue: (x: PrettyStringSegment) => PrettyStringColored;
18
+ var bgMagenta: (x: PrettyStringSegment) => PrettyStringColored;
19
+ var bgCyan: (x: PrettyStringSegment) => PrettyStringColored;
20
+ var bgWhite: (x: PrettyStringSegment) => PrettyStringColored;
21
+ var rgb: (r: number, g: number, b: number, x: PrettyStringSegment) => PrettyStringColored;
22
+ }
23
+ declare const ansiColors: Record<string, [string, string]>;
24
+ export type PrettyStringSegment = string | PrettyStringColored | PrettyString;
25
+ export interface RgbColor {
26
+ kind: "rgb";
27
+ r: number;
28
+ g: number;
29
+ b: number;
30
+ }
31
+ export type ColorCodes = keyof typeof ansiColors;
32
+ export type Color = ColorCodes | RgbColor;
33
+ export declare class PrettyStringColored {
34
+ #private;
35
+ constructor(value: PrettyStringSegment, color: Color);
36
+ toString(): string;
37
+ toAnsi(): string;
38
+ }
39
+ export declare class PrettyString {
40
+ #private;
41
+ constructor(segments: PrettyStringSegment[]);
42
+ toString(): string;
43
+ toAnsi(): string;
44
+ [inspect.custom](): string;
45
+ }
46
+ export {};
47
+ //# sourceMappingURL=pretty-string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pretty-string.d.ts","sourceRoot":"","sources":["../../../src/pretty-string/pretty-string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,wBAAgB,IAAI,CAClB,OAAO,EAAE,oBAAoB,EAC7B,GAAG,IAAI,EAAE,mBAAmB,EAAE,GAC7B,YAAY,CAQd;yBAXe,IAAI;mBAaH,mBAAmB;iBACrB,mBAAmB;mBACjB,mBAAmB;oBAClB,mBAAmB;kBACrB,mBAAmB;qBAChB,mBAAmB;kBAEtB,mBAAmB;mBAClB,mBAAmB;kBACpB,mBAAmB;qBAEhB,mBAAmB;mBAErB,mBAAmB;qBACjB,mBAAmB;sBAElB,mBAAmB;oBAErB,mBAAmB;uBAChB,mBAAmB;oBAEtB,mBAAmB;qBAClB,mBAAmB;iBAGvB,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,mBAAmB;;AAGnE,QAAA,MAAM,UAAU,EA0BX,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtC,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,mBAAmB,GAAG,YAAY,CAAC;AAE9E,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,KAAK,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,UAAU,CAAC;AACjD,MAAM,MAAM,KAAK,GAAG,UAAU,GAAG,QAAQ,CAAC;AAC1C,qBAAa,mBAAmB;;gBAIlB,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK;IAKpD,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,MAAM;CAUjB;AAED,qBAAa,YAAY;;gBAGX,QAAQ,EAAE,mBAAmB,EAAE;IAI3C,QAAQ,IAAI,MAAM;IAMlB,MAAM,IAAI,MAAM;IAMhB,CAAC,OAAO,CAAC,MAAM,CAAC;CAGjB"}
@@ -0,0 +1,100 @@
1
+ import { inspect } from "../inspect.js";
2
+ export function pret(strings, ...keys) {
3
+ const result = [strings[0]];
4
+ keys.forEach((key, i) => {
5
+ result.push(key);
6
+ result.push(strings[i + 1]);
7
+ });
8
+ return new PrettyString(result);
9
+ }
10
+ pret.black = x => new PrettyStringColored(x, "black");
11
+ pret.red = x => new PrettyStringColored(x, "red");
12
+ pret.green = x => new PrettyStringColored(x, "green");
13
+ pret.yellow = x => new PrettyStringColored(x, "yellow");
14
+ pret.blue = x => new PrettyStringColored(x, "blue");
15
+ pret.magenta = x => new PrettyStringColored(x, "magenta");
16
+ pret.cyan = x => new PrettyStringColored(x, "cyan");
17
+ pret.white = x => new PrettyStringColored(x, "white");
18
+ pret.gray = x => new PrettyStringColored(x, "gray");
19
+ pret.bgBlack = x => new PrettyStringColored(x, "bgBlack");
20
+ pret.bgRed = x => new PrettyStringColored(x, "bgRed");
21
+ pret.bgGreen = x => new PrettyStringColored(x, "bgGreen");
22
+ pret.bgYellow = x => new PrettyStringColored(x, "bgYellow");
23
+ pret.bgBlue = x => new PrettyStringColored(x, "bgBlue");
24
+ pret.bgMagenta = x => new PrettyStringColored(x, "bgMagenta");
25
+ pret.bgCyan = x => new PrettyStringColored(x, "bgCyan");
26
+ pret.bgWhite = x => new PrettyStringColored(x, "bgWhite");
27
+ pret.rgb = (r, g, b, x) => new PrettyStringColored(x, {
28
+ kind: "rgb",
29
+ r,
30
+ g,
31
+ b
32
+ });
33
+ const ansiColors = {
34
+ reset: ["\x1b[0m", "\x1b[0m"],
35
+ bold: ["\x1b[1m", "\x1b[22m"],
36
+ dim: ["\x1b[2m", "\x1b[22m"],
37
+ italic: ["\x1b[3m", "\x1b[23m"],
38
+ underline: ["\x1b[4m", "\x1b[24m"],
39
+ inverse: ["\x1b[7m", "\x1b[27m"],
40
+ hidden: ["\x1b[8m", "\x1b[28m"],
41
+ strikethrough: ["\x1b[9m", "\x1b[29m"],
42
+ black: ["\x1b[30m", "\x1b[39m"],
43
+ red: ["\x1b[31m", "\x1b[39m"],
44
+ green: ["\x1b[32m", "\x1b[39m"],
45
+ yellow: ["\x1b[33m", "\x1b[39m"],
46
+ blue: ["\x1b[34m", "\x1b[39m"],
47
+ magenta: ["\x1b[35m", "\x1b[39m"],
48
+ cyan: ["\x1b[36m", "\x1b[39m"],
49
+ white: ["\x1b[37m", "\x1b[39m"],
50
+ gray: ["\x1b[90m", "\x1b[39m"],
51
+ bgBlack: ["\x1b[40m", "\x1b[49m"],
52
+ bgRed: ["\x1b[41m", "\x1b[49m"],
53
+ bgGreen: ["\x1b[42m", "\x1b[49m"],
54
+ bgYellow: ["\x1b[43m", "\x1b[49m"],
55
+ bgBlue: ["\x1b[44m", "\x1b[49m"],
56
+ bgMagenta: ["\x1b[45m", "\x1b[49m"],
57
+ bgCyan: ["\x1b[46m", "\x1b[49m"],
58
+ bgWhite: ["\x1b[47m", "\x1b[49m"]
59
+ };
60
+ export class PrettyStringColored {
61
+ #value;
62
+ #color;
63
+ constructor(value, color) {
64
+ this.#value = value;
65
+ this.#color = color;
66
+ }
67
+ toString() {
68
+ return this.#value.toString();
69
+ }
70
+ toAnsi() {
71
+ if (typeof this.#color === "string") {
72
+ const [start, end] = ansiColors[this.#color];
73
+ return `${start}${typeof this.#value === "string" ? this.#value : this.#value.toAnsi()}${end}`;
74
+ }
75
+ const {
76
+ r,
77
+ g,
78
+ b
79
+ } = this.#color;
80
+ const start = `\x1b[38;2;${r};${g};${b}m`;
81
+ const end = `\x1b[39m`;
82
+ return `${start}${typeof this.#value === "string" ? this.#value : this.#value.toAnsi()}${end}`;
83
+ }
84
+ }
85
+ export class PrettyString {
86
+ #segments;
87
+ constructor(segments) {
88
+ this.#segments = segments;
89
+ }
90
+ toString() {
91
+ return this.#segments.map(s => typeof s === "string" ? s : s.toString()).join("");
92
+ }
93
+ toAnsi() {
94
+ return this.#segments.map(s => typeof s === "string" ? s : s.toAnsi()).join("");
95
+ }
96
+ [inspect.custom]() {
97
+ return this.toAnsi();
98
+ }
99
+ }
100
+ //# sourceMappingURL=pretty-string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["inspect","pret","strings","keys","result","forEach","key","i","push","PrettyString","black","x","PrettyStringColored","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","rgb","r","g","b","kind","ansiColors","reset","bold","dim","italic","underline","inverse","hidden","strikethrough","value","color","constructor","toString","toAnsi","start","end","segments","map","s","join","custom"],"sources":["../../../src/pretty-string/pretty-string.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pretty-string.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pretty-string.test.d.ts","sourceRoot":"","sources":["../../../src/pretty-string/pretty-string.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ import { expect, it } from "vitest";
2
+ import { pret } from "./pretty-string.js";
3
+ function expectRender(pretty, expected) {
4
+ expect(pretty.toString()).toBe(expected.toString);
5
+ expect(pretty.toAnsi()).toBe(expected.toAnsi);
6
+ }
7
+ it("interpolate basic string", () => {
8
+ const result = pret`foo ${"bar"} baz`;
9
+ expectRender(result, {
10
+ toString: "foo bar baz",
11
+ toAnsi: "foo bar baz"
12
+ });
13
+ });
14
+
15
+ // cspell:ignore mbar
16
+ it("interpolate pretty segment", () => {
17
+ const result = pret`foo ${pret.red("bar")} baz`;
18
+ expectRender(result, {
19
+ toString: "foo bar baz",
20
+ toAnsi: "foo \x1b[31mbar\x1b[39m baz"
21
+ });
22
+ });
23
+ it("interpolate another pretty string with more formatting", () => {
24
+ const a = pret`foo ${pret.red("bar")} baz`;
25
+ const result = pret`Hi, ${pret.bgGreen(a)}`;
26
+ expectRender(result, {
27
+ toString: "Hi, foo bar baz",
28
+ toAnsi: "Hi, \x1b[42mfoo \x1b[31mbar\x1b[39m baz\x1b[49m"
29
+ });
30
+ });
31
+ it("use full rgb", () => {
32
+ const result = pret`foo ${pret.rgb(123, 45, 67, "bar")} baz`;
33
+ expectRender(result, {
34
+ toString: "foo bar baz",
35
+ toAnsi: "foo \x1b[38;2;123;45;67mbar\x1b[39m baz"
36
+ });
37
+ });
38
+ //# sourceMappingURL=pretty-string.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["expect","it","pret","expectRender","pretty","expected","toString","toBe","toAnsi","result","red","a","bgGreen","rgb"],"sources":["../../../src/pretty-string/pretty-string.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,IAAI,QAAsB,oBAAoB;AAEvD,SAASC,YAAYA,CACnBC,MAAoB,EACpBC,QAGC,EACD;EACAL,MAAM,CAACI,MAAM,CAACE,QAAQ,CAAC,CAAC,CAAC,CAACC,IAAI,CAACF,QAAQ,CAACC,QAAQ,CAAC;EACjDN,MAAM,CAACI,MAAM,CAACI,MAAM,CAAC,CAAC,CAAC,CAACD,IAAI,CAACF,QAAQ,CAACG,MAAM,CAAC;AAC/C;AAEAP,EAAE,CAAC,0BAA0B,EAAE,MAAM;EACnC,MAAMQ,MAAM,GAAGP,IAAI,OAAO,KAAK,MAAM;EACrCC,YAAY,CAACM,MAAM,EAAE;IACnBH,QAAQ,EAAE,aAAa;IACvBE,MAAM,EAAE;EACV,CAAC,CAAC;AACJ,CAAC,CAAC;;AAEF;AACAP,EAAE,CAAC,4BAA4B,EAAE,MAAM;EACrC,MAAMQ,MAAM,GAAGP,IAAI,OAAOA,IAAI,CAACQ,GAAG,CAAC,KAAK,CAAC,MAAM;EAC/CP,YAAY,CAACM,MAAM,EAAE;IACnBH,QAAQ,EAAE,aAAa;IACvBE,MAAM,EAAE;EACV,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFP,EAAE,CAAC,wDAAwD,EAAE,MAAM;EACjE,MAAMU,CAAC,GAAGT,IAAI,OAAOA,IAAI,CAACQ,GAAG,CAAC,KAAK,CAAC,MAAM;EAC1C,MAAMD,MAAM,GAAGP,IAAI,OAAOA,IAAI,CAACU,OAAO,CAACD,CAAC,CAAC,EAAE;EAC3CR,YAAY,CAACM,MAAM,EAAE;IACnBH,QAAQ,EAAE,iBAAiB;IAC3BE,MAAM,EAAE;EACV,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFP,EAAE,CAAC,cAAc,EAAE,MAAM;EACvB,MAAMQ,MAAM,GAAGP,IAAI,OAAOA,IAAI,CAACW,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM;EAC5DV,YAAY,CAACM,MAAM,EAAE;IACnBH,QAAQ,EAAE,aAAa;IACvBE,MAAM,EAAE;EACV,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1,9 +1,11 @@
1
- declare const RefkeySym: unique symbol;
2
- export type RefkeyBase = {
3
- [RefkeySym]: true;
1
+ export declare const REFKEYABLE: unique symbol;
2
+ export type RefkeyableObject = {
3
+ [REFKEYABLE](): Refkey;
4
4
  };
5
+ export declare function toRefkey(refkey: Refkeyable): Refkey;
6
+ export type Refkeyable = RefkeyableObject | Refkey;
5
7
  export type Refkey = SymbolRefkey | MemberRefkey | Namekey;
6
- export interface SymbolRefkey extends RefkeyBase {
8
+ export interface SymbolRefkey extends RefkeyableObject {
7
9
  key: string;
8
10
  }
9
11
  export interface NamekeyOptions {
@@ -14,10 +16,11 @@ export interface Namekey<TOptions extends NamekeyOptions = NamekeyOptions> exten
14
16
  name: string;
15
17
  options: TOptions;
16
18
  }
17
- export interface MemberRefkey extends RefkeyBase {
19
+ export interface MemberRefkey extends RefkeyableObject {
18
20
  base: Refkey;
19
- member: Refkey;
21
+ member: Refkey | string;
20
22
  }
23
+ export declare function isRefkeyable(value: unknown): value is RefkeyableObject;
21
24
  export declare function isRefkey(value: unknown): value is Refkey;
22
25
  export declare function isSymbolRefkey(value: unknown): value is SymbolRefkey;
23
26
  export declare function isMemberRefkey(value: unknown): value is MemberRefkey;
@@ -76,6 +79,7 @@ export declare function namekey(name: string, options?: NamekeyOptions): Namekey
76
79
  * instantiated variable refkey and the refkey of the inner member
77
80
  * `refkey(rk1, rk3)`.
78
81
  */
79
- export declare function memberRefkey(base: Refkey, ...members: [Refkey, ...Refkey[]]): MemberRefkey;
80
- export {};
82
+ export declare function memberRefkey(base: Refkeyable, ...members: [Refkeyable | string, ...(Refkeyable | string)[]]): MemberRefkey;
83
+ export declare function inspectRefkey(refkey: Refkey): string;
84
+ export declare function unresolvedRefkey(refkey: Refkey): string;
81
85
  //# sourceMappingURL=refkey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"refkey.d.ts","sourceRoot":"","sources":["../../src/refkey.ts"],"names":[],"mappings":"AAgBA,QAAA,MAAM,SAAS,EAAE,OAAO,MAAiB,CAAC;AAE1C,MAAM,MAAM,UAAU,GAAG;IACvB,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,YAAY,GAAG,YAAY,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,OAAO,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc,CACvE,SAAQ,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,QAAQ,CAAC;CACnB;AAED,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAaD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAMxD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAMpE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAE1D;AAmBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAWjD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAO3E;AACD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,GAAG,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,GAChC,YAAY,CAqBd"}
1
+ {"version":3,"file":"refkey.d.ts","sourceRoot":"","sources":["../../src/refkey.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,UAAU,EAAE,OAAO,MAAmC,CAAC;AAEpE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,UAE1C;AAED,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG,MAAM,CAAC;AACnD,MAAM,MAAM,MAAM,GAAG,YAAY,GAAG,YAAY,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,OAAO,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc,CACvE,SAAQ,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,QAAQ,CAAC;CACnB;AAED,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAeD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAMtE;AACD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAIxD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAE1D;AAwBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAWjD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAS3E;AACD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,EAChB,GAAG,OAAO,EAAE,CAAC,UAAU,GAAG,MAAM,EAAE,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC,GAC5D,YAAY,CA4Bd;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAapD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvD"}
@@ -9,23 +9,31 @@ function getObjectKey(value) {
9
9
  objectIds.set(value, key);
10
10
  return key;
11
11
  }
12
- const RefkeySym = Symbol();
12
+ export const REFKEYABLE = Symbol("Alloy.REFKEYABLE");
13
+ export function toRefkey(refkey) {
14
+ return refkey[REFKEYABLE]();
15
+ }
13
16
  function createSymbolRefkey(key) {
14
17
  const refkey = {
15
18
  key,
16
- [RefkeySym]: true
19
+ [REFKEYABLE]() {
20
+ return this;
21
+ }
17
22
  };
18
23
  markRaw(refkey);
19
24
  return refkey;
20
25
  }
26
+ export function isRefkeyable(value) {
27
+ return typeof value === "object" && value !== null && Object.hasOwn(value, REFKEYABLE);
28
+ }
21
29
  export function isRefkey(value) {
22
- return typeof value === "object" && value !== null && Object.hasOwn(value, RefkeySym);
30
+ return isRefkeyable(value) && value[REFKEYABLE]() === value;
23
31
  }
24
32
  export function isSymbolRefkey(value) {
25
33
  return isRefkey(value) && Object.hasOwn(value, "key");
26
34
  }
27
35
  export function isMemberRefkey(value) {
28
- return isRefkey(value) && Object.hasOwn(value, "base") && Object.hasOwn(value, "member");
36
+ return isRefkey(value) && Object.hasOwn(value, "base");
29
37
  }
30
38
  export function isNamekey(value) {
31
39
  return isRefkey(value) && Object.hasOwn(value, "name");
@@ -37,8 +45,13 @@ export function isNamekey(value) {
37
45
  * and otherwise the key is based on the value.
38
46
  */
39
47
  function getKey(value) {
40
- if (isSymbolRefkey(value)) {
41
- return value.key;
48
+ if (isRefkeyable(value)) {
49
+ const refkey = toRefkey(value);
50
+ if (isSymbolRefkey(refkey)) {
51
+ return refkey.key;
52
+ } else {
53
+ return getObjectKey(value);
54
+ }
42
55
  } else if (typeof value === "object" && value !== null) {
43
56
  return getObjectKey(value);
44
57
  } else {
@@ -93,7 +106,9 @@ export function namekey(name, options = {}) {
93
106
  key: getObjectKey({}),
94
107
  name,
95
108
  options,
96
- [RefkeySym]: true
109
+ [REFKEYABLE]() {
110
+ return this;
111
+ }
97
112
  };
98
113
  }
99
114
  /**
@@ -124,15 +139,28 @@ export function memberRefkey(base, ...members) {
124
139
  }
125
140
  if (members.length === 1) {
126
141
  return {
127
- base,
128
- member: members[0],
129
- [RefkeySym]: true
142
+ base: toRefkey(base),
143
+ member: typeof members[0] === "string" ? members[0] : toRefkey(members[0]),
144
+ [REFKEYABLE]() {
145
+ return this;
146
+ }
130
147
  };
131
148
  }
149
+ const lastMember = members.at(-1);
132
150
  return {
133
151
  base: memberRefkey(base, ...members.slice(0, -1)),
134
- member: members.at(-1),
135
- [RefkeySym]: true
152
+ member: typeof lastMember === "string" ? lastMember : toRefkey(lastMember),
153
+ [REFKEYABLE]() {
154
+ return this;
155
+ }
136
156
  };
137
157
  }
158
+ export function inspectRefkey(refkey) {
159
+ const unwrapped = refkey[REFKEYABLE]();
160
+ const text = isMemberRefkey(unwrapped) ? `memberRefkey[${inspectRefkey(unwrapped.base)} -> ${typeof unwrapped.member === "string" ? unwrapped.member : inspectRefkey(unwrapped.member)}]` : `refkey[${unwrapped.key}]`;
161
+ return text;
162
+ }
163
+ export function unresolvedRefkey(refkey) {
164
+ return `<Unresolved Symbol: ${inspectRefkey(refkey)}>`;
165
+ }
138
166
  //# sourceMappingURL=refkey.js.map